gpt4 book ai didi

python - libnotify 通知控制台,而不是 $DISPLAY?

转载 作者:太空宇宙 更新时间:2023-11-03 21:15:45 25 4
gpt4 key购买 nike

请注意:这不是涉及多头显示的听起来类似的常见问题解答。这个问题是关于两台不同的计算机。

如果我登录到两台不同计算机的控制台,sitting-at.example.com 和 sshed-into.example.com,然后坐在 waiting-at.example.com 前面,我会使用 ssh(使用 X11 隧道)进入 sshed-into.example.com...

如果我这样做,然后运行一个使用 libnotify 的小 Python 脚本,通知会在 sshed-into.example.com 的控制台上弹出,而不是在 waiting-at.example.com 上。但我需要在 waiting-at.example.com 上收到通知。在我看来,这更有意义。

结果是,直到我开车到其他位置并重新登录 sshed-into.example.com 的控制台时,我才看到通知。

如果 libnotify 引发异常,我的代码会使用一个小 GTK 弹出窗口,但它不会启动,因为就 libnotify 而言,一切工作正常。

我可以像以前一样一直使用 GTK 弹出窗口,但在可行的情况下我有点喜欢 libnotify。一方面,如果我单击不同的虚拟桌面或在不合适的时刻打开一个窗口,libnotify 不会丢失。 GTK 弹出窗口确实如此。

有没有办法使用 libnotify 获取远程通知,或者获取异常?

我考虑过解析 $DISPLAY 以查看它是否“看起来是本地的”,但似乎应该有更好的方法。

提前致谢!

PS:这个小脚本的代码是开源的,可以在 http://stromberg.dnsalias.org/~strombrg/notify-when-up2.html 找到。

最佳答案

我最终检查了 $DISPLAY,因为这里的回复并不密集且快速。

我使用的功能:

def is_local_display(regex=re.compile(r'^:0(\.[0-9]+)?$')):
"""Return True iff $DISPLAY points at a local display."""
if 'DISPLAY' not in os.environ:
return False
match = regex.match(os.environ['DISPLAY'])
return bool(match)

关于python - libnotify 通知控制台,而不是 $DISPLAY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54728859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com