Tidak ada warna terminal di Ubuntu Server 12.04

13

Saya sudah mencoba semuanya dari pertanyaan duplikat ini tetapi saya masih belum bisa membuatnya bekerja. Satu-satunya perbedaan dari pertanyaan itu adalah bahwa ketika saya berlari env | grep TERMsaya mendapatkan TERM=xtermalih-alih TERM=xterm-color. Saya tidak berpikir itu penting, mereka tampaknya cukup dipertukarkan.

Namun yang saya tidak mengerti adalah bahwa satu-satunya hal yang hilang adalah warna pada prompt yang sebenarnya. Misalnya, jika saya menjalankan nanodan mendeteksi sintaks file, misalnya jika itu skrip, saya mendapatkan warna. Juga ketika saya menjalankan envperintah yang disebutkan sebelumnya, TERMteks sebenarnya berwarna merah.

Jadi warnanya jelas bekerja, hanya saja saya tidak mendapatkan folder berwarna, file yang dapat dieksekusi dan sebagainya. Saya pikir itu juga mungkin terjadi sehubungan dengan menginstal Ruby / RVM. Saya sudah mencoba mengganti .bashrc. ( edit Namun, saat membuat pengguna baru, pengguna itu memiliki warna yang berfungsi)

Saya kira ini memiliki solusi yang cukup sederhana tetapi saya sudah muak dengan googling ini sekarang sehingga saya sangat menghargai info tentang bagaimana pengaturan pewarnaan bekerja di terminal dan bagaimana ini bisa terjadi. Terima kasih!

pzkpfw
sumber

Jawaban:

31

Anda tidak memiliki masalah dengan pengaturan terminal atau terminal Anda. Coba ini:

ls --color

Berhasil, bukan?

Kemungkinan besar, Anda telah mengganti .bashrc Anda. Anda dapat menemukan .bashrc asli, yang misalnya mendefinisikan alias ls='ls --color=auto'dan juga promtpts warna /etc/skel/.

Salin yang baru .bashrcdengan:

mv ~/.bashrc ~/.bashrc.old
cp /etc/skel/.bashrc ~/.bashrc
Januari
sumber
Saya memiliki lalias .bash_profile, jadi saya mengubahnya sekarang menjadi alias l='ls -l --color'. Mengetik lsekarang memberi saya daftar berwarna, tetapi lsmasih kurang warna, meskipun saya telah melihat .bashrcfile secara khusus memiliki alias untuk itu sedang diwarnai. Ugh, terima kasih banyak atas jawaban Anda, saya harus membaca beberapa dokumentasi bash.
pzkpfw
1
ls (program default) tidak menampilkan warna kecuali Anda menentukan opsi (--color = auto). Jika Anda ingin ini menjadi perilaku default, buat alias ls='ls --color=auto'(seperti kebanyakan orang).
Januari
Ya, apa yang mengganggu saya adalah bahwa ls memang menunjukkan warna pada awalnya (saya pikir itu default di Ubuntu Server). Nevermind, sekarang saya tahu cara memperbaikinya :)
pzkpfw
1
Default di /etc/skel/.bashrc adalah untuk setalias ls='ls --color=auto'
Januari
1

Di Ubuntu, di .bashrc ada bagian yang menyatakan:

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
# force_color_prompt=yes

Jadi semua yang diperlukan adalah menghapus tanda komentar pada force_color_promp=yes

zevij
sumber
Saya juga menyarankan menunjukkan ke @pzkpfw untuk logout dan login lagi untuk melihat perubahan dalam tindakan.
dgonzalez