Banyak referensi online sering berbicara tentang nama warna yang tidak didefinisikan pada sistem saya
Itu mungkin didefinisikan, tetapi mereka adalah warna X11; Sekali waktu Anda bisa menemukannya /lib[64]/X11/rgb.txt
. Bagaimanapun, ini adalah pemetaan string (misalnya, dimgray
) ke warna RGB 24-bit (misalnya 0xff8800
atau #ff8800
, yang akan oranye). Ruang 24-bit ~ 16 juta warna, jelas X11 tidak memberi mereka semua nama (CSS 3 menggunakan nama X11, BTW).
Ruang 24-bit digunakan oleh GUI Anda; transparansi diimplementasikan dengan meningkatkan ini ke ruang 32-bit. Namun, git
bukan alat GUI (G = grafis), ini adalah alat TUI (T = terminal), dan terbatas pada warna yang tersedia di terminal normal.
Saya ingin solusi yang berfungsi untuk semua distro, tetapi terutama Debian
Jika Anda ingin ini mudah dibawa-bawa, Anda harus mengandalkan hanya delapan warna ANSI standar :
- hitam
- biru
- hijau
- kuning
- cyan
- putih
- magenta
- merah
Sedikit mengecewakan di sebelah daftar X11, tetapi lebih baik daripada tidak sama sekali! Ini juga memiliki versi "tebal" atau "cerah" yang standar, menghasilkan 16 warna, yang dapat Anda tentukan sebagai, misalnya, "brightyellow" ( atau sebaliknya, "darkyellow").
Sebagian besar terminal GUI 1 memiliki dukungan 256 warna dan beberapa aplikasi terminal dapat memanfaatkan ini. Untuk menguji, pertama-tama Anda perlu mengatur $TERM
variabel dengan tepat:
export $TERM=xterm-256color
Emulator terminal Anda mungkin juga memiliki opsi konfigurasi untuk ini. Warna di bawah protokol warna xterm 256 diindeks:
Nomor indeks ada di sudut kiri bawah. Perhatikan bahwa set di bagian bawah tabel ini (0-15) adalah 16 warna dasar (terang dan gelap) ANSI. Untuk referensi salah satu warna ini di bawah standar, Anda menggunakan color
+ nomor indeks, mis. color40
.
1. "GUI terminal" adalah emulator terminal yang berjalan dalam konteks GUI, seperti xterm, terminal GNOME, dll. Namun, ini tidak membuat aplikasi TUI (seperti git) berjalan di terminal GUI ke dalam aplikasi GUI. Mereka masih aplikasi TUI dan terikat oleh konteks itu.