TMUXと端末の色はローカルとSSHによって異なります。

TMUXと端末の色はローカルとSSHによって異なります。

私はlocalhostのtmuxを使ってターミナルで素晴らしいテーマを持つことができる多くのドットファイルを持っています。私はキティ、フィッシュ、tmuxを使用します。色を正しく定義し、全体的な一貫性を維持するために、次のファイルを使用します。

  • .X リソース
  • 子猫のプロフィール
  • fish_tip.fish
  • .tmux.conf

私のローカルホストでは、すべてがとてもきれいに見えます。 ここに画像の説明を入力してください。

また、同じArch + Fish + tmuxを実行し、まったく同じドットファイルを使用するリモートサーバーがあります。しかし、SSH経由でサーバーに接続すると、すべてがまったく異なるように見えます。

ここに画像の説明を入力してください。

Googleで検索してみると、いくつかの奇妙な設定を追加するためのチュートリアルがたくさんありますが、それらのどれも実際に何が起こっているのかを説明していません(そして見てわかるように何も機能しません)。

(実際に理由を理解していないまま)操作しようとした方法は次のとおりです。

  • tmux.confに追加:
set^[[3m -g default-terminal "xterm-kitty"
set-option^[[3m -ga terminal-overrides ",xterm-kitty*:Tc"
  • xterm-kitty terminfoファイルを追加しました。
  • TERMログイン時に環境変数をxterm-kittyに変更してください。

これらすべてがどのように機能するかを指摘するためのリソースがあれば幸いです!ありがとうございます!

編集する:

TERM明確にするために私が持っている価値は次のとおりです。

  • ローカルホストから:xterm-kitty
  • tmux内のlocalhostから:xterm-256color
  • SSHを開いた後、リモートホストから直接:xterm-kitty
  • tmuxのリモートホストから:xterm-256color

すべてのファイルはgitリポジトリを使用して同期され、すべてのバージョンは同じです。terminfoに関連する同じファイルを転送しました。xterm-kittyまた、これスクリプトでは、すべての色が正しく表示され、両方のホストで同じであることがわかります。

また、tmuxなしでリモートシステムにログインすると、異なる色の組み合わせが生成されることも確認しました(どこでも同じ魚プロファイルを使用)。

ここに画像の説明を入力してください。

ベストアンサー1

default-terminalTERMtmux内でデフォルト値を設定します。に設定しないでくださいxterm-kitty。 tmuxはxtermやkittyではありません。tmux-256colorコンピュータに存在する場合(選択)に設定しinfocmp tmux-256color、そうでない場合に設定しますscreen-256color

TERM同様に、すべての端末のシェル構成ファイルに同じ項目を設定しないでください。

あなたが持っている行は、tmuxに設定をterminal-overrides見ると、端末がTrue(RGB)色をサポートしていることを意味します(それで)。TERMxterm-kittyTc

TERMinside tmux は tmux 内のプログラムに彼らが言う内容 (tmux) を知らせます。TERM外部tmuxは、tmuxに通信しているオブジェクト(この場合はキティ)を知らせます。

ローカルで実行されているがSSHを介して実行されない場合、最も可能性の高いシナリオは次のとおりです。

  • TERM外部tmuxとは異なります。echo $TERMSSHを介してtmuxを起動する直前に、ローカルコンピュータに同じコンテンツが表示されますか?

  • tmux設定は実際には同じではありません。確かですか?ある場所で必要な場合はterminal-overrides別の場所でも必要で、そうでなければ必要ありません。

  • xterm-kittyそれが存在し、両方のコンピュータに同じですか?確認してくださいinfocmp xterm-kitty

  • 他のtmuxバージョン。彼らは同じだと確信していますか?確認してくださいtmux -V

おすすめ記事