当我通过 ssh 连接到远程主机时,所有内容都只有一种字体/颜色。我希望有像本地一样的颜色,例如可执行文件为绿色,符号链接为蓝色等。这样当我在 ssh 主机上运行 $ git diff 时,它会显示带有颜色的差异 =)
答案1
因为服务器上是 xterm,所以我猜想可能出了问题.bashrc
确实如此!ls --color=auto
仅当您连接到 TTY 时才有效。将所有内容更改为--color
在.bashrc
远程主机上,现在所有内容都变成了漂亮的颜色。
答案2
这对我有用:
ssh -t my_host my_command
-t
是关键。解释:
-t Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a
remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t
options force tty allocation, even if ssh has no local tty.
答案3
似乎颜色已经为我设置好了~/.bashrc
,问题是 ssh 不使用 bashrc 文件。你可以在 ssh 会话中使用 bashrc,方法是将以下内容添加到~/.bash_profile
:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
答案4
当您连接到服务器时,服务器上的 XTERM 环境变量的内容是什么?
~ > export | grep -i term
TERM=xterm