如果我ssh到服务器,iTerm2会丢失“ls”颜色


1

ls当我ssh到服务器时,为什么我会失去'颜色'?

我希望保留这些颜色。这可能吗?应该在服务器端做些什么吗?


1
你跑的时候有用ls -G吗?请问服务器的外壳有CLICOLORLSCOLORS设置?(即echo $LSCOLORS
slhck

ls -G不显示颜色。如果我做ls --color我会得到一些。我不知道服务器shell是否设置为CLICOLOR和LSCOLORS。如果我回复CLICOLOR和LSCOLORS,我得到一个没有显示任何内容的空行。
MEM

Answers:


2

ls默认情况下,服务器不使用彩色命令。

你可以alias你的ls命令总是使用颜色在服务器的外壳配置文件(例如一个~/.bashrc)与--color = auto选项。

alias ls='ls --color=auto'

一些补充说明:

  • 如果服务器运行Linux,上面应该足以让颜色正常工作。您可以使用LSCOLORS生成器通过添加以下内容手动指定shell配置文件中的颜色:

    export LS_COLORS=…
    
  • 如果服务器运行BSD / OS X,您还需要以下内容ls来自动显示颜色(您甚至不需要指定别名):

    export CLICOLORS=1
    

    此外,这里不是LS_COLORS,但是LSCOLORS,语法不同(参见LSCOLORS生成器输出)。

    export LSCOLORS=…
    

谢谢。我相信我没有写入权限,但我正在使用iterm2进行曝光。如果我做ls --color会使用什么颜色?我们可以做一些像导出TERM = xterm-color的东西,或者我们不能这样做,因为这是在我们的远程机器上?
MEM

1
它将使用该计算机上指定的默认颜色。您可以尝试在iTerm的首选项中更改颜色的含义。
slhck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.