如何通过命令行关闭显示?

如何通过命令行关闭显示?

有没有办法使用命令关闭显示器(进入省电模式)?

例如,当计算机在特定时间内不活动时,屏幕会关闭以节省能源。有没有办法手动关闭屏幕,同时保持计算机正常运行?

这是一台笔记本电脑,因此显示器本身没有“关机”按钮。

答案1

我认为你正在寻找

xset dpms force off

但是,你需要确保你的 acpi 已启用。你可以使用以下命令检查

cat /proc/acpi/info

另一种选择可能是

setterm -powersave powerdown

答案2

我在 2007 年的 MacBook Pro 上运行没有 X 的 Ubuntu Server。显示器自行处于休眠状态,但按下键盘上的某个键时不会重新激活。此时我的解决方法是使用vbetool。使用以下方法安装apt-get

sudo apt-get install vbetool

然后使用 SSH 从另一台机器打开显示:

sudo vbetool dpms on

或关闭:

sudo vbetool dpms off

答案3

我已经制作了一个统一启动器来关闭 LCD

sudo apt-get install --no-install-recommends gnome-panel

gnome-desktop-item-edit ~/Desktop/ --create-new

它会打开一个小窗口。输入以下内容:

姓名:turnofflcd

命令:gnome-screensaver-command --lock && sleep 2s && xset dpms force off

您也可以通过单击左侧的图标来选择一个图标。

有关制作启动器的更多信息,请参阅http://www.ubuntugeek.com/how-to-create-desktop-launchers-in-ubuntu-11-10oneiric.html

答案4

xset dpms force off只工作了5秒。

我在网上搜索并找到了以下脚本,经过一些小小的改动后它就完美运行了。

#!/usr/bin/python
import time
import subprocess
from Xlib import X
from Xlib.display import Display
display = Display(':0')
root = display.screen().root
root.grab_pointer(True,
       X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask,
       X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime)
root.grab_keyboard(True,
       X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime)
subprocess.call('xset dpms force off'.split())
#original
#p = subprocess.Popen('gnome-screensaver-command -a'.split())
#changed
p = subprocess.Popen('xset dpms force off'.split())
time.sleep(1)
while True:
   print display.next_event()
   p.terminate()
   break

相关内容