我想使用PC A 通过SSH向PC B 发送通知,但我没有在B上看到通知。
ssh user_name@B_ip 'notify-send hello'
我也试过这个:在 B 上使用SSH登录 A ,然后重新登录 B ,然后发送通知。但它仍然没有奏效。没有在B上看到通知。
答案 0 :(得分:1)
答案 1 :(得分:1)
通知通过 dbus(用户会话)发送。您需要通过 SSH 建立 dbus 套接字的隧道,以便在另一台计算机上运行的程序可以向您的桌面发送通知。
工作流程是:
@local 代表您的桌面,@remote 代表您 ssh 到的机器。
@local $ echo $DBUS_SESSION_BUS_ADDRESS
unix:abstract=/tmp/dbus-pH1JnDeLNA,guid=5fe0907d81e722390f1ce02d6033ad76
@local $ socat TCP-LISTEN:7272,reuseaddr,fork ABSTRACT-CONNECT:/tmp/dbus-pH1JnDeLNA
@local $ ssh -R localhost:7272:localhost:7272 $REMOTE_HOSTNAME
@remote $ socat ABSTRACT-LISTEN:/tmp/custom_dbus_name,fork TCP:localhost:7272
@remote $ export DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/custom_dbus_name,guid=5fe0907d81e722390f1ce02d6033ad76'
@remote $ notify-send "Hello, World"