如何使用命令行永久禁用显示器节电器?


14

我试过如下:

1. Turn off: export DISPLAY=:0.0 && xset dpms force off 
2. Turn on: export DISPLAY=:0.0 && xset -dpms

哪个可行,但这是一个临时解决方案,尚不能解决我的问题。当我重新启动系统时,它会一次又一次地启动相同的自动关闭模式。

我现在如何才能使用SSH远程将其永久关闭?

重要:

- KIOSK (ATM machine will use this option)
- 24/7 advertising display/slides will use this

可选注释:本指南遵循 http://v2kblog.blogspot.com/2008/08/disabling-monitor-power-saver.html,但永久解决方案无效。


不确定命令行解决方案-但您应该可以通过在xorg.conf的监视器部分中添加dpms选项来关闭省电功能
fossfreedom

好的-值得将这些内容添加到您的问题中。我以为您尝试了“监控xorg技巧,但没有成功”?-还将其添加到您的问题中。
fossfreedom

这对我很好:crontab -e; * / 1 * * * *导出DISPLAY =:0.0 && xset s 20; xset -dpms

Answers:


9
#!/ bin / bash
出口DISPLAY =:0.0

如果[$#-eq 0]; 然后
  回声用法:$(basename $ 0)“ on | off | status”
  1号出口
科幻

如果[$ 1 =“ off”]; 然后
  echo -en“关闭显示器电源...”
  xset dpms强制关闭
  echo -en“完成。\ n检查:”
  xset -q | grep“监视器是”
elif [$ 1 =“ on”]; 然后
  echo -en“打开显示器...”
  xset dpms强制开启
  echo -en“完成。\ n检查:”
  xset -q | grep“监视器是”
elif [$ 1 =“ status”]; 然后
  xset -q | sed -ne's / ^ [] *显示器为// p'
其他
  回声用法:$(basename $ 0)“ on | off | status”
科幻

将该脚本保存/usr/bin为,命名为switch_dpms,然后使用即可执行chmod 664 /usr/bin/switch_dpm

现在,您需要做的就是将其添加到cron作业中。因此,使用以下命令打开您的crontab文件:

crontab -e

并将其添加到底部:

@reboot /usr/bin/switch_dpms off

每次重新启动它会变成dpmsoff,你也可以把它on做的命令行/usr/bin/switch_dpms on或检查其状态/usr/bin/switch_dpms status

脚本的来源


还是不是永久性的24/7启用模式?就像您去“银行ATM机取钱”一样,这是一个KIOSK。并且它总是变成黑屏。所以人们想按一个按钮,但是他们不能。没有人愿意亲自去每台ATM机器上每天早上打开它。

如果必须是crontab -e?然后我也可以简单地每隔0 0 0 0 0进行一次“ xset dpms force on”,但是我发现它完全是疯狂的。因为它在操作系统中的某个地方,谁会完全停用它。

我真的不明白你为什么要这么难!?您在哪里问这是一个kiosk?我建议在您的问题中添加此信息,因为我的答案可能会因此而改变。我发布的脚本很有效,并且易于使用和理解。不,不必一定是crontab。那只是off在重启时设置屏幕。但是,从引导到桌面/命令行启动,您都可以在链中的任何位置执行此操作。为什么它“疯狂”?我认为将这样的内容添加到中是正常的cron
Rinzwind'9

非常感谢您的输入(也刚刚在问题中更新了我的KIOSK)。但是关于crontab -ei在一开始就想到了,但是并没有应用,因为它涉及计时器,我不确定使用计时器使用100%KIOSK将在系统重新启动一次时打开或关闭。我想推送或告知系统。请关闭此100%。这样一来,无需再追赶这100台ATM机,即可检查它是否关闭。另外,我在商店的大屏幕上放着24/7幻灯片的广告保持运转。我不能相信我的Linux,如果它不是100%关闭该选项。请指教。

1
加入我们的聊天室:chat.stackexchange.com/rooms/201/ask-ubuntu-general-room聊天荷兰语时可能会更快(希望您
不讲

11

这将起作用。在/etc/xdg/autostart目录中打开终端。发出以下命令:

sudo -H gedit nodpms.desktop

按下回车键,您将必须输入密码。Gedit将打开,复制并粘贴以下代码,然后保存。

[Desktop Entry]
Type=Application
Exec=xset -dpms
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=nodpms
Name=nodpms
Comment[en_US]=
Comment=

在仍然打开的终端中发出此命令:

sudo -H gedit noscreenblank.desktop

按下回车键,您将必须输入密码。Gedit将打开,复制并粘贴以下代码,然后保存。

Exec=xset s off
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=noscreenblank
Name=noscreenblank
Comment[en_US]=
Comment=

关闭终端。打开文件浏览器,然后导航到etc / xdg / autostart目录。确保文件nodpms.desktop和noscreenblank.desktop在那里。如果是这样,请关闭所有内容,然后重新启动。

重新启动后,您可以xset q在终端中运行命令,并查看dpms和屏幕消隐功能已关闭。


谢谢。这终于在Ubuntu 19.10上为我修复了。30秒不活动后,我的显示器关闭了。
xeddo

2

找到正确的选项后,解决屏幕空白问题的方法很简单。这与省电有关,但是它并不明显。

在12.04中,Gnome转到:

应用程序 > 系统工具 > 系统设置

选择亮度和锁定

取消选中昏暗屏幕复选框以节省电量

在不活动时关闭屏幕选项旁边,选择关闭屏幕之前的时间。我选择了1个小时。从来没有一种选择可用。


2
在Ubuntu 18.04中,此设置并未停止变暗,我不得不使用xset -dpms
xealits

0

先前的答案将不起作用。如果打开终端并发出:xset q,您将看到dpms将被启用。我发现解决此问题的最简单方法是进入启动应用程序并创建2个应用程序。您给它们指定的名称并不重要,您需要的2条命令是:xset s off(禁用屏幕保护程序)和xset -dpms(禁用dpms)。我希望我新建哪个配置文件来放置这些命令,但是我没有。


您可以创建:$ echo -e '#!/bin/bash\nsleep 50\nexport DISPLAY=:0.0\nxset s off\nxset -dpms' > /var/tmp/pp.sh; cat /var/tmp/pp.sh; contab -e /var/tmp/pp.sh
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.