如何通过 ssh 向登录用户的桌面发送消息?我有时会连接朋友的电脑来帮助他,但我需要向他的桌面而不是使用talk
或ytalk
。
有诸如notify-send
、、gmessage
之类的选项xmessage
。但由于我已连接,SSH
因此无法连接到他们的桌面。
设置环境变量DISPLAY
也不起作用。
我如何做到?
答案1
仅设置 $DISPLAY 是不够的短信由于您没有连接到其他用户的 X11 服务器所需的身份验证数据,因此您还需要复制 $XAUTHORITY。例如通知发送,只需要$DBUS_SESSION_BUS_ADDRESS,但您可能会被DBus策略拒绝访问。
使用这个脚本轻松复制环境变量,并用于sudo
在朋友的帐户下运行命令。例如:
pid=$(pgrep -x -u jon gnome-session)
sudo -u jon ./envcp $pid notify-send 'Hi'
(gnome-session
可以使用该用户的任何其他进程。)