在 OS X 上的 tmux 下运行时,“subl -w”永远不会解除阻止

在 OS X 上的 tmux 下运行时,“subl -w”永远不会解除阻止

在我的 Mac 上,我已$EDITOR设置为'subl -w'。如果我在 tmux 下运行 shell 会话,它会正常打开编辑器,但终端上的命令永远不会退出。但是,这在终端本身上运行良好,在 screen 下也是如此,因此这可能是 tmux 的一个错误。

答案1

解决这个问题的方法是安装tmux MacOSX 粘贴板,正如 Daniel Beck 在上面的评论中指出的那样。关于这一点的大部分解释都可以在上面的第二条评论中找到,为了清楚起见,我在这里重现了这一点:

“插件”实际上并非特定于粘贴板访问(尽管我发布它时使用了存储库名称)。问题是由于 OS X 处理特定新进程相关状态(“引导命名空间”)的方式而产生的,而其他 Unix-y 系统上不存在这种状态。如果 OS X 提供了用于管理进程引导命名空间的记录在案的公共 API,那么我会毫不犹豫地推荐(甚至编写)osdep-darwin.c 的补丁。但是,由于所需函数未记录在案且是“私有的”,因此我避免推荐对 tmux 本身进行任何更改。

克里斯·约翰森

所以我决定最终将其作为答案发布,尽管我并不是最初设计它的人。感谢 Daniel 指出了这一点,并感谢 Chris Johnsen 为 Mac OS X 上的 tmux 编写了此修复程序。

相关内容