Saya ingin perubahan warna latar belakang terminal berdasarkan nama host. Alasan saya untuk ini adalah terutama untuk memiliki dan cara ekstra untuk mengingatkan diri saya sendiri di server mana, jadi saya tidak melakukan sesuatu yang bodoh.
Apakah ada cara saya dapat menggunakan latar belakang terong standar jika saya menggunakan komputer lokal saya, lalu ganti merah jika saya ssh menjadi server web produksi, atau host lain yang dapat saya tentukan?
Jawaban:
Anda dapat menggunakan opsi perintah lokal ssh / config untuk menjalankan perintah setiap kali alias digunakan. saya menggunakan
Ini tergantung pada xtermcontrol dan istilah Anda menjadi xterm. Agaknya ada aplikasi lain untuk istilah lain.
Satu-satunya masalah dengan pendekatan ini adalah bahwa hal itu terjadi ketika Anda memanggil ssh. Tidak ada yang bisa membatalkan perubahan warna. Saya sudah melakukannya dengan membungkus fungsi di sekitar ssh, tetapi itu memiliki kelemahan juga.
sumber
Tampaknya tidak ada fungsi
gnome-terminal
untuk menambahkan tab baru ke jendela yang ada dari baris perintah. Tetapi ada beberapa opsi untuk mencapai apa yang Anda inginkan.Per Profil Perintah
Buat
gnome-terminal
profil baru untuk setiap host yang akan Anda masuki SSH. Jika Anda hanya memiliki beberapa host yang terhubung secara teratur, ini mungkin yang paling sederhana. Setiap profil dapat memiliki judul yang berbeda, warna latar depan, warna latar belakang, perintah kustom dan pengaturan lainnya yang ditentukan. Kemudian Anda dapat menggunakanFile -> Open Tab
untuk membuka tab baru dengan profil yang dipilih.Profil yang Dapat Digunakan Kembali
Buat
gnome-terminal
profil baru yang akan digunakan untuk membuka jendela baru setiap kali Anda ingin terhubung ke host SSH yang berbeda (berdasarkan jawaban AskUbuntu ini yang ditunjukkan Stefano ). Ini akan bekerja dengan baik jika Anda sering terhubung ke berbagai host. Ini tidak akan memungkinkan Anda untuk membedakan antaragnome-terminal
jendela yang berbeda di mana Anda terhubung ke host yang berbeda hanya pada warna latar belakang / latar depan, tetapi Anda akan memiliki judul yang berbeda per jendela.gnome-terminal
profil baru (File -> New Profile
) berdasarkanDefault
profil dan sebut "RemoteHost" (perhatikan, tidak ada spasi di "RemoteHost" untuk membuat perintah lebih mudah).Title and Command
tab, ubah:Initial title:
untuk "Remote Host"When terminal commands set their own titles:
untukReplace initial title
Colors
tab, ubah:Use colors from system theme
Build-in schemes:
untukCustom
Text color:
danBackground color:
warna yang Anda pilih. Ingatlah bahwa beberapa perintah (sepertils
) menggunakan warna untuk output mereka dan Anda tidak ingin memilih warna yang akan membuat sulit untuk membaca output.Close
tombol untuk menyimpan profil baru Anda.gnome-terminal
jendela baru untuk setiap host SSH jarak jauh menggunakan perintahgnome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
. The-t
pilihan menetapkangnome-terminal
judul jendela dan-x
pilihan mengeksekusi sisa baris perintah di terminal. Anda bahkan dapat membuatalias
untuk mempersingkat penekanan tombol total.Garis komando
Saya menemukan entri blog ini dengan skrip berikut yang menggunakan perintah
xdotool
danwmctrl
(mereka tidak diinstal secara default di Ubuntu, jadi Anda mungkin perlu menginstalnya terlebih dahulu) untuk menggunakangnome-terminal
Ctrl+ Shift+ tpintasan keyboard untuk membuka tab baru dignome-terminal
jendela saat ini . Itu dapat dimodifikasi untuk membuka tab baru dengan profil tertentu dan menjalankan beberapa perintah untuk Anda.Lain
Anda bisa menjadi kreatif dan mencoba beberapa hal lain.
Jawaban SuperUser ini pada dasarnya menggunakan sedikit akrobat "script-fu" untuk membuat
gnome-terminal
profil sementara yang digunakan untuk membuka jendela baru. Ini dapat dimodifikasi untuk Anda gunakan.Anda mungkin dapat menggunakan Tanya Jawab StackOverflow ini dan lebih banyak lagi akrobat "script-fu" untuk mengubah
gnome-terminal
judul secara dinamis setiap kali Anda SSH menjadi host jarak jauh. Itu tidak akan sekokoh perubahan warna latar / latar depan, tetapi akan lebih baik daripadaTerminal
judul standar sepanjang waktu.sumber
Ini akan bekerja di Gnome, JIKA Anda bersedia menggunakan jendela terminal gnome baru untuk setiap sesi ssh.
Buat profil baru (dengan warna latar berbeda) yang disebut "Remote"
Masukkan yang berikut ini ke
.bash_aliases
, atau.bashrc
Sekarang
sshc remote-machine
membuka baru sesi gnome-terminal dengan "Remote" profil. ini akan membedakan antara profil lokal dan jarak jauh.Untuk mengakomodasi beberapa profil / host, buat beberapa profil dan tempatkan sesuatu seperti ini di
.bash_aliases
:Sekarang
sshc Production
akan membuka jendela sesi baru menggunakan profil "Merah",sshc Test
akan membuka jendela sesi baru menggunakan profil "Hijau", dan host lain akan menggunakan Profil "Default".sumber
Mengumpulkan semua informasi dari situs stack *** di sini adalah solusi paling sederhana yang saya temukan untuk terminal mint mate + mate (sama seperti untuk gnome).
sudo apt get install xdotool
Sekarang Anda dapat memodifikasi / etc / ssh / ssh_config, sehingga dapat mengubah profil setelah setiap sesi ssh dibuat:
Sekarang, setelah setiap koneksi ssh dibuat di terminal, profil akan berubah dan Anda tidak akan pernah memasukkan pembaruan sql yang tidak diinginkan ke basis data produksi lagi :)
Namun, tidak ada solusi mudah untuk mencapai kembali ke profil default setelah koneksi ssh ditutup. Tapi ini terlihat cukup bagi saya, dan saya tidak menggali untuk info lebih lanjut.
sumber