2日前にシステムを更新しましたが、startxsystemdスクリプトを開始できないことに気付きました。これは、Archがデフォルトでtty1を起動したことが原因のようです。 tty7に切り替えてstartxsystemdスクリプトを再起動すると、おそらくsystemdスクリプトでtty7が指定されているため、正常に機能します。 「startx」コマンドだけを実行すると、2日前に機能した次のエラーが発生します。
(==) Log file: "/home/XXXXX/.local/share/xorg/Xorg.0.log", Time: Wed Feb 10 19:13:22 2016
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) parse_vt_settings: Cannot open /dev/tty0 (No such file or directory)
(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/home/XXXXX/.local/share/xorg/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Couldn't get a file descriptor referring to the console
Systemdスクリプトの関連スニペットは次のとおりです。
TTYPath=/dev/tty7
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/Kodi-standalone -- :0 -nolisten tcp vt7
Restart = on-abort
StandardInput = tty
通常、システムはtty7で起動し、GUIアプリはtty7が指定されているかどうかに関係なく起動に問題はありません。現在、startxはデフォルトでtty0を使用しようとしますが、これは存在しないようです。デフォルトの動作に変更はありましたか?これはどのように解決できますか?
私はついに原因を突き止めました。 Kodiに必要なXwrapper.configを編集し、それ以降、その要件をテストするために変更しました。更新により、何かが変更され、再度必要になったに違いありません。
Sudo nano /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights = yes // no value caused issues
Sudo startxはオプションなしで機能しましたが、実行して終了するとtty7に切り替えることができなくなります。
Startxはroot権限を必要としないことを理解していたので、なぜそれが必要なのかはまだわかりません。