Когда я вхожу на какой-то конкретный сервер через SSH (к которому у меня нет доступа администратора), я получаю следующую ошибку: urxvt-unicode: Unknown terminal type
(Я также не хочу постоянно менять тип своего терминала). Это важно, потому что в зависимости от типа терминала я получаю разные цвета при входе в систему.
Можно ли изменить тип терминала только при входе через SSH?
ssh
terminal
terminal-emulator
синтагма
источник
источник
/usr/share/terminfo/
.после входа в систему вы можете выполнить что-то вроде:
источник
Процесс sshd (из sshd (8)) будет читать ...
а также
Вы можете изменить
~/.ssh/rc
настройки TERM, так как этот файл читается перед профилем оболочки.источник
Обычно
TERM
передается из вашей локальной среды, без изменений, в удаленную среду. Если вы установитеTERM
на локальной стороне при вызовеssh
, это будет делать то, что нужно.Например, если удаленный конец имеет описание терминала для
rxvt
(но неrxvt-unicode
), это будет достаточно хорошо для функциональных клавиш и т. Д.Предполагая, что bash или какая-то оболочка совместима с POSIX, вы можете сделать это:
TERM=rxvt ssh
удаленный узелЭто влияет только на
ssh
команду, а не на вашу локальную среду. Я использую эту функцию для обработки типичных машин, для которых нет описанияscreen.xterm-new
. В зависимости от удаленного компьютера может существовать или не быть подходящий пакет, который можно установить для полной базы данных терминала . Некоторые (такие как Solaris и FreeBSD) требуют обходного пути.Дальнейшее чтение:
источник