gpt4 book ai didi

macos - 从启动守护程序生成 screen session

转载 作者:行者123 更新时间:2023-12-01 04:19:53 25 4
gpt4 key购买 nike

我编写了一个launchd .plist,它应该在WindowServer 启动时将调试器附加到它。脚本的主要部分看起来像

screen -D -m -S "WindowServer Debugger" \
gdb \
-x $GDBSCRIPT \
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/WindowServer \
$WSPID

这将启动一个分离的屏幕 session ,其中 gdb 附加到 WindowServer。

然而,这似乎在雪豹下的 launchd 中触发了一个错误条件,导致它向日志输出错误消息:
com.apple.launchd[1] (0x10011c070.anonymous.screen[961]) Bug: launchd_core_logic.c:8250 (23932):0
com.apple.launchd[1] (0x10011c070.anonymous.screen[961]) Switching sessions is not allowed in the system Mach bootstrap.
com.apple.launchd[1] (0x10011c070.anonymous.screen[961]) _vprocmgr_switch_to_session(): kr = 0x44c

我应该注意到“...系统马赫 bootstrap 中不允许”消息发生,无论系统启动多久。

是否有解决方法以便我可以生成我的屏幕 session ?

根据launchd的联机帮助页,

Daemons should not attempt to display UI or interact directly with a user's login session.



这可能表明 launchd 将此行为视为与另一个 session 交互并拒绝它。代码在这里,但我不熟悉它: http://launchd.macosforge.org/trac/browser/trunk/launchd/src/launchd_core_logic.c#L8250

最佳答案

显然你不能在系统 bootstrap 中分离(使用 -D)。您可以在启动代理中(或在您的用户 bootstrap 中)执行此操作。

关于macos - 从启动守护程序生成 screen session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com