私はGNOME端末(またはxterms!)の最後の終了コードを緑/赤にするように求めるメッセージを設定する方法を知っています。
vi .bashrc
export PROMPT_COMMAND='PS1="`
if [[ \$? = "0" ]];
then echo "\\[\\033[0;32m\\]";
else echo "\\[\\033[0;31m\\]";
fi`[\u@\h \w]\[\e[m\] "'
export PS1
写真の中:
しかし、リモートサーバーにログインすると、これらの色設定は機能しません!
リモート端末で動作するようにどのように設定しますか?残念ながら、上記の行をリモートサーバーに追加することはできません.bashrc
。
答え1
リモートシェルに表示されるプロンプトを変更しようとしています。もちろん、これを行うには、リモートシェルの設定ファイルです.bashrc
。
ファイルを変更したくない場合は、実際にその共有アカウントを使用する必要があり(共有アカウントに必要な苦情を挿入して)、SSHを介してログインしている場合(ab)、次のことがcommand=
できます。~/.ssh/authorized_keys
文書。コマンドオプションを含むキーストロークは、指定されたコマンドの実行にのみ適用されます。ただし、Authorized_keysファイルのコマンドランタイム環境変数はカスタムSSH_ORIGINAL_COMMAND
コマンドに設定されます(対話型セッションの場合は空です)。したがって、次のものを使用できます~/.ssh/authorized_keys
。
command="HOME=$HOME/.HOME.lance;
if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then
eval \"$SSH_ORIGINAL_COMMAND\";
else exec \"$SHELL\"; fi" ssh-rsa AAAA…== [email protected]
読みやすいように上記の改行を追加しましたが、実際にはすべてauthorized_keys
ファイル内の1行にする必要があります。
次に、お気に入りの設定ファイルを適切なディレクトリ.HOME.lance
に保存します。
場合によっては、明示的に設定ファイルを取得するか、シェルコマンドを実行できます。-t
対話型コマンドを実行するには、端末を持つオプションを渡します。
ssh shared-account@server "LS_COLORS='$LS_COLORS' ls --color"
ssh -t shared-account@server '. ~/.profile.drew; exec zsh'
リモートコンピュータのファイルを編集またはコピーする場合は、ネットワークファイルシステムを使用できます。SSHFS(UNIXクライアントの場合)または徒歩旅行者(Emacsの場合)ローカル環境で快適に作業できます。
答え2
リモートシステムにログインすると、新しいシェルが作成されます。特にリモートシステムのシェルです。他のコンピュータで好みのシェル設定を維持するには、そのコンピュータでもデフォルト設定を指定する必要があります。これは、リモートサイトの.bashrcファイルにコマンドシェルプロンプトを設定する必要があることを意味します。こうしてデザインされました。
ちなみに、リモートコンピュータにログインすると、リモートコンピュータは、あなたの端末があなたの端末よりも性能が悪いと思うかもしれません。 PS1が正しく設定されている場合は、新しいコンピュータを設定するときにTERM変数を設定してみてください。リモートシステムは通常、すべてのリモートログインに対して非常に愚かな端末を想定していますが、実際にはまともな端末をサポートし、合理的な設定を使用するように偽にすることができますが、この環境変数をxterm-colorなどの可能なものに強制することができます。