루트로 실행되는 Xorg에서 VT 스위치가 작동하지 않는 이유는 무엇입니까?

루트로 실행되는 Xorg에서 VT 스위치가 작동하지 않는 이유는 무엇입니까?

영향을 받는 소프트웨어 버전:

$ rpm -q --whatprovides /usr/bin/Xorg
xorg-x11-server-Xorg-1.19.6-8.fc28.x86_64

(즉, 이는 최신 Fedora 28 Workstation 설치에 있습니다.)

재현 단계:

  1. Ctrl+Alt+F5를 사용하고 text vt 5로 전환한 후 로그인하세요.
  2. sudo -i
  3. Xorg :10
  4. ctrl+alt+f6을 사용하여 텍스트 vt 6으로 전환하세요.
  5. vt 5로 다시 전환하려면 ctrl+alt+f5를 사용하세요.

예상 결과: 그래픽 X 세션이 보입니다(완전히 검은색 화면, 마우스 커서 없음).

실제 결과: Xorg의 일부 로그 메시지가 포함된 텍스트 콘솔이 표시됩니다. Xorg 프로세스가 계속 실행 중입니다.

추가 정보:

화면에 표시되는 마지막 줄은 다음과 같습니다.

(II) AIGLX: Suspending AIGLX clients for VT switch

또한 /var/log/Xorg.10.log는 Xorg가 systemd-logind를 사용하지 않음을 보여줍니다.

(II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration

답변1

Xorg가 어떻게 작동했는지 잘못 기억하고 계십니다 :). VT1부터 VT6까지는 텍스트 콘솔용으로 예약되어 있었기 때문에 X는 VT7 이상에서 실행되었던 것을 기억하세요.

systemd 및 로그인의 경우 VT는 기본적으로 요청 시 설정됩니다. VT2로 전환하지 않으면 VMware gettyloginVMware 모두 VT2에서 시작되지 않습니다. 대조적으로, VT2는 여전히 사용 가능하며 최초의 무료 VT를 사용하는 Xorg와 같은 프로그램에서 요구할 수 있습니다.

Xorg 세션이 실제로 VT2에 있는지 확인하는 또 다른 방법은 이를 제어 터미널로 ps -ax표시하는 것입니다.tty2

이전 시스템에서는 텍스트 VT에 로그인하고 Xorg를 시작한 경우 현재 텍스트 VT를 재사용하지 않습니다. startx최신 시스템에서 텍스트 VT를 재사용하는 것이 혼란스럽습니다 . 하지만 이는 로그인을 사용하기 때문입니다. 로그인함으로써 X는 권한이 없는 프로세스로 시작할 수 있으며... 다른 VT로 전환할 수 있는 권한은 없습니다. 로그 메시지에 언급된 옵션은 -keeptty이를 위해 특별히 추가되었습니다.


Xorg -keeptty에서 실행하지 않는 것이 좋습니다 sudo -i. -keeptty이 상황을 위해 특별히 설계되지 않았습니다. 아니면 적어도 내 시스템에서는 제대로 작동하지 않습니다. 이전 코드와 새 코드가 서로 싸우기 시작하는 것 같습니다 :) -

텍스트 커서(밑줄)가 깜박이지 않는 화면이 나타나고 "ctrl+alt+f6"이 텍스트 vt6으로 전환되지 않습니다. 먼저 alt+sysrq+R을 사용해야 합니다. (나는 가지고있다내 Fedora 시스템에서 sysrq 활성화). "ctrl+alt+f5"를 사용하면 원래 vt로 다시 전환되고 예상했던 검은색 화면이 표시됩니다. X 프로세스의 제어 터미널은 tty5이지만 열려 lsof -p있는 것으로 표시됩니다 tty2. VT2로 전환한 후 VT5로 다시 전환했는데 Xorg에서 오류가 기록되었습니다.

[ 40399.826] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 40399.826] (II) AIGLX: Resuming AIGLX clients after VT switch
[ 40399.826] (EE) modeset(0): failed to set mode: Permission denied
[ 40399.826] (EE) 
Fatal server error:
[ 40399.827] (EE) EnterVT failed for screen 0
[ 40399.827] (EE) 
[ 40399.827] (EE) 
Please consult the Fedora Project support 
     at http://wiki.x.org
 for help. 
[ 40399.827] (EE) Please also check the log file at "/var/log/Xorg.10.log" for additional information.
[ 40399.827] (EE) 
[ 40399.828] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 40400.029] (EE) Server terminated with error (1). Closing log file.

관련 정보