所以,我已经阅读了移植指南(https://wiki.tizen.org/wiki/Porting_Guide)。有一个名为“Tizen Bootup Overview”的部分。本节说明 systemd 守护程序的用户实例已运行。当我运行模拟器时,我可以看到它,ps aux | grep systemd
并且我看到它是由 user 运行的app
。但是当我systemctl --user list-units
以app
用户身份输入时,我会收到以下消息Failed to issue method call: Failed to execute program /bin/false: Success
。但是,当我/usr/lib/systemd/systemd --user &
以app
用户身份输入并且仅调用 list-units 方法时,它运行正常。请问我对跑步有什么不明白的地方systemctl --user list-units
?
据我了解,DBus 服务文件已经将 /bin/false 作为指定的可执行文件,以避免systemd --user
意外激活 DBus。但是看看systemctl
我看到的来源,当使用--user
选项运行时,它会尝试连接到 DBus 以"unix:path=$XDG_RUNTIME_PATH/systemd/private"
我对 systemd 和 dbus 都很陌生。我尝试/usr/lib/systemd/systemd --user &
在我的程序连接到 systemd 之前调用它并且它工作,但 systemd 开始执行用户目标。我连接到 DBus dbus_bus_get(DBUS_BUS_SESSION, &err)
(DBUS_BUS_SESSION
是连接到用户实例,正如我通过查看来源了解的那样systemd & Co
)
PS:Tizen 使用systemd v43
提前致谢。
对不起我的英语不好。