Armadilloフォーラム

WaylandでHDMIモニタにキオスクモードでFirefox-esrを表示したい

yhashi1977

2025年3月1日 17時18分

==========
製品型番:Armadillo-IoT G4
Debian/ABOSバージョン:3.21.3-at.1
カーネルバージョン:5.10.234-0-at
==========

お世話になっております。

waylandコンテナとfirefoxコンテナを作成して、HDMIモニタにfirefoxを全画面表示したいのですが
firefoxコンテナで下記エラーが発生して表示できません。

Running Firefox as root in a regular user's session is not supported.  ($XDG_RUNTIME_DIR is /run/xdg_home which is owned by atmark.)

waylandコンテナとfirefoxコンテナの両者ともat-debian-imageを使用しています。
それぞれのconfファイル、dockerfile、packages.txtを添付いたします。

firefoxのconfファイルで、/run/xdg_homeをatmarkユーザーでアクセスする方法はありますでしょうか?
または、confファイル等で正しい設定を教えていただけると助かります。

以上、よろしくお願いいたします。

コメント

at_shota.shimoyama

2025年3月4日 10時30分

下山です。

confファイルやDockerファイルなどを提示いただきありがとうございます。
非常に助かりました。

> firefoxのconfファイルで、/run/xdg_homeをatmarkユーザーでアクセスする方法はありますでしょうか?
ひとまず、firefoxのconfファイルに

add_args --user=atmark

を追加いただければ、firefox-esrを通常モードで起動できるようになります。

キオスクモードでの起動についてはおそらく別の要因で失敗してしまうのですが、
こちらについては引き続き調べてみます。

よろしくお願いします。

at_shota.shimoyama

2025年3月4日 16時26分

> キオスクモードでの起動についてはおそらく別の要因で失敗してしまうのですが、
> こちらについては引き続き調べてみます。

失敗する原因については分かりませんでしたが、
以下のように--kiosk-monitor 0を加えることでキオスクモードで起動できました。

firefox-esr --no-remote --kiosk -private-window https://www.yahoo.co.jp --kiosk-monitor 0

以上の方法で動作に問題がないかご確認いただけますでしょうか?
よろしくお願いします。

下山様

お世話になっております。

add_args --user=atmark

をconfファイルに追記することにより、ログに出力されていたエラーは出なくなりました。
ありがとうございます。

firefox-esr --no-remote --kiosk -private-window https://www.yahoo.co.jp --kiosk-monitor 0

こちらは試してみたところ、下記エラーがログに出力されました。

[GFX1-]: ManageChildProcess(glxtest): poll failed: Success
 
[GFX1-]: glxtest: ManageChildProcess failed
 
[GFX1-]: No GPUs detected via PCI
 
[Parent 2, Main Thread] WARNING: gtk_window_set_titlebar() called on a realized window: 'glib warning', file ./toolkit/xre/nsSigHandlers.cpp:187
 
(firefox-esr:2): Gtk-WARNING **: 08:31:48.355: gtk_window_set_titlebar() called on a realized window

先日アップロードさせていただいたwayland.confとfirefox.confから、
上記変更点以外は変更していません。
そちらの環境は、両コンテナ共に、at-debian-imageを使用しておりますでしょうか?
confファイルについて、上記以外で変更されている箇所はありませんでしょうか?

以上、よろしくお願いいたします。

at_shota.shimoyama

2025年3月4日 19時37分

> 先日アップロードさせていただいたwayland.confとfirefox.confから、
> 上記変更点以外は変更していません。
> そちらの環境は、両コンテナ共に、at-debian-imageを使用しておりますでしょうか?
> confファイルについて、上記以外で変更されている箇所はありませんでしょうか?

こちらでも使用しているファイルに上記以外で変更点はありません。
また、同様のWarningも確認しておりますが、ディスプレイには表示されています。

ただ、firefoxのコンテナについては調査のために一時的にset_command sleep infinityにした上でコンテナ内から直接firefoxを実行していたので、Armadillo起動時でも動作するかどうかは未検証でした…

Armadillo起動時にはwaylandコンテナとfirefoxコンテナが同時に起動するため、firefoxの起動にデスクトップ環境の準備が間に合いません。
↓のように変更してfirefoxの起動前に遅延を入れてみてください。(これでもたまに黒い画面のままになることがありますが…)

set_command /bin/bash -c "sleep 20 && /usr/bin/firefox-esr --no-remote --kiosk -private-window https://www.yahoo.co.jp --kiosk-monitor 0"

もしくは、デスクトップ環境の準備完了を確認してからfirefoxコンテナを手動で起動しなおしてみて↓、ひとまずfirefoxが表示されるかどうかご確認いただけますでしょうか?

podman_start firefox

下山様

ご返信ありがとうございます。

podman_start firefox
を試したところ、10回中8回成功、2回失敗しました。

set_command /bin/bash -c "sleep 20 && /usr/bin/firefox-esr --no-remote --kiosk -private-window https://www.yahoo.co.jp --kiosk-monitor 0"

こちらを試してみたところ、10回中6回成功、4回失敗しました。
sleep 30ですと、10回中9回成功、1回失敗となりましたが、
sleep 60でも、10回中9回成功、1回失敗となりました。

podman logsで、firefoxコンテナのエラーを確認しましたが、
成功時も失敗時も同じログだったので、
firefoxが表示されないケースもありますが、
表示できることは確認できたので、
失敗する原因については別途余裕のあるときに調査しようと思います。

以上、ありがとうございました。

at_shota.shimoyama

2025年3月5日 11時37分

> 表示できることは確認できたので、
> 失敗する原因については別途余裕のあるときに調査しようと思います。

表示が確認できたようで何よりです。

ご参考になるかはわかりませんが、wayland.confに以下を追加(マウス・キーボードの有効化)してマウスを接続すると、黒い画面(firefoxが表示されない)になってもマウスを動かすことで表示されるようです。

add_hotplugs input

不完全な解決になってしまい申し訳ありませんが、ご参考になれば幸いです。