我对 Ubuntu 还比较陌生。但我已经安装了 Ubuntu Server 17.04。
我在笔记本电脑上运行它,我想关闭显示器。我使用具有 root 访问权限的管理员帐户运行命令。
我已经尝试使用 xset 进行以下操作。
xset dpms force off
这给了我以下错误信息..
xset: unable to open display ""
我也尝试使用 vbetool 和以下代码。
sudo vbetool dpms off
这给了我以下错误信息..
Real mode call failed
在谷歌搜索后,我找到了一个写 Python 脚本的人
#!/usr/bin/python
import time
import subprocess
from Xlib import X
from Xlib.display import Display
display = Display(':0')
#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())
p = subprocess.Popen('gnome-screensaver-command -i'.split())
time.sleep(1)
while True:
print display.next_event()
p.terminate()
break
它给了我以下错误信息..
Traceback (most recent call last):
File "./script.py", line 8, in <module>
display = Display(':0')
File "/usr/lib/python2.7/dist-packages/Xlib/display.py", line 80, in __init__
self.display = _BaseDisplay(display)
File "/usr/lib/python2.7/dist-packages/Xlib/display.py", line 62, in __init__
display.Display.__init__(*(self, ) + args, **keys)
File "/usr/lib/python2.7/dist-packages/Xlib/protocol/display.py", line 58, in __init__
self.socket = connect.get_socket(name, host, displayno)
File "/usr/lib/python2.7/dist-packages/Xlib/support/connect.py", line 78, in get_socket
return getattr(mod, modname).get_socket(dname, host, dno)
File "/usr/lib/python2.7/dist-packages/Xlib/support/unix_connect.py", line 91, in get_socket
raise error.DisplayConnectionError(dname, str(val))
Xlib.error.DisplayConnectionError: Can't connect to display ":0": [Errno 2] No such file or directory
administrator@readytoserver:~/Scripts$
有任何想法吗?
我希望得到你们的帮助,因为我觉得这有点超出我的能力范围。
答案1
16.04 版上不存在此问题。一段时间后,笔记本电脑的 LCD 会自动关闭,但如果盖子合上,则进入睡眠状态。
我解决了联想 T410 的这个问题,因为在我安装了 18.04 并升级到 18.04.1 之后,LCD 就会关闭,除非我合上笔记本电脑的盖子并让其进入睡眠状态。
现在我可以放下盖子直到 LCD 关闭或完全关闭盖子而它不会进入睡眠状态。
解决方法是编辑文件:/etc/systemd/logind.conf
HandleSuspendKey=ignore
HandleLidSwitch=ignore