tmux"套接字未连接" OS X Lion上的错误

时间:2012-04-17 14:51:08

标签: macos tmux

在tmux中启动新会话时出现以下错误:

launch_msg("SetUserEnvironment"): Socket is not connected                                                                                                                         
launch_msg("SetUserEnvironment"): Socket is not connected

我的信息:

  • OS X 1.0.7.3
  • zsh 4.3.11
  • tmux 1.6

Tmux仍在发布,我没有遇到任何大问题,但我希望能够深入了解为什么会出现这种情况。我听说安装tmux-MacOSX-pasteboard“修复”此消息,但如果我不需要它的功能,我宁愿不安装包装器。

1 个答案:

答案 0 :(得分:10)

setenv命令(显然)无法与 launchd 通信时,该错误消息来自 launchctl

tmux 不会自动使用 launchctl ,因此您必须深入了解您的特定配置,以查找 launchctl 用法的来源。我的猜测是你的shell初始化文件中有一个或多个launchctl setenv …

如果您不关心 launchctl 调用失败,您可以通过将stderr发送到/dev/null来禁止显示错误消息:

launchctl setenv somevar somevalue 2>/dev/null

我从来没有听说过我的包装器的这个特殊应用程序,但似乎确实解决了这个问题(至少在10.6以下)。

如果您需要 launchctl 调用成功,那么您确实需要包装器的功能(它不是只是用于粘贴板访问;它可以帮助处理任何需要的功能访问“每用户引导程序命名空间”中的服务。如果您不想在“包装器”下运行shell(如README所述),那么您可以在其下运行单独的 launchctl 调用:

/path/to/reattach-to-user-namespace launchctl setenv somevar somevalue

似乎可以通过 MacPort Homebrew 轻松安装包装器:

  • port install tmux-pasteboard MacPorts
  • brew install reattach-to-user-namespace Homebrew