На моем локальном терминале у меня TERM = konsole-256color, но не все удаленные машины, к которым я подключаюсь, имеют это определение.
Можно ли заставить ssh изменить TERM на удаленной машине? Без изменения сценариев .bash * на удаленном компьютере, просто путем изменения конфигурации на моем локальном рабочем столе?
На удаленном компьютере выполните команду echo $ TERM .
источник
man ssh:
Редактировать:
Крысы, я надеялся, что это может быть на местной стороне, все же, если есть желание, есть способ. man ssh_conf:
В зависимости от конфигурации sshd на принимающей стороне это может или не может выполнить требование «без удаленной модификации файла».
источник
Вот мое быстрое и грязное решение, которое я только что бросил вместе. Я бы предпочел что-то лучшее. Я думаю, что я мог бы использовать вместо этого сценарий оболочки. Корректировка
TERM
значений оставлена читателю в качестве упражнения.В идеале, это будет что-то вроде проверки TERM на другой стороне, используя эти
ControlPersist
вещи для предотвращения длительных задержек для нескольких соединений.источник
$TERM
с помощью конструкцииif
/else
, я использую,$(echo -n "$TERM" | sed -e s/tmux/screen/)
чтобы безоговорочно заменить проблемный «tmux» в моем локальном термине на более общепринятый тип «screen» ( источник здесь ).