나는 이것이 사람들이 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
다음 명령을 사용하여 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로 돌아가서 작동해야 한다고 생각합니다.