Как перезапустить Xorg после перезагрузки ТВ? - PullRequest
0 голосов
/ 08 мая 2020

У меня RPI headless, подключенный к телевизору по HDMI. У меня есть сценарий для отображения хрома в режиме киоска через веб-страницу:

#!/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

Этот сценарий хранился в ~ / .xinitr c файле

Я настроил свой bashr c файл вроде этого:

# 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" с инструкциями в xinitr c файле, он работает правильно.

Однако каждый ночью экран моего телевизора полностью выключен (не в спящем режиме, режиме ожидания или гибернации. Полностью выключен. Полоса питания отключена.) Каждое утро, когда я включаю его, экран остается черным. Я проверил с помощью ps -ef, скрипт работает в фоновом режиме, но ничего не отображается.

Когда я перезагружаю RPI, все в порядке.

Я думаю, когда телевизор выключен, RPI (или Xserver) обнаруживают, что вход HDMI отключен, и ... что-то остановить.

Есть ли у вас решение, чтобы избежать этой проблемы и постоянно иметь правильный дисплей (до и после TV shutodnw)?

Спасибо!

1 Ответ

0 голосов
/ 13 мая 2020

Исправлена ​​замена этого:

xset -dpms xset s off xset s noblank

на это

xset -dpms
xset s off
...