Sshを介してリモートホストに接続すると、すべてが単一のフォント/色になります。私が地元でやっているような色を持ちたい。実行可能ファイルは緑色、シンボリックリンクなどは青色
サーバー上のxtermであったため、.bashrc
に問題があると考えました
本当に! ls --color=auto
は、TTYに接続している場合にのみ機能します。すべてをリモートホスト上の--color
の.bashrc
に変更すると、すべてがきれいな色になります。
私にとって~/.bashrc
にはすでに色が設定されているようで、問題はsshがbashrcファイルを使用しないことです。次を~/.bash_profile
に追加することで、sshセッションでbashrcを使用できます。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
サーバーに接続したときのサーバー上のXTERM環境変数の内容は何ですか?
~ > export | grep -i term
TERM=xterm
私の場合、欠落している部分には、ls、grepなどの色が付けられていました。これは、.bashrcファイルにエイリアスを追加することで追加できます。
alias ls='ls --color=auto'
alias grep='grep --color=auto'
等.
~./bashrc
設定(ローカルサーバーとリモートサーバーの両方)を変更しようとしましたが、うまくいかないようでした。
それから、リモートサーバーの~/.bashrc
は、ssh経由で接続しても実行されないことに気付きました。そこで、リモートサーバーの~/.bashrc
でputtinng if [ -f ~/.bashrc ]; then . ~/.bashrc fi
で実行する~/.bash_profile
を作成しました。https://stackoverflow.com/questions/820517/bashrc-at-ssh-login )。
そのため、このソリューションでは~/bashrc
ファイルを直接変更する必要はありませんでしたが、リモートサーバーの~/bash_profile
ファイルを変更して、リモートサーバーの~/bashrc
ファイルを実行する必要がありました。
直接ログインしている間は色が正常に機能したため、ファイルforce_color_Prompt=yes
の~/.bashrc
行のコメントを外しました。
# uncomment for a colored Prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the Prompt
force_color_Prompt=yes
(Ubuntu 18.04 LTS)
私の状況では、最近chef-local
をインストールし、.bash_profile
に行を追加するように要求しました。サインインすると、.bashrc
が表示されたため、.bash_profile
がロードされなくなります。
私がしたことは、.bash_profile
に行を追加することでした:
source .bashrc
export PATH="/opt/chefdk/embedded/bin:$PATH"
ログアウトしてからログインし直して、色付きの端末を手に入れました。
上記の「マイクE」からのコメントには、答えが含まれていますが、読むのが難しいだけでなく、.bashrc
をあまり使用しない場合の彼の意味を理解するのも難しいです-私はしません。
少しねじ込んだ後、私はsshでログインしていたマシンで~/.bashrc
の次の行を変更することで、望ましい結果を得ました。
# set a fancy Prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_Prompt=yes;;
esac
に:
# set a fancy Prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_Prompt=yes;;
xterm) color_Prompt=yes;;
esac
最初の行の「色」の後に「| xterm」を追加したり、sshが「xterm-color」の代わりに「xterm」を使用してそれを変更した理由を調べたりして、それを変更できたと思いますが、これはうまくいきます他にやることがあります。
TERM=dumb
が原因でプロキシ経由で接続すると色が消えていたので修正しました。
ssh myproxy "ssh pi@localhost -p 5000 -tt 'TERM=xterm bash'"