电视重启后如何重启 Xorg?

How restart Xorg after TV reboot?

我有一个 RPI 无头,通过 HDMI 连接到电视。 我有一个脚本可以通过网页在 kiosk 模式下显示 chromium :

#!/bin/sh
xset -dpms xset s off xset s noblank
#export DISPLAY=:0
unclutter &
chromium-browser http://page-url --window-size=1920,1080 --start-fullscreen --kiosk --incognito --noerrdialogs --disable-translate --no-first-run --fast --fast-start --disable-infobars --disable-features=TranslateUI  --password-store=basic

此脚本存储在 ~/.xinitrc 文件中

我已经像这样自定义了我的 bashrc 文件:

# source the user's bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi
if [ -z $DISPLAY ] && [ $(tty) = /dev/tty1 ];
then
        startx
fi

因此,当我的 RPI 重新启动时,"startx" 执行 xinitrc 文件中的指令,它工作正常。

然而,每天晚上,我的电视屏幕都是完全关闭的(不是在睡眠模式、待机模式或休眠模式。完全关闭。它的配电盘已关闭。) 每天早上,当我打开它时,屏幕保持黑屏。 我检查了 ps -ef,脚本在后台 运行,但没有显示任何内容。

当我重新启动 RPI 时,就可以了。

我认为当电视关闭时,RPI(或 Xserver)会检测到 HDMI 输入已关闭并...停止某些操作。

您是否有避免此问题并永久正确显示(在电视关闭前后)的解决方案?

谢谢!

修复替换这个:

xset -dpms xset s off xset s noblank

由此

xset -dpms
xset s off