这是A list of available DBus services的后续问题。
以下 python 代码将列出所有可用的 DBus 服务。
import dbus
for service in dbus.SystemBus().list_names():
print(service)
Run Code Online (Sandbox Code Playgroud)
我们如何在python中列出服务下的对象路径?如果答案不涉及 python 也没关系,尽管它是首选。
我正在使用 Ubuntu 14.04
我在工作时使用闹钟小程序。当计时器结束时,我让它运行一个脚本。该脚本执行两件事:1) 发出屏幕通知;2) 播放音频剪辑。
通知守护进程并不总是运行。因此,如果它没有运行,我想在尝试传递屏幕通知之前启动它。
为此,我有以下几点:
#!/bin/sh
if ! pgrep -f "notification-daemon" > /dev/null ;
then
/usr/lib/notification-daemon/notification-daemon &
fi
notify-send "Take 5"
aplay /home/Me/Music/brubek-clip.wav
Run Code Online (Sandbox Code Playgroud)
问题是,第一次运行时,通知不会出现。守护进程已成功启动,后续运行的脚本将按预期运行。
当我sleep 0.5在调用后添加 a 时notification-daemon,通知会在第一次运行时出现。但这似乎相当粗糙。
有没有办法在继续之前检查通知守护进程是否已启动?