Pertanyaan Bagaimana caranya: garis bawah, tebal, miring, coret, warna, latar belakang, dan ukuran di Gnome Terminal?


Bagaimana caranya: garis bawah, tebal, miring, coret, dan warna di Terminal Gnome?

Berani

Miring

menggarisbawahi

̶̶̶̶̶̶̶̶̶̶

Warna

background

font <(mononya jika Anda tidak tahu)

ukuran


40
2017-09-26 16:26


asal


Dan apa sebenarnya yang ingin diubah? Prompt, teks yang Anda masukkan, output dari perintah Anda? - Radu Rădeanu
ekspor PS1 sebenarnya. Meskipun saya suka untuk gema dasar juga. - Akiva
Jika didukung "Pingsan", saya akan beralih. :( - Jürgen A. Erhard


Jawaban:


Terminal ANSI / VT100 dan emulator terminal tidak hanya mampu   menampilkan teks hitam dan putih; mereka dapat menampilkan warna dan diformat   teks terima kasih untuk melarikan diri dari sekuens. Urutan tersebut terdiri dari   Escape karakter (sering diwakili oleh "^ [" atau "Esc") diikuti oleh   beberapa karakter lain: "Esc [FormatCodem".

Di Bash, karakter dapat diperoleh dengan sintaks berikut:

\e
\033
\x1B

enter image description here

Perintah (untuk copy-paste mudah):

echo -e "\e[1mbold\e[0m"
echo -e "\e[3mitalic\e[0m"
echo -e "\e[4munderline\e[0m"
echo -e "\e[9mstrikethrough\e[0m"
echo -e "\e[31mHello World\e[0m"
echo -e "\x1B[31mHello World\e[0m"

Sumber (termasuk semua jenis kode warna latar depan / latar belakang): http://misc.flogisoft.com/bash/tip_colors_and_formatting


52
2017-09-26 16:44



Saya menambahkan tiga lagi untuk ukuran, font, dan latar belakang. Apakah ini mungkin? - Akiva
@Akiva Anda dapat dengan mudah mengubah warna latar belakang (Lihat yang berdedikasi bagian). Mengenai ukuran, saya tidak berpikir itu mungkin. Untuk font, satu-satunya pengaturan adalah nilai gconf global (/apps/gnome-terminal/profiles/Default/font) - Sylvain Pineau
@dashesy: ​​Menurut en.wikipedia.org/wiki/ANSI_escape_code, 53 harus melakukan overline. Tetapi di terminal saya tidak melakukan apa-apa. - Sylvain Pineau
@egmont Saya ingat saya ingin menggunakannya PS1 (di gnome-terminal sebenarnya) karena menggarisbawahi jenis campuran dalam teks di bawah ini membuatnya lebih sulit untuk dibaca, dan tentu saja pemogokan tampak hanya salah. Memiliki garis di sana akan membantu menemukan perintah sebelumnya ketika menggulir ke atas (begitu juga warna). - dashesy
@dashesy Terima kasih, sebenarnya ini adalah kasus penggunaan yang keren :) Proses Gnome-terminal dilacak sini. - egmont


Untuk memperluas jawaban Sylvain, beberapa fungsi pembantu:

ansi()          { echo -e "\e[${1}m${*:2}\e[0m"; }
bold()          { ansi 1 "$@"; }
italic()        { ansi 3 "$@"; }
underline()     { ansi 4 "$@"; }
strikethrough() { ansi 9 "$@"; }
red()           { ansi 31 "$@"; }

Kemudian

enter image description here


19
2018-02-09 13:29





Sesuatu yang belum tercakup adalah kombinasi dari dua atau tiga parameter, e. g. berani dan menggarisbawahi, dalam warna yang telah ditentukan. Ini dicapai dengan sintaks 3-arah, misalnya:

~$ printf "\e[3;4;33mthis is a test\n\e[0m"

