tmux 会阻止我的 Mac 上的某些内容

tmux 会阻止我的 Mac 上的某些内容

我真的很喜欢tmux并且经常使用它,所以我在我的中设置了以下内容.zprofile

[[ $TERM != "screen" ]] && exec tmux

因此,当我打开新窗口时,他们tmux会在我身边。

tmux然而,运行时会出现一些奇怪的情况:

  • gnuplotoctave而其他需要启动X11来绘制图形的程序似乎无法这样做(或者需要真的长 - 10 分钟左右)。当X11已经运行时,他们就没有这个问题了。
  • 我编写的一些脚本用于osascript在发生某些情况时向我发出通知:

    osascript -e 'display notification "some text" with title "Foo"'
    

    这在tmux不活动时工作正常,但在会话内调用时无法执行任何操作tmux。 (注意其他osascript动作工作)

有谁知道为什么会这样以及可以采取什么措施来解决这个问题?

笔记:我已经发布了一个关于第一个问题的类似问题前段时间在 apple.se 网站上但没有得到答复。第二个问题最近才出现,所以我想我应该在这里碰碰运气。

答案1

尝试移至[[ $TERM != "screen" ]] && exec tmux您的.zshrc文件。这样该命令将仅在交互式 shell 中运行。

交互式 shell 只是您用来键入命令并从这些命令获取输出的任何 shell 进程。也就是说,您与之交互的外壳。

答案2

您的第二个问题似乎是 tmux 以及通过osascript.您可以安装一个包装器来解决该问题。

你会想要安装重新附加到用户命名空间通过 Homebrew 或 MacPorts 并将调用包装到osascript

reattach-to-user-namespace osascript  -e 'display notification "Hello, world"'

相关内容