systemd를 사용하여 X를 사용자 서비스로 시작하는 오류 문제 해결 도움말

systemd를 사용하여 X를 사용자 서비스로 시작하는 오류 문제 해결 도움말

비슷한 문제가 있는 질문이 있다는 것을 알고 있습니다.이와 같이, 그러나 거기에 있는 솔루션은 내 상황에 충분히 구체적이지 않습니다.

X를 사용하여 시작하는 방법 startx이 있다는 것을 알고 있지만 다음을 수행하고 싶습니다.xinitlogind

맥락: 저는 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에 로그인되어 있기 때문에 여기에는 적용되지 않습니다.)

관련 정보