이틀 전에 시스템을 업데이트했는데 이제 startx systemd 스크립트를 시작할 수 없는 것으로 나타났습니다. 이는 Arch가 기본적으로 tty1로 부팅하기 때문에 발생하는 것 같습니다. tty7로 전환하고 startx를 다시 시작했습니다. 아마도 systemd 스크립트가 tty7을 지정했기 때문에 systemd 스크립트가 제대로 작동했습니다. 이틀 전에 "startx" 명령을 실행하면 다음과 같은 오류가 발생했습니다.
(==) 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을 사용하려고 합니다. 기본 동작이 변경되었나요? 이 문제를 어떻게 해결하나요?
답변1
마침내 그 이유를 알아냈습니다. Kodi에 필요한 Xwrapper.config를 편집하고 그 이후로 요구 사항을 테스트하기 위해 변경했습니다. 업데이트를 다시 요구하려면 업데이트로 인해 무언가가 변경되었을 것입니다.
sudo nano /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights = yes // no value caused issues
sudo startx는 옵션 없이도 계속 작동하지만, 실행하고 종료하면 tty7로 전환할 수 없게 됩니다.
startx에는 루트 권한이 필요하지 않다는 것을 이해하고 있기 때문에 이것이 왜 필요한지 아직도 모르겠습니다.