如何在Ubuntu中使用热键关闭显示器
时间:2020-01-09 10:45:07 来源:igfitidea点击:
通过热键关闭显示器的传统方式现在已被打破。一个非常简单的Python脚本可以可靠,高效地恢复该功能。
关闭监视器的旧方法是通过xset命令:
xset dpms force off
有一些变化,但是自从Ubuntu Karmic(9.10)起,它就被打破了。某些系统调用显然与该命令不兼容,导致屏幕在大约一分钟后唤醒。在对此烦恼了一段时间之后,我在Ubuntu论坛上找到了一些解决方案。循环运行此命令似乎会占用大量CPU,并且没有一种非常优雅的方法可以对其进行转义。值得庆幸的是,一个用户nxmehta找到了一个使用简单Python脚本的解决方案,该解决方案适用于从Karmic到Natty的所有内容。
首先,我们需要具有一些依赖性,因此打开一个终端并输入以下命令:
sudo apt-get install python python-xlib
如果尚未安装python和python-xlib软件包,则将安装它们。接下来,打开文本编辑器(gedit)并复制/粘贴以下文本:
#!/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()) p = subprocess.Popen('gnome-screensaver-command -i'.split()) time.sleep(1) while True: print display.next_event() p.terminate() break
用适当的名称保存文件。我将其余的脚本卡在~/ bin / screen_off.sh中。
接下来,右键单击该文件,然后转到"属性"。
在"权限"选项卡下,确保选中"允许程序执行文件"。单击关闭。
现在,我们可以将其分配给任何键盘快捷键!我想将我的密码设置为Caps Lock,因此必须先禁用该键。我们可以通过转到键盘>布局>选项来实现。
在这里,请选择Caps Lock键行为下的Caps Lock已禁用。
要将此脚本分配给键盘快捷键,请打开"键盘快捷键"首选项。
单击"添加",为快捷方式命名,该命令将只是脚本的位置。单击"应用",然后在快捷方式下单击以进行设置。如果禁用了Caps Lock,我们会看到它列为VoidSymbol,但它将正常运行。