使用iTerm2'shell集成'和屏幕(通过ssh)的解决方案

时间:2016-11-12 18:49:16

标签: shell iterm2

因此,当我进入远程服务器时,我使用'screen -R myscreen'来阻止任何正在运行的脚本/进程在ssh连接断开时被中断,无论出于何种原因(坏wifi等)。

然而,当启动屏幕时,iTerm2的shell集成不再起作用。

有没有解决方法呢?

2 个答案:

答案 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