私はこれが人々がXを使用する一般的な方法ではないことを知っています。ほとんどのインストール手順startx
では、シェルの設定ファイルに似たものを追加するように指示します。しかし、私は仕事を管理するためにシステムが欲しい。
理想的には、systemctl --user enable x.service
ユーザーがログインしてリソースをインポートすると、このようなタスクを実行して.xinitrc
WMを起動します。
この操作を試みると、すべてエラーが発生します。
/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を作成するときにこれが最高のソリューションだと思います。グラフィカルアプリケーションで直接素早く起動します。
答え2
答え3
ログインマネージャなしで起動時にXを起動するシステムユーザーとして、次の手順に従います。https://wiki.archlinux.org/index.php/Systemd/User#Automatic_login_into_Xorg_without_display_manager
答え4
https://wiki.archlinux.org/index.php/Xinit#Autostart_X_at_login
少しの検索は長い道のりを行きます。
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then exec startx fi
シェルの起動に入れると、コンソールから自動的に起動します。
startxに問題がある場合は、ttyに戻って動作する必要があると思います。