iSshをリモートサーバに使用する場合、ssh接続が切断されたときに実行中のスクリプト/プロセスの中断を防ぐために 'screen -R myscreen'何らかの理由で(悪いwifiなど)。iTerm2のシェル統合とスクリーン(ssh経由)を使用するためのソリューション
しかし、画面を開始すると、iTerm2のシェル統合はもう機能しません。
これに対応する方法はありますか?
iSshをリモートサーバに使用する場合、ssh接続が切断されたときに実行中のスクリプト/プロセスの中断を防ぐために 'screen -R myscreen'何らかの理由で(悪いwifiなど)。iTerm2のシェル統合とスクリーン(ssh経由)を使用するためのソリューション
しかし、画面を開始すると、iTerm2のシェル統合はもう機能しません。
これに対応する方法はありますか?
FYI私が見つけた解である:(および切断後に再アタッチするtmux -CC attach
を使用して)
代わり「スクリーン」のTMUXセッションを開くために、tmux -CC
を実行することにより、「TMUX」を使用 これもです記載されているhere。 、tmuxの中iTerm2シェル統合作業を行う~/.iterm2_shell_integration.bash
を変更し、最初の行のこの部分を削除するには
: "$TERM" != screen
だから、この
if [[ "$TERM" != screen && "$ITERM_SHELL_INTEGRATION_INSTALLED" = "" && "$-" == *i* ]]; then
は次のようになります。
if [[ "$ITERM_SHELL_INTEGRATION_INSTALLED" = "" && "$-" == *i* ]]; then
シェル統合のほとんどすべての機能を複製するようにトリガーします。このドキュメントの末尾にあるトリガーセクションを参照してください。https://www.iterm2.com/documentation-shell-integration.html
TY!これは、私がbashの履歴、tmuxとitermを共有したときにこのエラーが出るという問題を修正しました。 "-bash:iterm2_preexec_invoke_cmd:コマンドが見つかりません"。私は多くのテストをしていませんが、これはすぐにうまくいくようになっています... – SebK
しかし、 'tmux'の代わりに' tmux -CC'によって開始されたセッションは 'tmux'ではなく' screen'によく似ています。するのは難しい... –