Bagaimana saya bisa mendaftar nama warna yang tersedia?


23

Saya mencoba menambahkan beberapa warna ke konfigurasi git saya dan saya ingin tahu nama warna apa yang tersedia di terminal.

  • Saya hanya ingin menggunakan warna dengan nama sehingga lebih mudah bagi orang lain untuk mengerti
  • Saya tidak ingin menambahkan warna baru - Saya hanya ingin memilih dari nama yang telah ditentukan
  • Saya ingin solusi yang berfungsi untuk semua distro, tetapi terutama Debian
  • Akan menyenangkan melihat warna yang ditunjukkan namanya

Banyak referensi online sering berbicara tentang nama warna yang tidak didefinisikan pada sistem saya, jadi saya hanya perlu cara untuk melihat apa opsi default saya.


Ini adalah referensi yang bermanfaat. Saya suka skrip shell. misc.flogisoft.com/bash/…
doub1ejack

Jawaban:


25

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 0xff8800atau #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, gitbukan 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 $TERMvariabel dengan tepat:

export $TERM=xterm-256color

Emulator terminal Anda mungkin juga memiliki opsi konfigurasi untuk ini. Warna di bawah protokol warna xterm 256 diindeks:

bagan warna xterm

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.


Maaf, daftar X11 mungkin menyesatkan. Saya tidak tertarik pada jenis GUI - hanya warna yang tersedia di terminal.
doub1ejack

Nah, begitulah. Menganggap perangkat keras normal, terminal apa pun yang Anda temui di linux memiliki 16 warna, masing-masing delapan di atas dengan versi "terang / berani" sesuai standar ANSI (walaupun, misalnya, biasanya hanya kuning cerah yang terlihat kuning; yang normal terlihat oker, dll). Jadi WRT untuk git, Anda dapat menggunakan 8. Yang saya maksud adalah Anda tidak dapat menggunakan sembarang warna yang Anda lihat di layar. Antarmuka terminal adalah batasan. Delapan warna dasar. Itu saja.
goldilocks

2
@ doub1ejack: Coba tebak? Saya perhatikan kemarin bahwa ada standar untuk penamaan warna pada terminal 256-warna, dan ada beberapa aplikasi TUI yang menggunakannya, walaupun saya tidak memeriksa git. Lagi pula, saya sudah mengedit beberapa hal tentang ini.
goldilocks

Saya pikir hanya ada 8 warna dan 8 versi cerah. Mengatakan mereka 16 warna secara teknis tidak benar?
jiggunjer

1
Saya membaca jawaban ini, menunggu sampai saya mendapatkan caranya. Aku hampir sampai, dan jawabannya berhenti.
ctrl-alt-delor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.