因此,当我进入远程服务器时,我使用'screen -R myscreen'来阻止任何正在运行的脚本/进程在ssh连接断开时被中断,无论出于何种原因(坏wifi等)。
然而,当启动屏幕时,iTerm2的shell集成不再起作用。
有没有解决方法呢?
答案 0 :(得分:7)
我发现的解决方案是:
代替'屏幕'使用&#t; tmux',执行tmux -CC
打开tmux会话(并在断开连接后使用tmux -CC attach
重新连接。)
这也被描述为here。
要使iTerm2 shell集成在tmux中工作,请修改~/.iterm2_shell_integration.bash
并删除第一行的这一部分:
"$TERM" != screen
所以这个
if [[ "$TERM" != screen && "$ITERM_SHELL_INTEGRATION_INSTALLED" = "" && "$-" == *i* ]]; then
变为:
if [[ "$ITERM_SHELL_INTEGRATION_INSTALLED" = "" && "$-" == *i* ]]; then
答案 1 :(得分:2)
您可以使用触发器复制shell集成的几乎所有功能。请参阅本文档底部附近的触发器部分:https://www.iterm2.com/documentation-shell-integration.html