로그인 화면을 통해 docker/podman 컨테이너 내부의 VNC 서버에 연결

로그인 화면을 통해 docker/podman 컨테이너 내부의 VNC 서버에 연결

현재 Podman 컨테이너 내에서 Ubuntu 18.04 인스턴스를 시작하고 실행하려고 합니다. 우리의 목표는 VNC를 통해 컨테이너 내부의 Linux 시스템에 연결할 수 있는 것이며 TigerVNC를 이 목적으로 사용할 수 있도록 노력하고 있습니다. 이제 모든 것이 잘 작동하고 있습니다. 컨테이너가 시작될 때 시작하는 시스템 서비스로 vncserver를 설정했으며 VNC 클라이언트를 통해 연결할 수 있습니다. 그러나 우리는 혼란스러워 보이는 일종의 로그인 화면을 보지 못했습니다. 우리는 gdm3(systemd로 제어)를 설치했고 이제 gnome을 사용합니다(결국 xfce로 전환할 예정입니다). systemd vncserver 서비스는 루트로 실행되며 기술적으로 모든 것을 파악한 후에는 userland 서비스로 전환합니다.

저는 Linux 전문가가 아니기 때문에 몇 가지 질문을 드리고 싶습니다.

  1. 분명한 사실: 왜 로그인 화면이 없나요? VNC가 Linux 로그인 프로세스를 우회하는 것이 어떻게 가능합니까?
  2. xstartupXWindow 시스템에 즉시 들어가지 않도록 어떤 방식으로든 구성 해야 합니까 ?

다음과 같습니다 /root/.vnc/xstartup.

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

최고입니다. 미리 감사드립니다. 앤디

답변1

로그인 관리자(gdm)에 문제가 있는 것 같습니다. lightdm으로 전환하고 일부 구성을 수행한 후 원하는 것을 성공적으로 달성했습니다. Lightdm에는 시작 시 VNC 서버 인스턴스를 시작할 수 있는 기능이 있습니다. /etc/lightdm/lightdm.conf예를 들어 다음과 같이 지정할 수 있습니다.

[LightDM]
start-default-seat=false

[VNCServer]
enabled=true
command=Xvnc :1 -rfbauth /opt/vnc_passwd
port=5901
width=1024
height=768
depth=24

이 구성을 사용하면 VNC를 통해 Podman 컨테이너 내부의 기본 Linux에 연결할 수 있습니다.

최고예요, 앤디

관련 정보