Я использую WinSSHd на нескольких серверах Windows. Для доступа к ним от моего Mac (и по-видимому, примерно любой Основанный на Unix терминал), я должен установить TERM
переменная среды к cygwin
, например:
TERM=cygwin ssh someserver.com
Я могу также использовать .ssh/config
установить определенные значения по умолчанию для того сервера, такие как другой пользователь и порт не по умолчанию:
host someserver.com
User SomeDifferentDude
Port 22222
Однако я, по-видимому, не могу установить переменные среды тот путь. Я ничего не нашел в man ssh_config
, так или иначе. Существует ли способ установить эмуляцию терминала по умолчанию (и/или какая-либо переменная среды) на хост?
Это поворачивается, там намного лучшее решение — WinSSHd поддерживает Unix terminfo
формат, таким образом, все я должен был сделать, скопировать надлежащее terminfo
файл (в случае OS X: xterm-цвет) в его каталог, и TERM=cygwin
установка становится ненужной.
Вы обычно устанавливали бы переменную среды на стороне сервера.
Если WinSSHd достаточно похож на openssh (обычная реализация Unix ssh), можно определить файл среды (~/.ssh/environment
на Unix) и помещенный TERM=cygwin
там.
Можно также установить переменную среды в файле инициализации оболочки. Так как Вы упоминаете cygwin, это, по-видимому, ~/.bash_profile
где ~
Ваш cygwin корневой каталог. Необходимо установить его условно, в случае, если Вы также используете cygwin на других терминальных типах; например, для установки его, только если Вы входите в систему по ssh (снова, принимая WinSSHd достаточно похож на openssh):
if [ -n "$SSH_CLIENT" ]; then
export TERM=cygwin
fi