Inilah yang saya lakukan di Mac saya. Untuk setiap server, saya menambahkan entri untuk itu di file ~ / .ssh / config saya, mis
Host app13
HostName server.example.com
User tom
PermitLocalCommand yes
LocalCommand osascript %d/bin/change_terminal_colours.scpt 12 35 35
Applescript ini dipicu setelah sesi SSH dibuat. Ini menetapkan warna latar belakang terminal ke nilai RGB yang disediakan (atau kembali ke default jika tidak ada nilai warna yang disediakan). Bagian yang berpotensi rumit adalah mencegat akhir sesi SSH untuk mengatur warna kembali ke default. Untuk itu, saya membuat skrip shell berikut sebagai ~ / bin / ssh untuk menggantikan perintah ssh default. Ini pada dasarnya memotong dan membungkus setiap panggilan ke perintah SSH. Saya mencoba menggunakan aliasing dan fungsi, tetapi solusi ini bekerja paling baik:
#!/bin/bash
/usr/bin/ssh $@
osascript ~/bin/change_terminal_colours.scpt
Inilah sumber untuk skrip change_terminal_colours.scpt . Letakkan ini di direktori ~ / bin Anda juga:
on run argv
tell application "Terminal"
# NOTE: Color values range from 0 to 65535.
if (count of argv) > 0 then
set backgroundColor to {(item 1 of argv) * 256, (item 2 of argv) * 256, (item 3 of argv) * 256}
else
set backgroundColor to background color of default settings
end if
try
set background color of (selected tab of front window) to backgroundColor
end try
end tell
end run
Saya menulis solusi ini seminggu yang lalu dan telah menggunakannya sejak saat itu. Saya berharap orang lain menemukannya bernilai. Saya merasa ini berfungsi lebih baik daripada solusi apa pun yang saya temukan di Googling.