Systemdを使用してログインしたときにXサーバーを起動する

Systemdを使用してログインしたときにXサーバーを起動する

私はこれが人々がXを使用する一般的な方法ではないことを知っています。ほとんどのインストール手順startxでは、シェルの設定ファイルに似たものを追加するように指示します。しかし、私は仕事を管理するためにシステムが欲しい。

理想的には、systemctl --user enable x.serviceユーザーがログインしてリソースをインポートすると、このようなタスクを実行して.xinitrcWMを起動します。

この操作を試みると、すべてエラーが発生します。

/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server

そこ〜しなければならないこれを行う1つの方法です。どんな助けでも大変感謝します。

ベストアンサー1

次のコマンドを使用してX11から直接起動します。開始x、アクティブユーザーを自由に選択できます。https://vincent.bernat.ch/en/blog/2021-startx-systemd

Archlinuxガイドとは異なり、TTYxに自動ログインする必要はありません。これは直接グラフィックターゲットブートです。

組み込み/キオスク/セットトップボックスシステムでは、最小限の遅延で自動的に再起動されるようにサービスを変更しました。

[Unit]
Description=X11 session for bernat
After=graphical.target systemd-user-sessions.service

[Service]
User=bernat
WorkingDirectory=~

PAMName=login
Environment=XDG_SESSION_TYPE=x11
TTYPath=/dev/tty8
StandardInput=tty
UnsetEnvironment=TERM

UtmpIdentifier=tty8
UtmpMode=user

StandardOutput=journal
ExecStartPre=/usr/bin/chvt 8
ExecStart=/usr/bin/startx -- vt8 -keeptty -verbose 3 -logfile /dev/null
#Restart=no
Restart=always
RestartSec=3

[Install]
WantedBy=graphical.target

グラフィックターゲットを有効にすることを忘れないでください

sudo systemctl set-default graphical.target

私はDebianを使用してキオスクやセットトップボックスシステムなどの組み込みLinuxを作成するときにこれが最高のソリューションだと思います。グラフィカルアプリケーションで直接素早く起動します。

おすすめ記事