Sddm은 아직 시작되지 않았지만 이론적으로는 모든 것이 작동할 것입니다!

Sddm은 아직 시작되지 않았지만 이론적으로는 모든 것이 작동할 것입니다!

얼마 전 저는 Linux 모험을 시작하기로 결정했습니다. 가상 머신(VMware Workstation Pro)으로 시작했는데 모든 것이 잘 작동했습니다. 나는 KDE Plasma 데스크탑과 함께 Debian 10.4.0 배포판을 선택했습니다. 저는 데비안에 너무 만족해서 물리 드라이브에 설치했습니다. 불행하게도 sddmGNU GRUB 메뉴에서 Debian GNU/Linux 옵션을 선택하면 부팅에 실패합니다.

sddm을 사용할 수 없는 문제에 대한 많은 해결책을 찾았지만 그 중 어느 것도 도움이 되지 않았습니다. Debian GNU/LINUX를 부팅한 후 얻은 내용은 다음과 같습니다:

위의 몇 줄에는 "Watchdog Hardware Disabled"가 있습니다.

내가 확인한 첫 번째 일은 sddm이 기본 디스플레이 관리자로 설정되어 있고 유효한 디렉토리를 호출했다는 것입니다 /usr/bin/sddm. 그런 다음 활성화하려고 시도했지만 # systemctl enable sddm다음과 같이 표시됩니다.

하지만 입력하면 # systemctl status sddm인쇄됩니다.

어떻게 해결해야 할지 모르겠습니다. SDDM은 표시되지 않지만 작동하는 것 같습니다. 많은 사람들이 검은색 화면 문제를 겪고 있지만 보시다시피 그렇지 않습니다. 비공식 비무료 설치로 데비안을 다시 설치했는데 더 잘 작동했습니다(이전에 내 Wi-Fi 카드가 감지되지 않았습니다). 그러나 여전히 작동하지 않습니다.

도움이 된다면 내 컴퓨터 사양은 다음과 같습니다.

  • CPU: AMD 라이젠 7 3800X
  • GPU: MSI Geforce RTX 2070 Super Gaming X Trio
  • 마더보드: MSI MPG X570 게이밍 엣지 Wi-Fi

답변1

sddm.service기호 링크 /etc/systemd/system/display-manager.service(설치하고 기본 디스플레이 관리자로 실행하도록 선택한 X 디스플레이 관리자를 가리키는)에 의해 시작되며, 이는 차례로 graphical.target.

sddmGUI 로그인 화면/자동 로그인 세션을 시작할 수 없는 경우 단서를 검토 /var/lib/sddm/.local/share/sddm/xorg-session.log및/또는 /var/log/Xorg.0.log찾아야 합니다.

필요한 패키지가 누락되었을 수 있습니다 xserver-xorg-video-*. Geforce RTX 2070의 경우 오픈 소스 소프트웨어는 xserver-xorg-video-nouveau이를 처리할 수만 있지만 xserver-xorg-video-nvidia비자유 소프트웨어(버전 418.* 이상)를 사용하면 더 나은 결과를 얻을 수 있습니다.

RTX 2070을 사용하는 경우 xserver-xorg-video-nouveau일부 펌웨어 파일이 필요할 수 있습니다. 이러한 파일은 firmware-misc-nonfree.

유효한 경우 상태 파일, 해당 구성 파일 및/또는 에 있는 기본 스크립트 또는 해당 sysadmin-customised 버전 startx에 문제가 있을 수 있습니다 .sddm/var/lib/sddm/state.conf/etc/sddm.conf/usr/share/sddm/scripts/etc/sddm/


Debian 10 컨퍼런스 관련 세부 정보 sddm: (Wayland가 아니라 X11을 가정)

sddm시작 시 X 서버( /usr/bin/X) 를 시작하고 /usr/share/sddm/scripts/Xsetup스크립트를 실행한 다음(기본적으로 비어 있음) sddm-greeter에 자동 로그인이 구성되지 않은 경우 로그인 프롬프트를 시작합니다 sddm.conf. .desktop파일 에 여러 세션 유형이 정의된 경우 /usr/share/xsessions/인사말은 이전 GUI 로그인 중에 사용자가 선택한 세션 유형을 기본값으로 선택하여 제공합니다. 이 시점에서 세션 유형 선택은 단순히 $STARTUP파일에 지정된 명령을 가리키도록 환경 변수를 설정합니다 .desktop.

실제 사용자 세션은 에 의해 시작되며 /etc/sddm/Xsession, 로그인한 사용자로 실행되어 GUI 세션의 사용자 쉘 환경을 초기화한 후 실행하는데, 데비안에서 X 세션을 시작하는 메소드뿐만 아니라 다음과 같은 방법으로 호출 /etc/X11/Xsession해야 한다 . sddm를 포함한 모든 방법 startx.

(Wayland의 경우 세션 스크립트가 /usr/share/sddm/scripts/wayland-session교체될 예정인데 그 이후에는 어떻게 되는지 잘 모르겠습니다.)

/etc/X11/Xsession다양한 클래식 X 세션 프로필이 있는지 확인합니다. 그런 다음 /etc/X11/Xsession.d선택한 세션 시작 명령이 실제로 sddm-greeter존재하는지 확인하고 그렇지 않은 경우 일반(sysadmin 조정 가능) 기본값으로 돌아가 마지막으로 실제로 시작하는 스크립트를 가져옵니다 . KDE 세션의 경우 세션 시작 명령은 입니다 exec /usr/bin/startkde.

사용되기 때문에 이 명령은 실행 중인 셸 프로세스의 PID 와 해당 프로세스에서 이전에 얻은 모든 스크립트를 exec인수합니다 . /etc/X11/Xsession이 명령은 전체 X 로그인 세션의 "키"가 됩니다. 이 프로세스가 끝나면 sddm세션이 종료된 것으로 간주되어 전체 GUI 로그인 세션이 종료됩니다. 스크립트가 /usr/share/sddm/scripts/Xstop실행되고 X 서버가 재설정됩니다. , 그 이후에는 xauth새로운 쿠키가 생성됩니다. 이전 세션의 나머지 프로세스는 이때 HUP 신호를 수신할 수 있으며 일반적으로 사라집니다.

답변2

여러 가지 해결 방법을 시도한 후 문제에 대한 답을 직접 찾았습니다. sddm은 부팅 시 자동으로 시작되지 않지만

$ systemctl start sddm

루트로 로그인한 후 제대로 작동하여 다음을 변경해 보았습니다.

$ ls /etc/rc3.d/S03sddm lrwxrwxrwx 1 루트 루트 2020년 4월 14일 /etc/rc3.d/S03sddm -> ../init.d/sddm

도착하다:

$ ls /etc/rc3.d/S07sddm lrwxrwxrwx 1 루트 루트 2020년 4월 14일 /etc/rc3.d/S07sddm -> ../init.d/sddm

이름을 바꾸면 다음 재부팅 이후 모든 것이 잘 작동합니다! 누군가에게 유용하길 바랍니다.

관련 정보