Environments | |
OS | 우분투 리눅스 : Ubuntu 22.04.2 LTS |
KERNEL | 6.3.0-rc3+ |
타이거 VNC 를 사용해 원격지의 우분투에 Xwindows 으로 보여주는 것입니다.
설치했던 처음 설치했던 이 가이드가 유용할 것입니다.
현재 우분투 시스템에 TIGERVNC 의 설치 유무를 확인합니다.
dpkg -l | grep tigervnc
우분투에 TigerVNC 가 설치되어있으면 아래와 같은 출력을 볼 수 있다.
만약 TigerVNC 가 설치되어있지않으면 설치하자
1. TigerVNC 설치
아래 명령어로 타이거VNC 를 설치한다
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
VNC 서버구성 ( 비밀번호 설정 )
vncpasswd
이제 VNC Server 를 실행해 보자
VNC 서버 인스턴스를 시작하려면,
사용자는 VNC 서버를 위한 초기 구성 파일(~/.vnc/xstartup)을 만들고 실행 권한을 부여해야 할 수도 있습니다.
예를 들어, GNOME을 사용하는 경우 다음과 같은 내용을 xstartup 파일에 넣을 수 있습니다.
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# Set the DISPLAY environment variable
export DISPLAY=":1"
# Ensure the XDG_RUNTIME_DIR is set
export XDG_RUNTIME_DIR=/run/user/$(id -u)
if [ ! -d "$XDG_RUNTIME_DIR" ]; then
mkdir -p "$XDG_RUNTIME_DIR"
chmod 700 "$XDG_RUNTIME_DIR"
fi
# Start D-Bus session bus
eval `dbus-launch --auto-syntax`
# Load X resources (if any)
[ -r "$HOME/.Xresources" ] && xrdb "$HOME/.Xresources"
# Set a background color
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
/etc/X11/Xsession
gnome-session &
#startxfce4 &
vncconfig -nowin &
이 스크립트는 startxfce4 데스크탑 환경을 시작하는 예입니다. GNOME, KDE, LXDE 등 다른 데스크탑 환경을 사용한다면 해당 데스크탑의 시작 명령으로 대체해야 합니다. 이 파일에 실행 권한을 주려면 다음 명령을 사용합니다.
chmod +x ~/.vnc/xstartup
설정을 마친 후, 다음과 같은 명령어로 VNC 서버를 시작할 수 있습니다.
2. VNC 서버 실행
vncserver -localhost no
-localhost no 옵션은 VNC 서버가 로컬호스트 인터페이스에만 바인딩하지 않도록 설정합니다. 즉, 이 옵션을 사용하면 VNC 서버가 네트워크를 통해 원격 컴퓨터에서도 접근 가능하도록 허용합니
VNC 서버는 기본적으로 5901 포트에서 시작되며 (:1), 이는 첫 번째 VNC 인스턴스를 의미합니다. 추가 인스턴스는 5902 (:2), 5903 (:3) 등으로 순차적으로 번호가 매겨집니다.
3. VNC 서버 부팅시 자동실행 설정
systemmd 사용하여 재부팅시 자동실행하도록 구성
sudo vim /etc/systemd/system/vncserver@.service
그리고 아래 스크립트에서 user 는 실제 사용자이름으로 바꿉니다.
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=simple
User=<USER>
PAMName=login
PIDFile=/home/%u/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -localhost no :%i -geometry 1280x800 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
서비스파일 재로드
sudo systemctl daemon-reload
서비스 활성화
sudo systemctl enable vncserver@1.service
그리고 재부팅하면 자동으로 VNC 서버가 활성화 되어 동작함을 알 수 있다.
231109, Trubleshooting.
"Authentication is required to create a color profile " 을 빌미로? 자꾸 로그인을 요청한다
그래서 자동으로 로그인되도록 Ubuntu 설정을 추가해준다.
힌트는 아래 필자와 같은 고민을 하는 사람으로부터 해결했다.
참고 링크 확인 ( LINK )
두개의 파일을 만들어야한다. 경로는
1. /etc/polkit-1/localauthority.conf.d/
: 필자는 파일이 없어 만들었다.
: 02-allow-colord.conf
내용은 아래 참고 및 붙여넣기한다.
polkit.addRule(function(action, subject) {
if ((action.id == “org.freedesktop.color-manager.create-device” ||
action.id == “org.freedesktop.color-manager.create-profile” ||
action.id == “org.freedesktop.color-manager.delete-device” ||
action.id == “org.freedesktop.color-manager.delete-profile” ||
action.id == “org.freedesktop.color-manager.modify-device” ||
action.id == “org.freedesktop.color-manager.modify-profile”) &&
subject.isInGroup(“{group}”)) {
return polkit.Result.YES;
}
});
2. /etc/polkit-1/localauthority/50-local.d/
: 위에만 추가했을 때는 안됬고, 이파일을 추가하면서 자동로그인이 되었다. 혹시 모르니 둘다 하는것으로 결정
: color.pkla
: 내용은 아래 참고
[Allow colord for all users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile;org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=yes
ResultActive=yes
231109, TroubleShooting
화면보호기에서 다시 로그인할 수 없는 경우
원천적인 해결법은 찾지 못하였고, 그냥 화면보호기 진입하지 않도록하면된다.
sudo systemctl disable gnome-screensaver
또는 GUI 화면에서 화면보호기를 미사용으로 설정한다.
이제 재부팅하면 아주 잘되는 것을 확인할 수 있다.
힘들게 TigerVNC 서버 설정을 마무리했다.
'Unix & Linux' 카테고리의 다른 글
리눅스, 쉘 스크립트 (1) - Hello world (0) | 2021.06.17 |
---|---|
리눅스, 32비트? 64비트 확인 방법 (0) | 2021.06.14 |
UNIX ? LINUX? ( 리눅스 그리고 유닉스 ) (0) | 2021.06.04 |
우분투, 절전 모드 해제하기 (UBUNTU) (0) | 2021.05.24 |
리눅스 쉘 과 명령어 기본 (0) | 2021.04.26 |