如何强制远程服务器使用 SSH 唤醒其监视器?

如何强制远程服务器使用 SSH 唤醒其监视器?

如果远程 Ubuntu 服务器上的显示器进入睡眠模式,有没有办法从 SSH 命令行将其唤醒?

我尝试使用export "DISPLAY=:0"然后xset -dpms尝试关闭省电模式,但得到以下结果:

 Invalid MIT-MAGIC-COOKIE-1 keyxset:  unable to open display ":0"

该服务器是运行 Zentyal Web 前端的 Ubuntu 16.04.3 LTS。远程服务器上有一个 UI,本地管理员可以登录,但由于某些未知原因,通过 Zentyal Web 管理屏幕应用更新并重新启动后,屏幕似乎进入省电模式,摆动鼠标或按下任何键都无法唤醒它,所以我试图强制服务器唤醒屏幕。

答案1

我知道这个帖子很老了,但以防有人想知道。我遇到了完全相同的问题:无法打开显示“:0”

我试图通过 SSH 打开我的两个显示器,但失败了,并显示上面的消息。我还得说,我没有登录物理 PC 的控制台,所以只有登录屏幕,但由于空闲设置,显示器已关闭。

因此,就我而言,我还必须添加 XAUTHORITY 变量,如下所示:

#Turn on the main display
sudo DISPLAY=:0 XAUTHORITY=/run/user/121/gdm/Xauthority xrandr --output HDMI-0 --off
sudo DISPLAY=:0 XAUTHORITY=/run/user/121/gdm/Xauthority xrandr --output HDMI-0 --auto

#Turn on the second display
sudo DISPLAY=:0 XAUTHORITY=/run/user/121/gdm/Xauthority xrandr --output DP-4 --right-of HDMI-0 --off
sudo DISPLAY=:0 XAUTHORITY=/run/user/121/gdm/Xauthority xrandr --output DP-4 --right-of HDMI-0 --auto

这里我必须提一下,我使用的是 Ubuntu 18,并使用 gdm3 作为显示管理器。您应该检查路径:

/run/user/121/gdm/Xauthority

在您的系统上可能有所不同。还请检查您的 xorg.conf 配置。我在那里定义了两个屏幕,如下所示:

    Screen      0  "Screen0"
    Screen      1  "Screen1" RightOf "Screen0"

这就是我使用“--right-of”选项的原因。

最后通过运行检查输出的名称:

sudo DISPLAY=:0 XAUTHORITY=/run/user/121/gdm/Xauthority xrandr -q

您将获得正确的名称。就我而言:“HDMI-0”(主显示器)和“DP-4”(第二显示器)。

相关内容