Всякий раз, когда я подключаюсь по ssh к своему рабочему столу, я меняю $TERM
на ansi
, чтобы ssh лучше работал с терминалом Windows. Я решил создать ~/.ssh/rc
и добавить TERM=ansi
его. Проблема в том, что после того, как я подключаюсь по ssh к своему рабочему столу, тип терминала все еще msys
вместо ansi
. Есть ли способ это исправить?
решение1
Мне также не удалось заставить работать настройку TERM из ~/.ssh/rc.
Я мог бы заставить это работать, изменив следующее в/etc/ssh/sshd_config
PermitUserEnvironment yes
с последующим перезапуском sshd и принимая во внимание предупреждение от man sshd_config
,
РазрешитьПользовательскуюСреду
Указывает, обрабатываются ли параметры ~/.ssh/environment и environment= в ~/.ssh/authorized_keys sshd(8). Значение по умолчанию — «no». Включение обработки среды может позволить пользователям обходить ограничения доступа в некоторых конфигурациях с помощью таких механизмов, как LD_PRELOAD.
Затем я создал ~/.ssh/environment
файл и добавил строку:
TERM=ansi
вошел снова и все заработало.
РЕДАКТИРОВАТЬ:
Это не поможет, но установка TERM в командной строке перед вызовом ssh (в Linux) устанавливает тип термина на удаленной стороне.
TERM=ansi ssh [email protected]
[email protected] ~ $ echo $TERM
ansi
решение2
Если вы хотите настроить переменную, вам следует экспортировать ее, чтобы она попала в ваш терминал, который exec
впоследствии будет изменен с помощью -ed:
export TERM=ansi