为什么我不能使用tmux中的launchctl setenv?


0

如果我在其中运行,tmux并且尝试使用来更新环境变量launchctl,则会看到如下错误:

$ launchctl setenv GIT_SSH /opt/local/bin/ssh
Not privileged to set domain environment.

但这可以从tmux... 之外很好地工作...知道为什么是这样,或者是否有任何解决方法?


1
您是如何启动tmux的?如果从命令行启动,请使用sudo启动tmux。如果它是一个应用程序,sudo open /path/to/tmux.app
TheBro21

1
尝试使用sudo(sudo tmux)运行tmux 赋予其管理员权限
TheBro21

Answers:


2

以root身份运行tmux可能不是一个好主意。有人创建了一个解决方案和解释:

https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard

将tmux配置为使用重新附加到用户命名空间后,可以在tmux中以自己的身份使用launchctl setenv。


FWIW,我发现这是几年前的事,只是不记得要回答我自己的问题了……但是,是的,tmux-pasteboardMacPorts 的软件包可以解决问题。
pioto

0

您需要从特权帐户运行它,即

$ sudo launchctl setenv GIT_SSH /opt/local/bin/ssh

并在出现提示时输入密码。默认情况下,只能通过管理员帐户完成此操作。


它工作正常,W / O sudo,当我运行它的外面tmux......我去看看,如果sudo是从内部莫名其妙必要的tmux,但并没有真正看起来像诸如此类的事情,我想在我的包括~/.bashrc...
pioto

1
是的,sudo似乎可以正常运行,但是我仍然不喜欢它……现在,我将把对此的调用包含在我~/.bashrcif [[ -z "$TMUX"]] ; then ...
文档
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.