UEFIを使用して実行されるオンボードGPU(Intel)を搭載したDebian 11を実行するキオスクシステムがあります。モニターポートはVGAです。
現在は、gettyオーバーライドを使用して自動ログインします(引用する)とstartx
tty1を呼び出します。私たちはディスプレイマネージャを使用しません。
openbox-session
次に1つを起動し、vncと個々のアプリケーションを起動します。
if [[ "$(tty)" == '/dev/tty1' ]]; then
exec xinit $HOME/.xinitrc -- /etc/X11/xinit/xserverrc :0 vt1
fi
起動前にモニターを接続した場合は、後でモニターを抜いて再接続すると正常に表示されます。
ただし、電源を入れたときにモニタープラグがない場合。今後はモニターを接続できないと思います。(画面は永遠に空白のままです)。
起動中、およびopenbox-session
アプリケーションは正常に起動します(vncに表示されます)。
xserver-driver-xorg-video-dummyを使ってみて、/etc/X11/xorg.dummy.confを作成しました。
すべてのコンポーネントが実行されている間、openbox-sessionは画面にロードされません。
これまで、xorg.logに明らかなエラーは表示されません。
if [[ "$(tty)" == '/dev/tty1' ]]; then
exec xinit $HOME/.xinitrc -- /etc/X11/xinit/xserverrc :0 vt1 -config xorg.dummy.conf
fi
xorg.dummy.conf文書
Xvfbを使ってみましたが、それには適していないようです。問題がなくても、同じ問題がまだ存在します。
この目標を達成することは可能ですか?
現在、再起動時にモニター接続を忘れた場合は、再起動する必要があります。
答え1
問題はxサーバーやディスプレイマネージャにあるのではなく、実際には
ただし、xfce、gnome、およびethaveは自動的にモニタープラグを検出し、openboxは明らかに
これを完了するためにxrandrを使用しません(autorandrは機能しません)。
.config/openbox/autostartから
while true; do
# Grep first connected display
FIRSTDISPLAY=$(xrandr | grep " connected " | awk '{ print$1 }' | head -n 1)
# Force on
xrandr --output ${FIRSTDISPLAY} --auto
# Kill dpms, require to rerun incase display replug
xset -dpms
xset s noblank
xset s off
sleep 1
done