使用命令行关闭监视器

使用命令行关闭监视器

我在笔记本电脑上运行 Ubuntu Server。屏幕确实没有理由亮着。我一直尝试使用此命令关闭屏幕:

sleep 1 && xset dpms force off

问题是我收到以下错误

unable to open display "".

知道发生了什么事/出了什么问题吗?还有其他建议吗?

答案1

要在控制台中关闭监视器,命令如下:

sudo vbetool dpms off

要重新获得对控制台的控制权,请按进入关键,我建议

sudo sh -c 'vbetool dpms off; read ans; vbetool dpms on'

答案2

尝试这些命令...

把关掉:

xset -display :0.0 dpms force off 

打开:

xset -display :0.0 dpms force on 

如果您的显示器关闭后又立即打开,请尝试以下操作,这将在关闭屏幕前增加 1 秒的延迟。这让 X 服务器有机会在关闭显示器之前处理所有事件。

sleep 1 && xset -display :0.0 dpms force off 

答案3

如果您设置了多个显示器,其他答案中提到的命令xset将关闭所有显示器。但是,如果您只想关闭一个或部分显示器,则应使用xrandr

首先运行xrandr -q命令,它将列出所有监视器及其当前显示设置。在每个监视器详细信息的开头,您将找到系统设置的监视器名称。您必须跟踪它。

我有两个显示器(一个连接到 DVI 端口,另一个连接到 VGA 端口),当我运行命令时,我看到以下内容:

Screen 0: minimum 320 x 200, current 1360 x 768, maximum 2726 x 2726
DFP1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
   1360x768       59.7*+
   ... (more details are shown here, but I have hidden it)

CRT1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 410mm x 230mm
   1360x768       59.8*+   60.0  
   ... (more details are shown here, but I have hidden it)

在此输出中,DVI 端口连接的显示器标记为 ,DFP1另一个标记为CRT1。因此,如果我想关闭辅助显示器(即CRT1),我可以运行以下命令:

xrandr --output CRT1 --off

如果您想再次打开该显示器,那么您可以运行此命令:

xrandr --output CRT1 --auto

答案4

1 分钟后屏幕变黑,2 分钟后关闭。按任意键均可将其重新打开。重启后自动启动。

神奇的命令将完成所有的工作:

setterm --blank 1 --powerdown 2

如果出现错误:setterm: 终端 xterm-256color 不支持 --blank

  • 您可能正在通过 SSH 尝试此命令。您必须从计算机本地运行它,或者执行本指南的下一阶段。

使其自动启动

在可执行文件中插入命令。例如,将其存储在主目录的隐藏文件夹中 /home/USER/.boot-scripts/screen-off.sh

#!/bin/bash
setterm --blank 1 --powerdown 2

并通过systemctl使脚本文件可执行。创建文件/etc/systemd/system/screen-off.service

[Unit]
Description=Blank screen after 1 min and turn it off after 2 min. Any keypress will turn it back on.
After=ssh.service

[Service]
Type=oneshot
Environment=TERM=linux
StandardOutput=tty
TTYPath=/dev/console
ExecStart=/home/USER/.boot-scripts/screen-off.sh

[Install]
WantedBy=local.target

使其可执行:

    sudo chmod +x /home/USER/.boot-scripts/screen-off.sh
    sudo chmod +x /etc/systemd/system/screen-off.service

最后让它在启动时运行并启用:

sudo systemctl start screen-off.service
sudo systemctl enable screen-off.service

要禁用它:

sudo systemctl disable screen-off.service

相关内容