
Ubuntu 18.04에서 VNC 설치 및 구성 방법
2022-05-31 last update
11 minutes reading Ubuntu 18.04 Applications Miscellaneous소개
가상 네트워크 컴퓨팅(VNC)은 키보드와 마우스를 사용하여 원격 서버의 그래픽 데스크톱 환경과 상호작용할 수 있는 연결 시스템입니다.이것은 명령줄에 익숙하지 않은 사용자로 하여금 원격 서버에서 파일, 소프트웨어, 설정을 관리하기 쉽게 한다.
이 가이드에서는 Ubuntu 18.04 서버에 VNC 서버를 설정하고 SSH 터널을 통해 서버에 안전하게 연결합니다.이 패키지는 빠르고 가벼운 원격 제어 패키지입니다.이런 선택은 우리의 VNC 연결이 속도가 느린 인터넷 연결에서도 평온을 유지할 수 있도록 보장할 것이다.
선결 조건
이 강좌를 완성하려면 다음이 필요합니다.
vinagre
, krdc
, RealVNC 또는 RealVNC 등 다양한 옵션을 선택할 수 있습니다.1단계 - 데스크탑 환경 및 VNC 서버 설치
기본적으로 Ubuntu 18.04 서버에는 그래픽 데스크톱 환경이나 VNC 서버가 설치되어 있지 않으므로 먼저 설치합니다.구체적으로, 우리는 최신TightVNC 데스크톱 환경의 패키지와 공식 Ubuntu 저장소에서 제공하는 TightVNC 패키지를 설치할 것이다.
서버에서 패키지 목록 업데이트:
- sudo apt update
현재 서버에 Xfce 데스크톱 환경을 설치합니다.- sudo apt install xfce4 xfce4-goodies
설치가 완료되면 TightVNC 서버를 설치합니다.- sudo apt install tightvncserver
설치 후 VNC 서버의 초기 구성을 완료하려면 vncserver
명령을 사용하여 보안 암호를 설정하고 초기 구성 파일을 만듭니다.- vncserver
컴퓨터에 원격으로 액세스하려면 암호를 입력하고 확인하라는 메시지가 표시됩니다.OutputYou will require a password to access your desktops.
Password:
Verify:
암호 길이는 6~8자여야 합니다.8자 이상의 암호는 자동으로 차단됩니다.암호를 확인한 후 보기 전용 암호를 만들 수 있습니다.암호만 보고 로그인한 사용자는 마우스나 키보드를 사용하여 VNC 인스턴스를 제어할 수 없습니다.VNC 서버를 사용하는 다른 사용자에게 뭔가를 보여 주려면 유용한 옵션이지만 꼭 필요한 것은 아닙니다.
그런 다음 서버에 필요한 기본 구성 파일과 연결 정보를 만듭니다.
OutputWould you like to enter a view-only password (y/n)? n
xauth: file /home/sammy/.Xauthority does not exist
New 'X' desktop is your_hostname:1
Creating default startup script /home/sammy/.vnc/xstartup
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log
이제 VNC 서버를 구성합니다.2단계 - VNC 서버 구성
VNC 서버는 시작할 때 어떤 명령을 실행해야 하는지 알아야 합니다.VNC는 구체적으로 어떤 그래픽 데스크톱에 연결되어야 하는지 알아야 합니다.
이러한 명령은 홈 디렉토리
xstartup
폴더의 .vnc
라는 구성 파일에 있습니다.시작 스크립트는 이전 단계vncserver
를 실행할 때 만들어졌지만, 우리는 자신의 시작 Xfce 데스크톱을 만들 것입니다.VNC를 처음 설정하면 포트
5901
에서 기본 서버 인스턴스가 시작됩니다.이 포트를 디스플레이 포트라고 하고 VNC는 이를 :1
라고 합니다.VNC는 다른 디스플레이 포트에서 :2
, :3
등 여러 인스턴스를 시작할 수 있습니다.VNC 서버의 구성 방식을 변경하므로 먼저 다음 명령을 사용하여 포트
5901
에서 실행되는 VNC 서버 인스턴스를 중지합니다.- vncserver -kill :1
다른 PID를 볼 수 있지만 출력은 다음과 같습니다.OutputKilling Xtightvnc process ID 17648
xstartup
파일을 수정하기 전에 원본 파일을 백업하십시오.- mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
새 파일xstartup
을 만들고 텍스트 편집기에서 엽니다.- nano ~/.vnc/xstartup
이 파일의 명령은 VNC 서버를 시작하거나 다시 시작할 때마다 자동으로 실행됩니다.데스크탑 환경이 아직 시작되지 않은 경우 VNC를 사용해야 합니다.파일에 다음 명령을 추가합니다.~/.vnc/X 시작
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
파일의 첫 번째 명령xrdb $HOME/.Xresources
은 VNC의 GUI 프레임워크가 서버 사용자의 파일을 읽는다는 것을 알려줍니다..Xresources
는 사용자가 터미널 색상, 커서 테마, 글꼴 표현 등 그래픽 데스크톱의 일부 설정을 변경할 수 있는 곳입니다.두 번째 명령은 서버에 Xfce를 시작하라고 알려줍니다. 여기서 서버를 편안하게 관리하는 데 필요한 모든 그래픽 소프트웨어를 찾을 수 있습니다.파일을 저장하고 닫습니다.
VNC 서버가 이 새 시작 파일을 올바르게 사용할 수 있도록 실행 가능하게 해야 합니다.
- sudo chmod +x ~/.vnc/xstartup
이제 VNC 서버를 다시 시작합니다.- vncserver
다음과 같은 출력이 표시됩니다.OutputNew 'X' desktop is your_hostname:1
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log
구성이 완료되면 로컬 컴퓨터에서 서버에 연결합니다.3단계 - VNC 데스크탑에 안전하게 연결
VNC 자체는 연결할 때 보안 프로토콜을 사용하지 않습니다.SSH 터널을 사용하여 서버에 안전하게 연결한 다음 VNC 클라이언트에게 직접 연결이 아닌 터널을 사용하라고 알려 줍니다.
로컬 컴퓨터에 SSH 연결을 생성하여 VNC의 연결
.Xresources
으로 안전하게 전달합니다.Linux 또는 macOS의 터미널에서 다음 명령을 사용하여 수행할 수 있습니다.- ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip
localhost
스위치는 포트 바인딩을 지정합니다.이 예에서 우리는 원격 연결된 포트-L
를 로컬 컴퓨터의 포트5901
에 연결합니다.5901
스위치는 압축을 사용하고, -C
스위치는 원격 명령을 실행하고 싶지 않다고 알려줍니다.-N
스위치는 원격 로그인 이름을 지정합니다.서버의 sudo 비root 사용자 이름과 IP 주소로 바꾸기
ssh
와 -l
를 기억하십시오.Putty와 같은 그래픽 SSH 클라이언트를 사용하는 경우
sammy
을 연결 IP로 사용하고 프로그램의 SSH 터널 설정에서 your_server_ip
을 새 전달 포트로 설정합니다.터널이 실행되면 VNC 클라이언트를 사용하여 에 연결됩니다
your_server_ip
.1단계에서 설정한 암호를 사용하여 인증하라는 메시지가 표시됩니다.연결하면 기본 Xfce 데스크톱이 표시됩니다.그래야 한다.

