我们打算在工作中使用RPi来驱动状态显示面板-它会显示项目的错误状态以及其他一些至关重要的统计信息。
我一直在尝试屏幕保护程序,可以消除屏幕空白,没有运气。我使用了以下公式:
如何防止屏幕变黑?
带有Chromium的树莓派信息亭模式
我可以在信息亭模式下获得自动启动Chromium的功能(我在
.config/autostart
中使用了一个项目),但无法停止屏幕空白。 X-Windows似乎没有响应.xinitrc
文件。我尝试在默认用户(pi
)和root
上编辑此文件。屏幕保护程序似乎没有任何改变。是否有人设法制止了Raspbian的屏幕空白?是否有UI选项甚至配置文件可让我永久更改屏幕保护程序超时?
我希望其中一些指南可能已在其他RPi操作系统上进行了测试。难道是使用较新的Raspbian我需要采取另一种方法来防止屏幕空白吗?
更新0:当直接从
xset
输入(通过sudo
)xterm
命令能够停止屏幕空白。从.xinitrc
文件运行时,它不起作用。鉴于计算机以用户“ pi
”自动登录,我如何确保每次xwindows启动时这些命令都以root用户身份执行。 这台机器必须能够无人值守地作为一种售货亭运行。一旦安装到位(它将是壁挂式显示器,没有永久固定的键盘或鼠标),我们能够配置它的唯一方法是通过
ssh
。#1 楼
编辑/ etc / xdg / lxsession / LXDE-pi / autostart并添加这三行@xset s off
@xset -dpms
@xset s noblank
注销,登录并验证其是否正常工作
xset -q
评论
这对我不起作用。我还注释掉了该文件中的\ @xscreensaver行。当我运行xset -q时(感谢您的建议!),我发现我的xset行无效。我尝试取消注释\ @xscreensaver行并重新启动,并且可以看到xset行生效了,但是尽管这确实阻止了DPMS的启动,但现在屏幕保护程序会在10分钟后启动。
–ZoFreX
2014年1月29日15:28
请注意,我批准了一项修改(来自Kaarel Kitsemets),该修改将路径从LXDE / autostart更改为LXDE-pi / autostart,但是由于我不是LXDE用户,因此不确定这是正确的。
– goldilocks♦
15年9月24日在16:04
#2 楼
您可以在以下文件中输入以下三个xset命令:xset s off # don't activate screensaver
xset -dpms # disable DPMS (Energy Star) features.
xset s noblank # don't blank the video device
/ etc / X11 / xinit / xinitrc
>
文件(您应该在第一行之后插入它们)。
评论
小学生成为老师? ;)
–活动
2012年10月4日在7:14
默认情况下,未安装xset,因此无法运行它。您需要安装x11-xserver-utils,以便拥有一个可执行的xset应用程序。
–user2250957
2015年9月7日在22:13
不确定您使用的是哪个版本或操作系统,但xset已安装在我的操作系统上。但是,这似乎对我没有任何帮助。
–詹森·古玛(Jason Goemaat)
17年1月2日,下午5:06
@JasonGoemaat,尝试其他答案之一,因为这是4年前的作品。
–史蒂夫·罗比拉德(Steve Robillard)
17年1月2日,下午5:17
在无头pi上,通过ssh(当您知道哪个显示器正在运行时)显式添加显示器编号,例如xset -dpms -display:0 ...节省时间…
–乔纳森·科玛(Jonathan Komar)
17年11月12日14:00
#3 楼
我遇到过同样的问题。在raspberry pi论坛上,我发现了以下内容:您需要编辑以X开头的脚本。在使用lightdm的默认版本中,要编辑的文件为etc / lightdm / lightdm.conf
在SeatDefaults部分中,它提供了启动X服务器的命令,我对其进行了修改以使其关闭屏幕保护程序以及dpms
[SeatDefaults]
xserver-command=X -s 0 -dpms
对我来说效果很好-没有更多的黑屏了!
评论
这适用于Pi 3!多谢!
– djthoms
16年4月14日在19:11
这始终在PI 2和PI 3上对我有用。其他人针对该问题提出的所有其他答案对我不起作用。
– ThN
16-09-30在15:18
我使用了Debian Jessie Lite映像(2017-03-02),但是我没有lightdm文件夹?!已安装火柴盒窗口管理器(不是LXDE)
– TheStoryCoder
17年4月10日在16:58
#4 楼
我通过以下方法解决了此问题:通过$ sudo apt-get install xscreensaver
并从屏幕保护程序设置中禁用了它。不是最优雅的解决方案,但对我有用。
评论
这个答案很棒。没有文本文件解决方案对我有用。不优雅?我不同意。该软件包将始终与apt-get升级保持最新,因此我无需维护它即可保持工作。而且,作为奖励,我现在可以使用屏幕保护程序。谢谢,迈尔斯。
– Wray保龄球
16-3-20在21:20
我不知道为什么,但是我尝试了这个答案,控制台告诉我它无法从存储库中检索某些文件。因此,它退出了安装。我什至尝试使用添加/删除程序来安装xscreensaver。结果还是一样。这可能在一开始就起作用。
– ThN
16-09-30在15:23
这在Raspberry Pi 3上对我有用。它也将它放在“首选项”下的主菜单中。
–艾伦·杰伊·韦纳(Alan Jay Weiner)
17-2-26在21:15
这就是我所做的。我认为这是最优雅的。不用在目录中处理文件,而是在GUI中即可。然后,如果我不想使用它,只需将其设置为“无屏幕保护程序”,如果我不想消隐,请将其设置为0或999。记住需要修改哪些文件的设置要容易得多。
– SDsolar
17年8月5日在1:51
2018年,这仍然是最干净的解决方案。已在Raspberry Pi 3B +上确认
–史蒂芬(Stephan)
18年6月1日在1:40
#5 楼
正如注释中所阐明的那样,命令是从终端运行的,而不能从.xinitrc运行,而Chromium是从.config/autostart/
启动的,我建议以下内容:运行xset命令的脚本disableblank.sh
,并在.config/autostart/
中添加一个调用该脚本的条目。这样,一切都以相同的方法开始,并且都起作用,或者都不起作用。它们不应该以root用户身份运行,但用户Chromium却以root用户身份运行。简单的方法。#6 楼
我尝试了几种建议的方法,但是对我有用的方法是编辑/etc/rc.local并添加setterm -blank 0命令:
setterm -blank 0
所以文件看起来像这样:实际上,setterm -blank 0命令将终端消隐期设置为0秒(关闭),从而禁用通常发生的消隐。 rc.local是在引导过程结束时以root特权执行的,因此会影响所有物理控制台(此处为TV和HDMI输出)
您还可以更改命令以包括关闭光标(不是鼠标指针,不是控制台中的文本光标):
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# turn off console blanking
setterm -blank 0
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
我在其他一些问题上发布了更多有关此内容的信息,但这可以解决您的问题,而无需诉诸其他手段采取严厉措施。
评论
您应该尝试从X-Windows会话中启动的终端运行给定的三个命令(xset关闭; xset -dpms; xset否)。如果屏幕仍然空白,则您的问题是命令不足以阻止屏幕空白。如果屏幕没有变黑,那么您的问题就是在X窗口会话中正确执行这些命令。我从实际终端以root用户身份运行了这些命令-结果是禁用了屏幕消隐。这意味着.xinitrc在执行命令时未运行或权限不足。有什么建议吗?
我在建议中添加了答案。
我已经通过在您提供的两个链接中进行所有操作(添加.xinitrc文件除外)来工作了,并且对我有用。
“我通过安装xscreensaver解决了这个问题:$ sudo apt-get install xscreensaver并在屏幕保护程序设置中禁用它。不是最优雅的解决方案,但对我有用。”这是我可以使它工作的唯一方法。谢谢小费!