使用命令行关闭监视器


57

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

sleep 1 && xset dpms force off

问题是我得到以下错误

unable to open display "".

知道发生了什么/出了什么问题?关于此操作还有其他建议吗?


您是否安装了X服务器?它正在运行?
enzotib

@enzotib我确实相信它已安装。至于运行,我不确定。我该如何检查?
AngryBird

1
尝试首先运行:export DISPLAY=:0.0
RobinJ 2011年

dpkg -l | grep xserver-xorg要安装的非null输出。pgrep -fl X正在运行的非null输出。顺便说一句,如果正在运行,您应该处于图形会话中。
enzotib

1
@ WarriorIng64:这是一台笔记本电脑
enzotib

Answers:


59

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

sudo vbetool dpms off

要在按Enter键时重新获得对控制台的控制,我建议

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

2
然后,您可能希望将这部分别名方便使用。
Danny Staple

1
vbetool可通过sudo apt-get install vbetool
David Clarke

1
在我的情况下,这个命令真的变成显示关闭,而不是xset一个
golimar

奇怪的是,该命令关闭了3个显示器中的2个,如果该命令是通过ssh执行的,则在计算机自​​行重新启动之前,第三个仍然会显示白色。
丹巴

@enzotib,我无意中点击了我的名字,对不起。请稍微编辑一下我可以删除降级票的答案。
andras.tim

32

试试这些命令...

把关掉:

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 

我怎么知道是哪个屏幕
卡尔·莫里森

1
以下代码对我有用(也部分受@enzotib的回答启发):xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on
stiemannkj1

请注意这一点。发行后,我无法通过测试机重新打开显示器force off
Zmart,2017年

2
更新:拔出并重新插入显示器上的所有电缆(包括电源)已解决了这种情况。
Zmart

27

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

我有3个显示器,1个VGA,1个DVI和1个HDMI。当我运行时:xrandr --output VGA1 --auto,它打开了VGA,但是克隆了DVI监视器。
ThiagoPonte

嗯,奇怪。尝试
--on

@ HarshithJ.V。这是一个很好的答案!它比之好,xset因为如果您只按触摸板等,xset就会打开。顺便说一句,希望您记得我以前的公司:-)
Nishant

@Nishant感谢您的赞美。奇怪的是我不记得你了。请在其他社交媒体上ping我,因为我们不能违反规则进行聊天。
Harshith JV

如果出现crtc错误,请在xrandr命令前键入“ chvt 7”,以使其显示为“ chvt 7 && xrandr -d:0 --output eDP1 --auto”
haytham-med haytham

11

我刚刚安装了Ubuntu Server 18.04.1(没有GUI,X,也没有任何图形化的),昨晚我试图关闭屏幕后背不住后,我终于找到了神奇的命令:

setterm --blank 1

执行该命令后,屏幕将每分钟自动关闭(如果空闲)。


甚至更好的是,如果您希望在启动时自动执行该命令,可以将其添加到GRUB命令行中,为此,我们必须编辑下一个文件:

sudo nano /etc/default/grub

consoleblank=60到达该位置后,只需将GRUB_CMDLINE_DEFAULT其添加到,它应如下所示:

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=60"

然后关闭文件并保存,然后运行sudo update-grubvoila,每次启动时,屏幕将每60秒自动关闭一次。(再次,如果空闲)。

而且这种方式(将consoleblank添加到GRUB)甚至可以从远程终端(ssh)使用。

请享用!(再次)


1
执行上面的命令,我得到:“ setterm:终端xterm-256color不支持--blank”。有什么事吗
zx485

1
您要从远程会话尝试吗?
Boy Graffity

@ zx485查看更新后的答案,现在您可以从远程会话关闭屏幕。我确定这将解决您的问题
Boy Graffity

6

如果您有多台监视器,请使用以下命令:

关闭第二台显示器:(
假设CRT-0是您的左显示器,而CRT-1是您的右显示器):
xrandr --output CRT-1 --off
打开第二台显示器:
xrandr --output CRT-1 --right-of CRT-0 --auto
xrandr知道不复制第一屏。


我正在测试,以这种方式关闭屏幕更像是禁用它,例如,屏幕仍处于开机状态。它只是不使用。该--off“d屏幕不能与屏幕的电源按钮重新打开(因为它仍然/是从来没有过)。它也弄乱了我的桌面显示设置(从扩展桌面到镜像显示)。如果这样做可以关闭两个显示器,那么我不确定在不登录到TTY并清除无论在何处的monitors.xml文件的情况下都可以轻松地将它们重新打开。你懂得越多。
ThorSummoner

0

我遇到了同样的问题。我发现在笔记本电脑(旧的宏a aspire)上支持默认的screentoggle按钮。可能是这样的fn+F6

该解决方案可能在一天中都无法使用。希望对任何遇到此问题的人都有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.