다음과 같이 파일 관리자를 사용하거나 명령줄에서 홈 디렉토리의 파일에 액세스할 수 있습니다.

터미널에서
localhost:5901
를 눌러 SSH 터널을 중지하고 프롬프트로 돌아갑니다.이것 또한 VNC 세션의 연결을 끊습니다.이제 VNC 서버를 서비스로 설정합니다.
단계 4 - VNC를 시스템 서비스로 실행
다음은 VNC 서버를 systemd 서비스로 설정하여 필요에 따라 다른 서비스와 같이 시작, 정지, 다시 시작할 수 있습니다.또한 서버가 재부팅될 때 VNC가 시작되는지 확인합니다.
먼저 원하는 텍스트 편집기를 사용하여
localhost:5901
라는 새 단위 파일을 만듭니다.- sudo nano /etc/systemd/system/[email protected]
이름 끝에 있는 CTRL+C
기호는 서비스 설정에서 사용할 수 있는 매개 변수를 전송할 수 있도록 합니다.이를 사용하여 서비스를 관리할 때 사용할 VNC 디스플레이 포트를 지정합니다.파일에 다음 행을 추가합니다.사용자 이름과 일치하도록 PIDFILE 값의 User, Group, WorkingDirectory 및 username 값을 변경하십시오.
/etc/시스템 D/시스템/[email protected]
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
VNC가 이미 실행 중인 경우/etc/systemd/system/[email protected]
명령은 VNC를 중지합니다.@
명령은 VNC를 시작하고 색상 깊이를 24비트 색상으로 설정하며 해상도는 1280x800입니다.또한 이러한 시작 옵션을 수정하여 요구 사항을 충족할 수 있습니다.파일을 저장하고 닫습니다.
다음은 시스템에 새로운 단원 파일을 알려 줍니다.
- sudo systemctl daemon-reload
단위 파일을 사용합니다.- sudo systemctl enable [email protected]
ExecStartPre
기호 뒤에 있는 ExecStart
은 서비스가 어떤 표시 번호에 표시되어야 하는지를 나타냅니다. 이 경우 기본 표시 번호1
는 단계 2와 같습니다.VNC 서버의 현재 인스턴스가 실행 중인 경우 해당 인스턴스를 중지합니다.
- vncserver -kill :1
그리고 다른 시스템d 서비스를 시작하는 것처럼 시작합니다.- sudo systemctl start [email protected]
다음 명령을 통해 시작되었는지 확인할 수 있습니다.- sudo systemctl status [email protected]
시작이 올바르면 다음과 같이 출력해야 합니다.Output● [email protected] - Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/[email protected]; indirect; vendor preset: enabled)
Active: active (running) since Mon 2018-07-09 18:13:53 UTC; 2min 14s ago
Process: 22322 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS)
Process: 22316 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=0/SUCCESS)
Main PID: 22330 (Xtightvnc)
...
이제 컴퓨터를 다시 시작하면 VNC 서버를 사용할 수 있습니다.SSH 터널을 다시 시작하려면:
- ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip
그런 다음 VNC 클라이언트 소프트웨어를 사용하여 컴퓨터에 연결하기 위해 @
와 새 연결을 설정합니다.결론
이제 안전한 VNC 서버가 있으며 Ubuntu 18.04 서버에서 실행됩니다.이제 사용하기 쉽고 익숙한 그래픽 인터페이스로 파일, 소프트웨어, 설정을 관리할 수 있으며, 웹 브라우저 등 그래픽 소프트웨어를 원격으로 실행할 수 있습니다.