我正在运行Debian,希望使用notify-send。但是,除非我有以下运行之一,否则notify-send不会给我任何通知:
# either:
/usr/lib/notification-daemon/notification-daemon
# or:
/usr/lib/notify-osd/notify-osd我想将其中之一作为服务来运行,而不是让它们成为我的shell中的作业。但是,当我在/etc/init.d中为它们创建一个启动脚本(使用骨架作为模板)时,尝试启动服务将得到以下输出,notify-send将不显示任何通知:
(通知-守护进程:14467):Gtk-警告**:无法打开显示:
发布于 2014-10-07 14:39:59
/etc/init.d控制系统范围内的启动脚本中的脚本,而您希望为您的个人登录会话启动服务。对所有用户的所有登录会话都有这样的方法,但它们取决于系统的设置方式。同样,也有一些方法可以对您的个人登录会话执行此操作,但这取决于您所使用的会话类型。(例如,GNOME、XFCE、KDE、fvwm等。)
您可能要做的是配置您的会话管理器、桌面环境或窗口管理器,以便在启动时启动/usr/lib/notify-osd/notify-osd。例如,我通过xsession使用fvwm,所以在我的~/.xsession中有以下内容:
#!/bin/sh
# Other programs I need at startup like xscreensaver and urxvtd ...
/usr/lib/notify-osd/notify-osd &
exec fvwm发布于 2016-02-17 10:49:04
“无法打开显示”意味着您的二进制请求X服务器没有运行。您必须修改startscript,以便在X服务器之后启动notify-send。如果您对此有异议,请发布您的脚本。
发布于 2018-05-07 14:53:39
在@elb的回答中添加:
当我将行添加到~/.xsession时,它破坏了机器的自动登录功能,以至于无法登录(我猜是因为每次登录时都会连续读取.xsession文件吗?)
相反,我将相同的内容放在一个~/.xsessionrc文件中,这个文件以前在我的系统中不存在。但它成功了!
https://unix.stackexchange.com/questions/131727
复制相似问题