Хорошо, если вы настаиваете на вызове ssh из командной строки, вот кое-что, что должно помочь: напишите сценарий оболочки и сохраните его где-нибудь как colorssh.sh
. Когда он запускается, он просматривает свои аргументы для соответствующего хоста и соответствующим образом устанавливает цвета активного окна терминала. Затем он вызывает настоящий ssh, передавая эти аргументы. Когда ssh возвращает исполнение скрипту, он возвращает цвета в нормальное состояние.
Поскольку вы, вероятно, хотите продолжать вводить ssh
вместо colorssh.sh
, вы можете установить псевдоним в своем .profile
.
Что касается самого сценария? Вот кодез:
#!/bin/bash
function setTerminalColors {
osascript \
-e "tell application \"Terminal\"" \
-e "tell selected tab of front window" \
-e "set normal text color to $1" \
-e "set background color to $2" \
-e "end tell" \
-e "end tell"
}
for ARG in $*
do
case "$ARG" in
host.example.com)
[email protected])
setTerminalColors "{0,65535,65535}" "{65535,0,0}"
;;
[email protected])
setTerminalColors "{65535,65535,0}" "{0,65535,0}"
;;
esac
done
ssh $*
# back to normal
setTerminalColors "{0,0,0}" "{65535,65535,65535}"
Вам придется отредактировать скрипт, чтобы добавить новые комбинации хоста/цвета.
Обратите внимание, что цвета должны быть указаны как тройка целых чисел RGB в диапазоне 0-65535. Я знаю, странно, да?
Технически часть AppleScript изменяет устаревшие свойства. Вы должны изменить цвета окна с помощью его свойства «набор настроек», но я подозреваю, что это изменит все окна, использующие этот набор настроек, а не только текущее.
Кроме того, этот скрипт предполагает, что черный на белом фоне является вашей «нормальной» настройкой. Если это не так, вы можете изменить сценарий, чтобы сохранить текущие значения перед запуском или использовать цвета из набора настроек по умолчанию.
person
benzado
schedule
15.12.2009