在Tizen上连接到systemd的用户实例

时间:2013-08-03 17:50:55

标签: tizen systemd

所以,我已经阅读了移植指南(https://wiki.tizen.org/wiki/Porting_Guide)。有一个名为“Tizen Bootup Overview”的部分。本节说明运行systemd守护程序的用户实例。当我运行模拟器时,我可以通过ps aux | grep systemd看到它,我发现它是由用户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都很陌生。我尝试在连接到systemd之前从我的程序中调用/usr/lib/systemd/systemd --user &并且它工作正常,但是systemd开始执行用户目标。 我使用dbus_bus_get(DBUS_BUS_SESSION, &err)连接到DBus(DBUS_BUS_SESSION是连接到用户实例,我通过查看systemd & Co的来源了解

PS:Tizen使用systemd v43

提前致谢。

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

答案是: 要连接到systemd的用户会话:

$ su -

# su - app

app$ export XDG_RUNTIME_DIR=/run/user/app

app$ systemctl --user status default.target