Wenn ich per SSH auf meinen Desktop zugreife, ändere ich $TERM
zu ansi
, damit SSH besser mit dem Windows-Terminal funktioniert. Ich habe beschlossen, es zu erstellen ~/.ssh/rc
und zu erweitern TERM=ansi
. Das Problem ist, dass der Terminaltyp nach dem SSH auf meinen Desktop immer noch msys
anstelle von lautet ansi
. Gibt es eine Möglichkeit, dies zu beheben?
Antwort1
Ich konnte die TERM-Einstellung von ~/.ssh/rc aus auch nicht zum Laufen bringen.
Ich könnte es zum Laufen bringen, indem ich Folgendes ändere in/etc/ssh/sshd_config
PermitUserEnvironment yes
gefolgt von einem Neustart von sshd und unter Berücksichtigung der Warnung von man sshd_config
,
Benutzerumgebung zulassen
Gibt an, ob die Optionen ~/.ssh/environment und environment= in ~/.ssh/authorized_keys von sshd(8) verarbeitet werden. Der Standardwert ist „no“. Durch die Aktivierung der Umgebungsverarbeitung können Benutzer in einigen Konfigurationen mithilfe von Mechanismen wie LD_PRELOAD möglicherweise Zugriffsbeschränkungen umgehen.
Dann habe ich die ~/.ssh/environment
Datei erstellt und die Zeile hinzugefügt,
TERM=ansi
habe mich erneut angemeldet und es hat funktioniert.
BEARBEITEN:
Das hilft nicht viel, aber das Festlegen des TERM in der Befehlszeile vor dem Aufruf von ssh (unter Linux) legt den Termtyp am Remote-Ende fest.
TERM=ansi ssh [email protected]
[email protected] ~ $ echo $TERM
ansi
Antwort2
Wenn Sie Ihre Variable einrichten möchten, sollten Sie sie exportieren, damit sie in Ihr Terminal gelangt, das exec
anschließend mit -ed versehen wird:
export TERM=ansi