Python:pynotify网络问题

0 投票
3 回答
645 浏览
提问于 2025-04-15 16:12

我正在使用pynotify,这是我想让它运行的代码:

#! /usr/bin/python
try:
    import pynotify
    if pynotify.init("Telebrama Alert"):
        n = pynotify.Notification('Message','This is test message')
        n.set_urgency(pynotify.URGENCY_CRITICAL)
        n.show()
    else:
        print 'There was a problem in initializing the pynotify module'
except:
    print "you don't seem to installed pynotify\n"

在我的电脑上运行得很好。但是我想把一些通知发送到另一个网络。我该怎么做呢?

3 个回答

0

根据你的 DISPLAY 变量,你可以通过以下方式让它工作:

import os
os.environ['DISPLAY'] = ':0.0'

1

首先,你得明白,pynotify和网络没有关系。

pynotify是Python语言用来和libnotify这个库沟通的工具。libnotify主要是用来在桌面上显示本地通知的。它使用的是本地的D-Bus消息总线,也就是说,它不涉及网络。所以,如果你想把通知发送到其他电脑的桌面上,你就得用其他的工具。

2

pynotify 只是一个X客户端。如果你想连接到一个不是本地的X服务器,你需要设置一个叫做DISPLAY的环境变量。要注意的是,你要连接的X服务器必须配置好,能够接受远程连接(可以查看xhost和xauth的手册页了解更多信息)。

撰写回答