Tmuxは「「ステータスバーから

Tmuxは「「ステータスバーから

私は毎晩iTerm 2を使用しており、左のステータスバーには次のtmux構成設定があります。

set -g status-left "#[fg=green]#h @ #[fg=cyan]#(extip | awk '{print \"ip \" $1}') #[fg=yellow]#(ifconfig en0 | grep 'inet ' | awk '{print \"en0 \" $2}')  #[fg=red]#(ifconfig tun0 | grep 'inet ' | awk '{print \"vpn \" $2}'"

en0私の外部IPとVPN接続(接続されている場合)を印刷する必要があります。extip私は自分で書いたが長い間手を触れていないツールであり、コマンドラインでうまく動作します(そしてデバッガが接続されていると、このツールが呼び出され、正しく返されることがわかります)。数週間前まではすべてうまくいきましたが、それ以降は<'extip | awk '{print "ip " $1}'' not ready>外部IPアドレスの代わりに表示されます。残りはまだ問題なく完全に実行されます。最初はiTermの夜間の不安定性だと思いましたが、数回のアップデート後もまだ機能しないため、最初からやってはいけないようで単純な偶然かもしれないと思います。機能が停止した理由と再び機能させる方法を教えてくれる人はいますか?

ベストアンサー1

https://github.com/tmux/tmux/issues/733#issuecomment-277230881話す

準備ができていませんメッセージは正常です。 tmux は、コマンドの実行がまだ完了していないことを通知し、コマンドが完了するとすぐに出力を表示します。

Ubuntu 16.04から16.10にアップグレードした後、SSHサーバーをウィンドウステータス形式で表示するスクリプトでこれを確認しました。接続すると点滅します。実際には、次のようにして再現できます。

tmux setw -g window-status-current-format '#(echo `tmux display-message -p "#W #{pane_pid}"`)'

これにより、ssh aslkfdsdkljfslkdsajf接続しようとすると点滅します。

結果が再び出るのに時間がかかると思います。extipこれをORだけ実行するシェルスクリプトに置き換えるとecho 1どうなりますかsleep 1; echo 1

(また、tmuxはそのウィンドウ/ウィンドウでコマンドが1回以上実行されるとキャッシュする必要がありますが、コマンド自体が変更された場合は上記の例のようにキャッシュを使用しません。送信しました。エラーレポートこの場合、「準備完了」コマンドをミュートする方法について説明します。 )

おすすめ記事