|
|
1
0
使用launchd代理。所有其他的方法都会让你的脑子里充满无用的细节和隐藏的诡计。总的来说,这是一项非常复杂的任务,有许多角落的情况下,是很难实现正确的。launchd代理可以让您集中精力完成任务并节省大量时间。 最好的解决方案是重写代理以不使用命令行,而是连接到launchd守护进程并请求适当的选项/设置。 如果不可能或很难,可以编写将在启动时连接到守护进程的包装器launchd代理,询问选项,然后使用正确的命令行启动原始代理。 如果您认为实现“连接到守护进程”机制太难了…也许是这样,但它比从daemon在其他会话中启动代理要容易得多(当在不同的角落案例支持下实现时)。 但是,如果你真的真的不管你想要什么肮脏的方式,你可以玩“launchctl bsexec”。一些有效的例子: Starting/stopping a launchd agent for all users with GUI sessions (它可以在会话上下文中启动任何可执行文件,而不是“launchctl load”)。 一些最新消息。 “play with launchctl bsexec”我的意思是这样的:
在会话中找到你想要的应用程序,获取它的PID并调用“launchctl bsexec”在同一会话中运行你想要的程序。上面的示例将在登录的“用户”会话中启动textedit,即使该行在另一个登录的用户acount或from service下执行。 但我在狮子身上做了测试-没用。它只对我的豹子有效(10.5/10.6)。 我想说的是-不使用发射代理会让你屁股不停地痛。在经历了十几件这样的事情之后,我们完全转向了发射代理,现在很高兴:) |
|
NullVoxPopuli · 重命名文件夹的最快方法是什么?[关闭] 1 年前 |
|
|
J P · Mac GPGSuite的密码过期 1 年前 |
|
|
Pali775 · Django不会在MacOS上更新 1 年前 |
|
PkDrew · AND运算符“&”在“&tee”中的作用是什么? 1 年前 |
|
|
analog_kid · 较旧的R版本dmg文件[已关闭] 1 年前 |