console-setup.service
画面解像度検出を使用しfbset -s
、それに応じてコンソールフォントのサイズを変更するように更新したいと思います。の場合、fbset
私がいる必要が/dev/fb0
ありますが、どのサービスに依存関係を作成する必要があるのかわかりません。/dev/fb0
起動時にどのように生成しますか?
答え1
/dev/fb0
カーネルは、対応するディスプレイコントローラハードウェアを検出して初期化すると、最初のフレームバッファディスプレイドライバを生成します。
ドライバがカーネルに組み込まれている場合は、ユーザー空間プロセスの実行を開始したときに実際にドライバが存在する可能性があります。
以下のudevルールを追加すると:
SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd"
*.device
これの単位を取得し、依存関係に使用できます。
udev ルールに追加すると、ENV{SYSTEMD_WANTS}+="your.service"
udev はデバイスが起動するとすぐにサービスを開始するように systemd に指示し、計画に合ったfbset
場合は別のサービスとして実行できます。
少なくともDebian 12ではconsole-setup.service
実行中ですが、After=console-screen.service kbd.service local-fs.target
定義されてconsole-screen.service
いないようです。したがって、独自のconsole-screen.service
実行可能フォント操作fbset
とコンソールフォント操作を定義し、udevにそれをトリガーさせることができます。
SUBSYSTEM=="graphics", KERNEL=="fb0", ENV{SYSTEMD_WANTS}+="console-screen.service"
一度デバイスを使用することができます。
その後、タスクの順序は/dev/fb0
表示 - >カスタムconsole-screen.service
実行 - >console-setup.service
実行です。
次に、コンソールフォントを維持するように標準を設定し、console-setup.service
カスタマイズしますconsole-screen.service
。