![systemd를 사용하여 X를 사용자 서비스로 시작하는 오류 문제 해결 도움말](https://linux55.com/image/208737/systemd%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20X%EB%A5%BC%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A1%9C%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%EC%98%A4%EB%A5%98%20%EB%AC%B8%EC%A0%9C%20%ED%95%B4%EA%B2%B0%20%EB%8F%84%EC%9B%80%EB%A7%90.png)
비슷한 문제가 있는 질문이 있다는 것을 알고 있습니다.이와 같이, 그러나 거기에 있는 솔루션은 내 상황에 충분히 구체적이지 않습니다.
X를 사용하여 시작하는 방법 startx
이 있다는 것을 알고 있지만 다음을 수행하고 싶습니다.xinit
logind
맥락: 저는 OpenSUSE Tumbleweed와 Systemd를 사용하고 있습니다.
특정 tty에서 로그인할 때 사용자 지정 사용자 대상과 사용자 서비스를 사용하여 여러 프로그램을 시작하려고 하는데 서비스 중 하나가 X 서버입니다. 현재 다음 서비스 파일이 있습니다 ~/.config/systemd/user/Xserver.service
. 이는 vt7에서 빈 Xorg 서버를 시작한다는 의미입니다.
[Unit]
Description=Starts the X server
After=default.target
[Service]
Type=simple
ExecStart=/usr/bin/X vt07 :0
NoNewPrivileges=false
[Install]
# Irrelevant as of time being, just some custom targets I plan on isolating later.
그러나 이 서비스( )를 시작하려고 하면 systemctl --user start Xserver.service
종료 코드 1과 함께 실패하고 Xorg 로그를 읽는 동안 "VT 전환 실패"라는 메시지가 표시됩니다.
나는 이 시점에서 X가 루트 권한(setuid로 인해)으로 실행되고 이미 /dev/tty7에 연결되어 있어야 한다는 것을 알고 있는데, 어떻게 이런 일이 발생합니까?
작동하게 하려면 어떻게 해야 하나요?
PS: (동적으로 tty를 할당하는 systemd의 추론은 서비스가 시작될 때 이미 tty에 로그인되어 있기 때문에 여기에는 적용되지 않습니다.)