1

我正在尝试在最小的 chroot 中测试图腾(主机和 chroot 都是 ubuntu 12.04 amd64)。当我加载视频时,我得到了错误

** (totem:25660): WARNING **: Problem inhibiting the screensaver: GDBus.Error:
org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist

实际上,在观看视频时屏幕会关闭(会话空闲)。为了确认,我用 python 进行了测试:

>>> import dbus
>>> bus = dbus.SessionBus()
>>> bus.get_object('org.gnome.SessionManager','/org/gnome/SessionManager')

并得到错误

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name
org.gnome.SessionManager was not provided by any .service files

有谁知道哪些包会在 chroot 中提供 dbus 接口 org.gnome.SessionManager ?对此进行搜索后,我尝试了 gnome-session、gnome-session-common 和 gnome-session-bin 均无济于事。

通过在packages.ubuntu.com和完整的 12.04 系统上搜索它们都可以正常工作,似乎没有任何包提供名为 org.gnome.SessionManager.service 的文件,所以它在寻找什么 .service 文件?.

4

1 回答 1

0

在该服务正在运行的系统上,您可以通过像这样查询总线来查找:

$ qdbus org.freedesktop.DBus / org.freedesktop.DBus.GetNameOwner org.kde.klipper
:1.82
$ qdbus org.freedesktop.DBus / org.freedesktop.DBus.GetConnectionUnixProcessID :1.82
1441
$ readlink /proc/1441/exe
/usr/bin/kdeinit4
$ rpm -qf /usr/bin/kdeinit4           # in your case dpkg -S /path/to/program
kdelibs4-4.7.2-5.5.1.x86_64
于 2012-11-13T15:56:08.067 回答