リモートシステムのtmuxでは、端末の各新しい行は、以前に示された行の末尾にインデントされます。

リモートシステムのtmuxでは、端末の各新しい行は、以前に示された行の末尾にインデントされます。

更新:@NotTheDr01dsのコメントのおかげで解決されました。

元の質問

(私が使用した機械の詳細は最後にあります)

以下を使用してUniのVPNに接続します。

sudo /sbin/modprobe tun && sudo openconnect gucsasa1.cent.gla.ac.uk

私は次のような結果を得ます。

POST https://gucsasa1.cent.gla.ac.uk/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
Connected as 172.20.183.165, using SSL, with DTLS in progress
Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(ECDHE-RSA)-(AES-256-GCM).
Unknown DTLS packet type 13, len 16

その後、SSH経由で接続するために次のコマンドを実行しました。

ssh -X mymachine

接続すると、サーバーの.bashrcはtmux(バージョン2.6)を自動的に起動しようとします。

# Launch tmux
if command -v tmux>/dev/null; then
    [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux new-session -A -s main
fi

しかし、すぐにクラッシュが発生し、ターミナルディスプレイは次のように表示されます(ここでls問題を示すために入力しましたが、これはすべての標準出力で発生します)。

「clear」と入力し、「ls」と入力します。

また、端末に入力した内容も表示できません。つまり、コマンドでEnterキーを押すまで(「ブラインド」入力)、ディスプレイは更新されません。

sshで-Xフラグを使用すると、-YGUIプログラムに問題はありません。これはtmux端末のstdoutレンダリングにのみ当てはまります。

resetインターネット検索後に入力すると「通常の」体験が可能ですが、tmuxサーバーもシャットダウンすることがわかりました。入力結果は次のとおりですls

「reset」と入力し、「ls」と入力します。

tmuxを起動しようとすると、再競合が発生し、元の問題に戻ります。

同じクライアントシステムと同じ端末を使用して別のサーバー(Debian 10およびUbuntu 20.04、bash、およびtmux 2.8を実行)に接続すると、この問題は発生しません。

この問題をどのように解決できるかを知っている人はいますか?私は終日インターネット検索をしてきましたが、成功しませんでした。

クライアントマシン

  • オペレーティングシステム:Lubuntu 20.04
  • ターミナル:セント
  • シェル:バッシュ
  • tmuxセッションで::echo $TERMst-256color
  • 外部tmuxセッション:: echo $TERMscreen-256color

サーバーマシン

  • オペレーティングシステム:Ubuntu 18.04
  • ターミナル:GNOMEターミナル
  • シェル:バッシュ
  • 外部tmuxセッション:echo $TERMst-256color

ベストアンサー1

同様の構成を使用してこれを直接再現することはできませんでしたが、$TERMホストのtermcapと()が一致しない可能性があるという音が聞こえます(コメントで確認しました)。st-256color

私はいくつか試してみます:

  • まず、他の端末でも同じ問題が発生していることを確認してください。この場合はgnome-terminal正常に動作します。

  • 、またはTERMなど、さまざまな設定を試してください。tmux-256colorscreen-256colorxterm-256color

  • (この場合はどのように機能しますか?) export TERM=xterm-256colorホストに接続する前にクライアントから。 TERM=xterm256color ssh -X mymachineまた、動作する必要があります。

おすすめ記事