SaK가 다른 VT에서 실행 중인 gdm을 종료하는 이유는 무엇입니까?

SaK가 다른 VT에서 실행 중인 gdm을 종료하는 이유는 무엇입니까?

저는 sysrq가 활성화된 Fedora Linux 28을 실행하고 있습니다. 응답하지 않는 X 세션을 종료하려면 Alt+PrtScr+K를 누릅니다. 그러나 이로 인해 gdm다른 VT에서 실행되는 또 다른 X 세션도 다시 시작되었습니다. 왜?

답변1

  1. Linux SaK는 현재 tty에 열려 있는 모든 프로세스를 종료합니다.

    바라보다https://elixir.bootlin.com/linux/v4.17/source/drivers/tty/tty_io.c#L2700

  2. systemd-logind는 모든 활성 tty를 여는 것 같습니다.

    를 사용하여 이를 확인할 수 있습니다 lsof.

  3. X가 권한 없는 사용자로 실행되고 systemd-logind에 의존하는 경우 systemd-logind 다시 시작을 처리하지 않습니다. X가 systemd-logind에 대한 연결이 끊어지면 자체적으로 종료됩니다.

선택하다

따라서 권한이 없는 X 또는 Wayland를 사용하는 경우 SaK는 모든 VT에 간접적으로 영향을 미칠 수 있습니다.

대신 Alt+PrtScr+R을 사용한 다음 Ctrl+Alt+F6을 사용할 수 있습니다. 텍스트 콘솔에 로그인하여 프로세스를 수동으로 종료할 수 있습니다(예 Xorg: gnome-shellGNOME Wayland 세션을 사용하는 경우).

관련 정보