Debian 12 VM이 있고 원격으로 시작할 때 사용자 세션이 TTY입니다. 콘솔 측에서 X11 세션을 시작하도록 할 수 있습니까?
A를 시도해 보세요
- KDE가 설치되었습니다
- 기본 세션 관리자로 Plasma-x11을 선택했습니다.
- 기본 디스플레이 관리자를 sddm으로 변경했습니다.
loginctl
SESSION UID USER SEAT TTY
3 1000 user1 pts/0
1 sessions listed.
loginctl show-session 3 -p Type
Type=tty
update-alternatives --config x-session-manager
There are 3 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/startxfce4 50 auto mode
* 1 /usr/bin/startplasma-x11 40 manual mode
2 /usr/bin/startxfce4 50 manual mode
3 /usr/bin/xfce4-session 40 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
cat /etc/X11/default-display-manager
/usr/sbin/sddm
ls /usr/share/xsessions
lightdm-xsession.desktop plasma.desktop xfce.desktop
하지만 내 사용자는 TTY 세션에 계속 로그인되어 있습니다. 어떻게 해결할 수 있나요?
B를 시도해 보세요
- display-manager.service를 시작하려고 합니다.
systemctl start display-manager.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'lightdm.service'.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ====
loginctl show-session 22 -p Type
Type=tty
그러나 x-session-manager를 /usr/bin/startplasma-x11로 설정하고 세션이 여전히 type=tty인데도 sddm 대신 lightdm이 시작됩니다.
C를 사용해 보세요
- sddm을 수동으로 시작했습니다
- 나는 startx, startplasma-x11 및 startkde를 시도했지만 성공하지 못했습니다.
systemctl start sddm.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'sddm.service'.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ====
startx
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
^Cxinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: unexpected signal 2
Couldn't get a file descriptor referring to the console.
startkde
zsh: command not found: startkde
startplasma-x11
$DISPLAY is not set or cannot connect to the X server.
결과적으로 내 사용자 세션을 X11로 변경하는 대신 sddm 사용자에 대해 x11 세션이 시작되었습니다.
loginctl
SESSION UID USER SEAT TTY
22 1000 user1 pts/0
24 111 sddm seat0
2 sessions listed.
일반 X11 세션이 있으면 디스플레이 관리자 사용자 세션이 아닌 내 사용자 세션입니다.
D를 시도해 보세요
- 터미널을 차단하지 않도록 루트 권한으로 startX를 시작하고 분리해 보았습니다.
doas startx &
[2] 2446
[2] + suspended (tty output) doas startx
하지만 작동하지 않습니다.
답변1
sddm
세션이 user 로 실행 되면 sddm
일반적으로 GUI 로그인 화면이 표시된다는 의미입니다. 이를 이용하여 로그인하면 사용자는 실제로 로그인되어 있는 계정으로 전환됩니다.
하지만 X11 서버가 시작 중입니다.가상 머신 콘솔, 의사 TTY 기반 원격 세션이 아닌
원격 X11 세션을 원하면 다음이 필요합니다.
- 실행 중인 X11 디스플레이 서버로컬 워크스테이션에서, 운영 체제에 적합
- SSH 세션X11 전달 활성화
xauth
원격 호스트/VM에서 사용할 수 있는 명령 및 X11 클라이언트 라이브러리.
구체적으로,원격 X11 서버가 전혀 필요하지 않습니다X11 기반 원격 세션의 경우: 실행 중이거나 설치될 필요가 없습니다. VNC나 RDP를 사용하면 상황이 달라집니다.
이러한 전제 조건이 모두 충족되면 DISPLAY
환경이 다음으로 설정된 터미널 세션이 자동으로 시작됩니다 localhost:10
(표시되는 숫자는 다를 수 있지만 10 이상임). XAUTHORITY
필요한 경우 배포판에서 환경 변수를 설정할 수도 있습니다. 그 시점에서 당신은 달릴 수 있어야합니다
startplasma-x11 &
KDE 세션을 시작합니다.