使用iTerm2"外壳集成"和屏幕(通过ssh)的解决方案



所以当我ssh到远程服务器时,我使用'screen -R mysscreen '来防止任何正在运行的脚本/进程在ssh连接断开时被中断,无论出于什么原因(坏wifi等)

但是,当启动屏幕时,iTerm2的shell集成不再工作。

有什么解决方法吗?

我找到的解决方案是:

用'tmux'代替'screen',通过执行tmux -CC打开tmux会话(并使用tmux -CC attach在断开连接后重新连接)。

要使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

您可以使用触发器来复制shell集成的几乎所有特性。请参阅本文档底部的触发器部分:https://www.iterm2.com/documentation-shell-integration.html

最新更新