每当我 ssh 到桌面时,我都会更改$TERM
为ansi
以便 ssh 在 Windows 终端上运行得更好。我决定创建~/.ssh/rc
并添加TERM=ansi
它。问题是,在我 ssh 进入桌面后,终端类型仍然msys
是ansi
.有没有办法来解决这个问题?
答案1
我也无法从 ~/.ssh/rc 获取 TERM 设置。
我可以通过更改以下内容来使其工作/etc/ssh/sshd_config
PermitUserEnvironment yes
然后重新启动 sshd 并考虑来自 的警告man sshd_config
,
允许用户环境
指定 ~/.ssh/environment 和 ~/.ssh/authorized_keys 中的environment=选项是否由 sshd(8) 处理。默认为“否”。启用环境处理可以使用户能够使用 LD_PRELOAD 等机制绕过某些配置中的访问限制。
然后我创建了~/.ssh/environment
文件并添加了这一行,
TERM=ansi
重新登录并成功。
编辑:
这不会有太大帮助,但在调用 ssh(在 Linux 上)之前在命令行上设置 TERM 确实会在远程端设置术语类型。
TERM=ansi ssh [email protected]
[email protected] ~ $ echo $TERM
ansi
答案2
如果你想设置你的变量,你应该导出它,这样它就会进入你的终端,exec
然后是 -ed 的:
export TERM=ansi