Как перезапустить Xorg после перезагрузки телевизора?

У меня есть безголовый RPI, подключенный к телевизору через 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

Этот скрипт был сохранен в файле ~/.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 отключен, и... что-то останавливает.

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

Спасибо !


person Captain Nemo    schedule 08.05.2020    source источник


Ответы (1)


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

xset -dpms xset s off xset s noblank

этим

xset -dpms
xset s off
person Captain Nemo    schedule 13.05.2020