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

Ste*_*ney 9 macos tmux

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

launch_msg("SetUserEnvironment"): Socket is not connected                                                                                                                         
launch_msg("SetUserEnvironment"): Socket is not connected
Run Code Online (Sandbox Code Playgroud)

我的信息:

  • OS X 1.0.7.3
  • zsh 4.3.11
  • tmux 1.6

Tmux仍然推出,我没有任何大问题,但我希望能够深入了解为什么会发生这种情况.我听说安装tmux-MacOSX-pasteboard "修复"了这条消息,但如果我不需要它的功能,我宁愿不安装包装器.

Chr*_*sen 10

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

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

如果您不关心launchctl调用是否失败,您可以通过将stderr发送到/dev/null以下内容来抑制错误消息:

launchctl setenv somevar somevalue 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

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

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

/path/to/reattach-to-user-namespace launchctl setenv somevar somevalue
Run Code Online (Sandbox Code Playgroud)

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

  • port install tmux-pasteboard(MacPorts)
  • brew install reattach-to-user-namespace(自制)