在tmux中启动新会话时出现以下错误:
launch_msg("SetUserEnvironment"): Socket is not connected
launch_msg("SetUserEnvironment"): Socket is not connected
我的信息:
Tmux仍在发布,我没有遇到任何大问题,但我希望能够深入了解为什么会出现这种情况。我听说安装tmux-MacOSX-pasteboard“修复”此消息,但如果我不需要它的功能,我宁愿不安装包装器。
答案 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 )