Terminal tidak menampilkan warna untuk daftar direktori

9

Saya tidak tahu mengapa sesi bash saya tidak menunjukkan warna. Saya sudah mencoba Terminal dan juga iTerm.

Saya telah mencoba:

  1. ls -G
  2. Pengaturan export CLICOLOR=1danexport LSCOLORS=GxFxCxDxBxegedabagaced
  3. Menggunakan berbagai tema seperti solarized dan sesuatu yang lain

Versi perangkat lunak saya adalah:

  1. bash: GNU bash, versi 3.2.51 (1) -release (x86_64-apple-darwin13)
  2. osx: 10.9.2

Saya sudah menginstal Homebrew

Saya tidak tahu informasi apa yang mungkin bisa membantu. Saya menghabiskan banyak waktu di shell, masalah ini menjadi sangat mengganggu :)

edit: dalam preferensi terminal, saya memiliki 'Deklarasikan terminal sebagai: xterm-256color' dan 'Tampilkan warna ANSI' bersama 'Gunakan warna-warna cerah untuk teks tebal'

Shahbaz
sumber
Coba jalankan printf '\e[32mtest\n', jika itu berhasil maka itu masalah ls.
0942v8653
Saya juga mengalami masalah ini. Untuk memperluas apa yang telah Anda coba, masalahnya tetap dengan perintah glut coreutils. Komentar di atas berhasil mengubah warna prompt. Masalah saya tampaknya dengan tema SolarizedDark, karena mengubah warna di Terminal.app preferensi di tema lain berfungsi.
agweber

Jawaban:

4

Saya akan menyarankan untuk menginstal GNU Core Utilities melalui Homebrew, yang akan memberi Anda versi "Linux" ls(bukan versi FreeBSD yang disertakan dengan OS X), serta alat-alat canggih lainnya.

brew update
brew install coreutils

Anda kemudian dapat menunjukkan warna dengan:

gls --color

Selain itu, baca peringatan untuk mengkonfigurasi PATH Anda sehingga Anda dapat menggunakan perintah seperti glsdengan nama normalnya, yaitu ls:

$ brew info coreutils
coreutils: stable 8.23 (bottled)
https://www.gnu.org/software/coreutils
Conflicts with: ganglia, idutils
/usr/local/Cellar/coreutils/8.23 (214 files, 10M)
  Poured from bottle
/usr/local/Cellar/coreutils/8.23_1 (214 files, 10M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/coreutils.rb
==> Dependencies
Build: xz 
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

    MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
Dieseltime
sumber
Perlu dicatat bahwa gls (GNU ls) tidak mengaktifkan warna hanya dengan mendefinisikan variabel lingkungan CLICOLOR seperti yang dilakukan oleh perintah BSD ls default dari OS X. Juga, sakelar -G untuk mengaktifkan warna dalam BSD ls tidak berfungsi untuk GNU ls juga tidak --color berfungsi untuk BSD ls. Anda HARUS mendefinisikan alias agar ls menambahkan saklar --color jika Anda ingin semua perintah ls Anda diwarnai. Untuk referensi dari "man ls" (rasa BSD): "-G Aktifkan keluaran berwarna. Opsi ini setara dengan mendefinisikan CLICOLOR di lingkungan."
Mark Edington
Menggunakan gls --color setelah menginstal coreutils, saya mendapatkan pewarnaan default, bukan warna dari var LSCOLORS saya. Karena saya telah mengarahkan jalur saya ke default ke alat gnu dengan nama mereka yang biasa, saya hanya melakukan rm which lsuntuk kembali ke / bin / ls yang berfungsi dengan baik. Anehnya ini mengacaukan shell saat ini, yang tidak dapat menemukan ls lagi, tetapi shell baru bekerja dengan baik. bash tidak memiliki pengulangan, jadi saya tidak mengerti mengapa itu ditutup pada / usr / local / opt / coreutils / libexec / gnubin / ls
Aaron McMillin
1

Di Terminal Temrinal> Preferensi pilih profil untuk jenis sesi yang Anda gunakan dan periksa di bawah tab Advanced pernyataan terminal apa yang Anda gunakan. Kemungkinan besar yang dipilih tidak mendukung pewarnaan ANSI. xterm-256color harus mendukung apa yang Anda harapkan.

KolonelMode
sumber
Saya baru saja memeriksa, terminal sudah diatur ke xterm-256color (pertanyaan diperbarui untuk mencerminkan ini dan info lainnya)
Shahbaz