akan menyebabkan "ini adalah tes" untuk dicetak dalam warna kuning (33m), miring (3m) DAN digarisbawahi (4m).
Perhatikan itu tidak diperlukan untuk mengulang \e[ setiap saat.
Perhatikan juga bahwa (mirip dengan Sylvain) saya juga menambahkan \e[0m untuk mengatur ulang pengaturan setiap saat, karena jika tidak warna kuning dan gaya font akan tetap aktif di terminal! Tak perlu dikatakan bahwa Anda benar-benar harus berhati-hati untuk mendapatkan ulang skrip ini, karena pengguna yang menggunakan skrip Anda mungkin tidak menyukainya jika skrip Anda secara permanen memodifikasi pengaturan warna + gaya mereka di terminal!


16
2017-12-11 22:24





GNOME Terminal 3.28 (VTE 0.52), memulai debutnya di Ubuntu 18.04 LTS, menambahkan dukungan untuk beberapa gaya termasuk garis bawah keriting dan berwarna seperti yang terlihat pada Kitty, overline seperti yang terlihat di Konsole, dan akhirnya semua orang sangat menyukai atau sangat membenci atribut blink juga.

Ini juga bekerja secara otomatis di emulator terminal berbasis VTE lainnya (misalnya Tilix, Terminator, Xfce4-terminal, Guake, dll.), Mengingat bahwa VTE setidaknya ada pada versi 0,52.

Berikut adalah daftar yang menunjukkan urutan pelarian standar, serta penambahan Terminal GNOME (VTE). Perhatikan bahwa untuk setiap urutan pembukaan saya juga menunjukkan urutan penutupan properti itu saja, bukan generik \e[m atau \e[0m yang menonaktifkan semua mode khusus.

echo -e '\e[1mbold\e[22m'
echo -e '\e[2mdim\e[22m'
echo -e '\e[3mitalic\e[23m'
echo -e '\e[4munderline\e[24m'
echo -e '\e[4:1mthis is also underline (new in 0.52)\e[4:0m'
echo -e '\e[21mdouble underline (new in 0.52)\e[24m'
echo -e '\e[4:2mthis is also double underline (new in 0.52)\e[4:0m'
echo -e '\e[4:3mcurly underline (new in 0.52)\e[4:0m'
echo -e '\e[5mblink (new in 0.52)\e[25m'
echo -e '\e[7mreverse\e[27m'
echo -e '\e[8minvisible\e[28m <- invisible (but copy-pasteable)'
echo -e '\e[9mstrikethrough\e[29m'
echo -e '\e[53moverline (new in 0.52)\e[55m'

echo -e '\e[31mred\e[39m'
echo -e '\e[91mbright red\e[39m'
echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[39m'
echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[39m'
echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) (new in 0.52)\e[39m'
echo -e '\e[38:2:240:143:104mtruecolor, rarely used incorrect format (might be removed at some point)\e[39m'
echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[39m'

echo -e '\e[46mcyan background\e[49m'
echo -e '\e[106mbright cyan background\e[49m'
echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[49m'
echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[49m'
echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) (new in 0.52)\e[49m'
echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[49m'
echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[49m'

echo -e '\e[21m\e[58:5:42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[21m\e[58;5;42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[4:3m\e[58:2::240:143:104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58:2:240:143:104mtruecolor underline (new in 0.52) (might be removed at some point) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'

(*) Nilai Truecolor untuk garis bawah sedikit didekati.

Dan agak aneh yang tidak cukup cocok dalam gambar ini, karena lebih dari fungsi daripada gaya, namun mungkin layak disebutkan di sini, adalah hyperlink dukungan yang dirancang bersama dengan iTerm2, tersedia sejak GNOME Terminal 3.26 (VTE 0.50):

echo -e '\e]8;;http://askubuntu.com\ahyperlink\e]8;;\a'

Ini adalah screenshot yang menunjukkan hasilnya: Rendering in gnome-terminal 3.28


7



Tangkapan layar hasilnya akan menyenangkan, bagi kita yang tidak memiliki versi gnome-terminal / vte ini. - Marius Gedminas
@MariusGedminas Selesai. - egmont