RHEL9.x์์ XRDP ์ฌ์ฉ ์ ๋ฉํฐ ์ธ์ ์ค์ , ์ ์ง ๋ฐ ์ฌ์ฐ๊ฒฐ ๋ฐฉ๋ฒ
RHEL9.x์ XRDP ์ค์น ๋ฐ ์ฌ์ฉ ๋ฒ์ ์๋ URL ์ฐธ์กฐํ์๊ธฐ ๋ฐ๋๋๋ค.
RHEL9.x์์ XRDP ์ค์น ๋ฐ ์ฌ์ฉ
๋ชฉ์ฐจ
๋ฉํฐ ์ธ์ ์ค์
/etc/xrdp/sesman.ini์์ ์ฌ์ฉ์ wm ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ค์
$ sudo vi /etc/xrdp/sesman.ini ... [Globals] โฆ EnableUserWindowManager=true UserWindowManager=.vnc/startwm.sh ...
โป์ฐธ๊ณ : ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ ์ฉํ๊ธฐ ์ํด์๋ DefaultWindowManager์ ์ง์ ํฉ๋๋ค.ย sesman.ini ์ค๋ช ์๋ /etc/xrdp์ ๋ํ ์๋ ๊ฒฝ๋ก๊ฐ ๊ฐ๋ฅํ๋ค๊ณ ๋์ด ์์ง๋ง ์์คํ ์ ๋ฐ๋ผ ์๋ํ์ง ์์ ์ ์์ผ๋ /etc/xrdp/startwm.sh๋ผ๊ณ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋๋ก ํฉ๋๋ค.
$ sudo vi /etc/xrdp/sesman.ini EnableUserWindowManager=true ;UserWindowManager=.vnc/startwm.sh ; Give in full path or relative path to /etc/xrdp DefaultWindowManager=/etc/xrdp/startwm.sh
/etc/xrdp/sesman.ini์์ Policy=UBC๋ก ๋ณ๊ฒฝ(UBC=> User, Bit Per Pixel, Connect, ๋ชจ๋ ์ฐ๊ฒฐ์ ์๋ก์ด ์ธ์ ์์ฑ)
$ sudo vi /etc/xrdp/sesman.ini โฆ [Sessions] โฆ Policy=UBC โฆ
๊ฐ์ ์ฌ์ฉ์๋ก ํ๋ ๋ฉํฐ ์ธ์ ์ค์ ์ ์ํด์ DBUS ์ค์ ์ด ํ์ํจ. /etc/X11/xint/Xsession ํ์ผ ์๋จ์ ๋ค์ ๋ด์ฉ ์ถ๊ฐ
$ sudo vi /etc/X11/xinit/Xsession #!/usr/bin/bash export $(dbus-launch) ...
๊ฐ ์ธ์ ์ ์ฌ์ ์ํ๊ธฐ ์ํ ์ค์
์ ๋ฉํฐ ์ธ์ ์ค์ 1.์์ ์ ํ ๊ฒฝ๋ก์์ startwm.sh ํ์ผ ์์ฑ ํ ๋ค์ ๋ด์ฉ ์ถ๊ฐ
$ vi .vnc/startwm.sh cp ${HOME}/.vnc/passwd ${HOME}/.vnc/sesman_passwd-${USER}@${HOSTNAME}${DISPLAY/.0/} /etc/X11/xinit/Xsession
xrdp๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์๋ง๋ค vncpasswd ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ 1.์ $HOME/.vnc/passwd ํ์ผ์ ์์ฑ
$ vncpasswd Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used
- Xorg ์๋ฒ์ ๋ํ ๋ฉํฐ ์ธ์
์์ฑ ๋ฐ ์ฌ์ ์์ ์ํด์ ๋ค์ ๊ณผ์ ์ ์ถ๊ฐ๋ก ์งํํฉ๋๋ค.
x11vnc ์ค์น ๋ฐ ์ค์
$ sudo dnf install x11vnc
x11vnc๊ฐ /etc/X11/xint/Xsession์์ ์๋ ์คํ๋๋๋ก ์ค์ ํฉ๋๋ค.
$ sudo vi /etc/X11/xint/Xsession #!/usr/bin/bash export $(dbus-launch) x11vnc -repeat -display $DISPLAY -shared -forever -rfbauth $HOME/.vnc/passwd -rfbport 59`printf %02d $(expr match "$DISPLAY" '.*:\([0-9]*\).*')`& ...
x11vnc ์ค๋ช :
x11vnc๋ Xorg ์๋ฒ์ vnc๋ก ์ ์ํ ์ ์๋๋ก ํฉ๋๋ค.
- ์ด ๋ช ๋ น์ ์ต์ ์ Xorg ๋์คํ๋ ์ด ๋ฒํธ์ vnc ํฌํธ์ ๊ฐ์ ๊ฐ๊ฒ ํ๋๋ก ํ๋ ๋ด์ฉ์ด ํฌํจ๋์ด ์์ต๋๋ค.
-repeat: ํค๊ฐ ์ฐ์์ ์ผ๋ก ์ ๋ ฅ์ด ๋ ์ ์๋๋ก ํ๋ ์ต์ ์ ๋๋ค.
-shared: ํ๋ฉด ๊ณต์ ์ต์ ์ ๋๋ค.
-forever: vnc ์ธ์ ์ ๋ซ์๋ ๋ค์ ์ฐ๊ฒฐ์ ์ํด ๋๊ธฐํ๋๋ก ํ๋ ์ต์ ์ ๋๋ค.
-rfbauth: vnc ์ธ์ ์ ์ ์ ์ํธ๋ก ์ฌ์ฉํ ํ์ผ์ ์ง์ ํฉ๋๋ค.
-rfbport: vnc ์ ์์ ์ํด ๋๊ธฐํ๊ธฐ ์ํ ํฌํธ์ ๋๋ค. ์ ๋ช ๋ น์ $DISPLAY์ ๊ฐ๊ณผ ์ฐ๋ํ๋๋ก ํ์์ต๋๋ค.
์๋ก์ด Xrdp ์ธ์ ์คํ ๋ฐ ์ฌ์ ์
Xrdp ์ธ์ ์ผ๋ก Xvnc ์ธ์ ์ด๋ Xorg ์ธ์ ์ ์ ํํ ์ ์์ต๋๋ค.
Xvnc ์ธ์ ์ ๋ํ ์์ฑ ๋ฐ ์ ์ง(๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ)
xrdp ์คํ ํ Xvnc ์ธ์ ์ ํ
์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ(์ฌ์ฉ์ ์ํธ) ์ ๋ ฅ ํ ์ธ์ ์คํ
ํฐ๋ฏธ๋ ๋ฑ์์ echo $DISPLAY ๋ช ๋ น ํ์ธ
ex):30.0 => 30(์คํฌ๋ฆฐ ๋ฒํธ์ธ .0์ ์ ์ธํ ๋ฒํธ 30์ ๊ธฐ์ต)- ์ธ์
์ ์ง๋ฅผ ์ํด์๋ ๋ก๊ทธ ์์์ ํ์ง ์๊ณ Xmanager์ xrdp ์๋์ฐ๋ฅผ ๋ซ์ต๋๋ค. ๋ก๊ทธ ์์์ ํ ๊ฒฝ์ฐ ํด๋น ์ธ์
์ด ์ข
๋ฃ๋ฉ๋๋ค.
Xvnc ๊ธฐ์กด ์ธ์ ์ ์ฌ์ ์
xrdp ์คํ vnc-any ์ธ์ ์ ํํฉ๋๋ค
Port์ ์ 3.์ ๋์คํ๋ ์ด ๋ฒํธ์ 5900๋ฒ์ ๋ํ ์ซ์ ์ ๋ ฅํฉ๋๋ค.
ex) 30 => 5930Password์ ์ '๊ฐ ์ธ์ ์ ์ฌ์ ์ํ๊ธฐ ์ํ ์ค์ ' 2.์์ย vncpasswd ๋ช ๋ น์ผ๋ก ์ ํ ์ํธ ์ ๋ ฅ(username์ ์ ๋ ฅํ ํ์ ์์)
Xorg ์ธ์ ์ ๋ํ ์์ฑ ๋ฐ ์ ์ง(๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ)
- xrdp ์คํ ํ Xorg ์ธ์
์ ํ
์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ(์ฌ์ฉ์ ์ํธ) ์ ๋ ฅ ํ ์ธ์ ์คํํฉ๋๋ค.
ํฐ๋ฏธ๋ ๋ฑ์์ $DISPLAY ํ์ธํฉ๋๋ค.
$ echo $DISPLAY :13.0 $
์ ๋ช ๋ น์ $DISPLAY๊ฐ :13.0์์ ๋ํ๋ด๊ณ ์์ต๋๋ค. ์ด ๋์คํ๋ ์ด ๋ฒํธ 13๊ณผ VNC ๋๊ธฐ ํฌํธ 13์ ์ฐ๋์ํจ ์ x11vnc ๋ช ๋ น์ผ๋ก VNC๋ 5913๋ฒ์์ ๋๊ธฐ ์ํ์ ๋๋ค.
๋ก๊ทธ ์์์ด ์๋ xrdp ์ข ๋ฃ. ๋ก๊ทธ ์์์ ์ ํํ๋ฉด ์ธ์ ์์ฒด๊ฐ ์ข ๋ฃ๋ฉ๋๋ค.
Xorg ๊ธฐ์กด ์ธ์ ์ ์ฌ์ ์
xrdp ์คํ vnc-any ์ธ์ ์ ํ
Port์ ์ c.์ ๋์คํ๋ ์ด ๋ฒํธ์ 5900๋ฒ์ ๋ํ ์ซ์ ์ ๋ ฅ
ex) 13 => 5913Password์ vncpasswd ๋ช ๋ น์ผ๋ก ์ ํ ์ํธ ์ ๋ ฅ(username์ ์ ๋ ฅํ ํ์ ์์)