1 소개
x11vnc 는 원격에서 리눅스 환경으로 접속할 수 있게 해주는 VNC 서버 프로그램이다. Ubuntu 16.04 LTS 환경에서 쉽게 설치 및 사용할 수 있어서 vnc 서버 프로그램으로 주로 사용된다. 본 포스트에서는 설치 방법 및 다양한 옵션들에 대해 설명한다.
2 설치
x11vnc 는 터미널을 연 상태에서 아래의 명령어를 통해 쉽게 설치할 수 있다.
sudo apt-get install x11vnc
3 daemon 서비스 등록
x11vnc 를 daemon 서비스로 등록하면 PC가 재부팅될 때도 프로그램이 자동으로 백그라운드에서 실행된다. 따라서 매번 부팅 때마다 서버 프로그램을 시작하지 않아도 된다. /lib/systemd/system 폴더에 x11vnc.service 파일을 아래와 같이 작성한다.
sudo vim /lib/systemd/system/x11vnc.service
# write codes below.
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -xkb -norc -forever -shared -display :0 -auth guess -rfbauth /etc/x11vnc.pass -o /var/log/x11vnc.log -rfbport 5902
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2
[Install]
WantedBy=multi-user.target
위 파일을 저장한 후 daemon reload를 통해 서비스 목록에 추가한다.
$ sudo systemctl daemon-reload
서비스를 시작한다. 또한 부팅시 마다 자동으로 실행하기 위해 enable 명령어를 사용한다.
$ sudo systemctl start x11vnc.service
$ sudo systemctl enable x11vnc.service
4 비밀번호 설정하기
x11vnc 는 기본적으로 비밀번호없이 접속할 수 있다. 보안을 위해 접속할 때 비밀번호를 설정하고 싶으면 아래 명령어를 통해 설정한다.
sudo x11vnc -storepasswd
# Out[]:
Enter VNC passwd: [enter new password]
Verify password: [enter the new password again]
Write password to /home/ubuntu/.vnc/passwd? [y]/n y
Password written to : /home/ubuntu/.vnc/passwd
위 명령어가 끝나면 .vnc/passwd 파일이 생성된다. 저장된 파일을 /etc/x11vnc.pass 파일로 복사한다.
$ sudo cp ~/.vnc/passwd /etc/x11vnc.pass
비밀번호를 적용하기 위해 x11vnc 서버를 재시작한다.
$ sudo service x11vnc restart
5 옵션
[Service]
ExecStart=/usr/bin/x11vnc -xkb -norc -forever -shared -display :0 -auth guess -rfbauth /etc/x11vnc.pass -o /var/log/x11vnc.log -rfbport 5902 -allow 123.23 # 123.23.x.x 의 IP 대역만 접속할 수 있다.
forever
: 한 번 접속을 끊은 상태에서도 계속 서버를 유지shared
: 다중 클라이언트들의 접속을 허용 (없으면 1명만 접속 가능)rfbport
: 특정 포트 번호를 vnc 포트로 사용 (해당 글에서는 5902 포트를 사용)rfbauth
: 비밀번호를 통한 vnc 접속을 위한 비밀번호 파일 경로 설정 (-storepasswd 명령을 통해 생성된 파일을 연결하면 된다)o
: vnc 접속 기록을 저장하는 파일의 경로allow
: whitelist를 설정하여 허용한 IP들만 접속 가능하도록 설정한다.
'Software' 카테고리의 다른 글
tmux 다중터미널 프로그램 사용법 설명 및 환경설정 (0) | 2022.01.06 |
---|---|
Emacs 에디터 사용법 설명 및 C++/Python 개발환경설정 (0) | 2022.01.06 |
Vim 에디터 사용법 설명 및 C++/Python 개발환경설정 (0) | 2022.01.06 |
cmake 사용법 및 다양한 옵션 정리 (0) | 2022.01.06 |
TI-Nspire-CX-CAS 계산기 사용법 및 다양한 기능 설명 (3) | 2022.01.03 |