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

Mot*_*sel 4 shell iterm2

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

但是,在启动屏幕时,iTerm2的shell集成不再起作用.

这有什么解决方法吗?

Mot*_*sel 8

我找到的解决方案是:

而不是'screen'使用'tmux',通过执行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

  • 在 iTerm 3.2.9 中,条件为 `"$ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX""$TERM" != screen`。因此,您现在只需在“.profile”中的“source ~/.iterm2_shell_integration.bash”之前设置“ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=yes”即可。 (3认同)
  • 对于“屏幕”用户有什么新的解决方案吗?谢谢 (2认同)
  • 这并没有回答这个问题,哈哈,“如何让 gnu screen 与 Iterm 一起工作?” >> “使用 Tmux” 嗯,这不是我想知道的 (2认同)