Cách cài đặt và cấu hình VNC trên Ubuntu 16.04
VNC, hay “Máy tính mạng ảo”, là một hệ thống kết nối cho phép bạn sử dụng bàn phím và chuột để tương tác với môi trường máy tính đồ họa trên server từ xa. Nó giúp việc quản lý file , phần mềm và cài đặt trên server từ xa dễ dàng hơn cho những user chưa thông thạo dòng lệnh.Trong hướng dẫn này, ta sẽ cài đặt VNC trên server Ubuntu 16.04 và kết nối với nó một cách an toàn thông qua tunnel SSH. Server VNC mà ta sẽ sử dụng là TightVNC, một gói điều khiển từ xa nhanh và nhẹ. Lựa chọn này sẽ đảm bảo kết nối VNC của ta sẽ trơn tru và ổn định ngay cả với kết nối internet chậm hơn .
Yêu cầu
Để hoàn thành hướng dẫn này, bạn cần :
- Một server Ubuntu 16.04 được cài đặt thông qua hướng dẫn cài đặt server ban đầu Ubuntu 16.04 , bao gồm việc có user không phải root có quyền sudo . Lưu ý hướng dẫn này có thể được hoàn thành bằng cách sử dụng Server có kích thước bất kỳ, nhưng VNC được xây dựng trên server nhỏ hơn có thể có nhiều giới hạn về chức năng hơn so với VNC lớn hơn. 
- Máy tính local có cài đặt ứng dụng client VNC hỗ trợ kết nối VNC qua tunnel SSH. Nếu bạn đang sử dụng Windows, bạn có thể sử dụng TightVNC, RealVNC hoặc UltraVNC. User Mac OS X có thể sử dụng chương trình Chia sẻ màn hình được tích hợp sẵn hoặc có thể sử dụng ứng dụng đa nền tảng như RealVNC. User Linux có thể chọn từ nhiều tùy chọn: - vinagre,- krdc, RealVNC, TightVNC,- krdc
Bước 1 - Cài đặt Môi trường Máy tính để bàn và Server VNC
Theo mặc định, Ubuntu 16.04 Server không đi kèm với môi trường máy tính để bàn (có giao diện đồ họa) hoặc server VNC được cài đặt, vì vậy ta sẽ bắt đầu bằng cách cài đặt chúng. Cụ thể, ta sẽ cài đặt các gói cho môi trường máy tính để bàn Xfce mới nhất và gói TightVNC có sẵn trong repository lưu trữ chính thức của Ubuntu.
Trên server của bạn, hãy cài đặt gói Xfce và TightVNC.
- sudo apt-get update 
- sudo apt install xfce4 xfce4-goodies tightvncserver 
Để hoàn tất cấu hình ban đầu của  server  VNC sau khi cài đặt, hãy sử dụng lệnh vncserver để  cài đặt  password  an toàn.
- vncserver 
Bạn sẽ được yêu cầu nhập và xác minh password cũng như password chỉ xem. User đăng nhập bằng password chỉ xem sẽ không thể điều khiển version VNC bằng chuột hoặc bàn phím của họ. Đây là một tùy chọn hữu ích nếu bạn muốn chứng minh điều gì đó với người khác bằng server VNC của bạn, nhưng không cần thiết.
 Chạy vncserver hoàn tất quá trình cài đặt VNC bằng cách tạo các file  cấu hình mặc định và thông tin kết nối để  server  của  ta  sử dụng. Với các gói này được cài đặt, bây giờ bạn đã sẵn sàng để cấu hình  server  VNC  của bạn .
Bước 2 - Cấu hình Server VNC
 Trước tiên,  ta  cần cho  server  VNC  của bạn  biết những lệnh nào cần thực hiện khi nó khởi động. Các lệnh này nằm trong file  cấu hình có tên xstartup trong folder  .vnc folder  chính của bạn. Tập lệnh khởi động được tạo khi bạn chạy vncserver ở bước trước, nhưng  ta  cần sửa đổi một số lệnh cho màn hình Xfce.
 Khi VNC lần đầu tiên được  cài đặt , nó  chạy  một version   server  mặc định trên cổng 5901. Cổng này được gọi là cổng hiển thị và được VNC gọi là :1 . VNC có thể  chạy  nhiều version  trên các cổng hiển thị khác, như :2 :3 , v.v. Khi làm việc với  server  VNC, hãy nhớ rằng :X là cổng hiển thị tham chiếu đến 5900+X
Vì ta sẽ thay đổi cách cấu hình server VNC, trước tiên ta cần dừng version server VNC đang chạy trên cổng 5901.
- vncserver -kill :1 
Đầu ra sẽ giống như thế này, với một PID khác:
OutputKilling Xtightvnc process ID 17648 Trước khi bắt đầu  cấu hình  file  xstartup mới, hãy  backup  file  root .
- mv ~/.vnc/xstartup ~/.vnc/xstartup.bak 
Bây giờ, hãy tạo một file  xstartup mới bằng nano hoặc editor  yêu thích của bạn.
- nano ~/.vnc/xstartup 
Dán các lệnh này vào file để chúng được thực hiện tự động khi nào bạn khởi động hoặc khởi động lại server VNC, sau đó lưu file .
~/.vnc/xstartup#!/bin/bash xrdb $HOME/.Xresources startxfce4 & Lệnh đầu tiên trong file , xrdb $HOME/.Xresources , yêu cầu khung GUI của VNC đọc file  .Xresources của  user   server . .Xresources là nơi  user  có thể  áp dụng các thay đổi  đối với một số cài đặt nhất định của màn hình đồ họa, như màu  terminal , chủ đề con trỏ và hiển thị phông chữ. Lệnh thứ hai chỉ đơn giản là yêu cầu  server   chạy  Xfce, đây là nơi bạn sẽ tìm thấy tất cả phần mềm đồ họa mà bạn cần để quản lý  server   một cách tiện lợi .
Để đảm bảo server VNC sẽ có thể sử dụng file khởi động mới này đúng cách, ta cần cấp các quyền thực thi cho nó.
- sudo chmod +x ~/.vnc/xstartup 
Bây giờ, khởi động lại server VNC.
- vncserver 
Server phải được khởi động với kết quả tương tự như sau:
OutputNew 'X' desktop is your_server_name.com:1  Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/liniverse.com:1.log Bước 3 - Kiểm tra VNC Desktop
Trong bước này, ta sẽ kiểm tra khả năng kết nối của server VNC của bạn.
 Trước tiên,  ta  cần tạo kết nối SSH trên máy tính local  của bạn để chuyển tiếp an toàn đến kết nối localhost cho VNC. Bạn có thể thực hiện việc này thông qua terminal trên Linux hoặc OS X bằng lệnh sau. Hãy nhớ thay thế user và server_ip_address bằng tên  user  và địa chỉ IP  không phải root có quyền sudo  của  server  của bạn.
- ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address 
Nếu bạn đang sử dụng  ứng dụng client  SSH đồ họa, như PuTTY, hãy sử dụng server_ip_address làm IP kết nối và đặt localhost:5901 làm cổng chuyển tiếp mới trong cài đặt tunnel  SSH của chương trình.
 Tiếp theo, bây giờ bạn có thể sử dụng client  VNC để thử kết nối với  server  VNC tại localhost:5901 . Bạn sẽ  được yêu cầu  xác thực. Mật khẩu chính xác để sử dụng là password  bạn đã đặt ở Bước 1.
Sau khi đã kết nối, bạn sẽ thấy màn hình nền Xfce mặc định. Nó trông giống như sau :
Bạn có thể truy cập các file trong folder chính của bạn bằng trình quản lý file hoặc từ dòng lệnh, như được thấy ở đây:
Bước 4 - Tạo file dịch vụ VNC
Tiếp theo, ta sẽ cài đặt server VNC như một dịch vụ systemd. Điều này sẽ giúp bạn có thể bắt đầu, dừng và khởi động lại nếu cần, giống như bất kỳ dịch vụ systemd nào khác.
 Đầu tiên, hãy tạo một file  đơn vị mới có tên /etc/systemd/system/vncserver@.service bằng editor  yêu thích của bạn:
- sudo nano /etc/systemd/system/vncserver@.service 
Copy paste phần sau vào đó. Đảm bảo thay đổi giá trị của User và tên user trong giá trị của PIDFILE để trùng với tên user của bạn.
/etc/systemd/system/vncserver@.service [Unit] Description=Start TightVNC server at startup After=syslog.target network.target  [Service] Type=forking User=sammy PAMName=login 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 Lưu và đóng file .
Tiếp theo, làm cho hệ thống biết file đơn vị mới.
- sudo systemctl daemon-reload 
Bật file đơn vị.
- sudo systemctl enable vncserver@1.service 
Số 1 sau dấu @ biểu thị số hiển thị mà dịch vụ sẽ xuất hiện, trong trường hợp này là mặc định :1 như đã thảo luận ở trên.
 Dừng version  hiện tại của  server  VNC nếu nó vẫn đang chạy.
- vncserver -kill :1 
Sau đó, khởi động nó như bạn sẽ khởi động bất kỳ dịch vụ systemd nào khác.
- sudo systemctl start vncserver@1 
Bạn có thể xác minh nó đã bắt đầu bằng lệnh này:
- sudo systemctl status vncserver@1 
Nếu nó bắt đầu đúng , kết quả sẽ giống như sau:
vncserver@1.service - TightVNC server on Ubuntu 16.04    Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)    Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago   Process: 2924 ExecStop=/usr/bin/vncserver -kill :%i (code=exited, status=0/SUCCESS)  ...   systemd[1]: Starting TightVNC server on Ubuntu 16.04...  systemd[2938]: pam_unix(login:session): session opened for user finid by (uid=0)  systemd[2949]: pam_unix(login:session): session opened for user finid by (uid=0)  systemd[1]: Started TightVNC server on Ubuntu 16.04. Kết luận
Đến đây bạn sẽ có một server VNC được bảo mật và đang chạy trên server Ubuntu 16.04 của bạn. Như vậy, bạn có thể quản lý các file , phần mềm và cài đặt của bạn với giao diện đồ họa quen thuộc và dễ sử dụng.
Các tin liên quan
Cách cài đặt WordPress với LEMP trên Ubuntu 16.042016-04-25
Cách thêm không gian swap trên Ubuntu 16.04
2016-04-25
Cách cài đặt Java với Apt-Get trên Ubuntu 16.04
2016-04-23
Cách cài đặt WordPress với LAMP trên Ubuntu 16.04
2016-04-22
Cách cài đặt Git trên Ubuntu 16.04
2016-04-21
Có gì mới trong Ubuntu 16.04
2016-04-21
Cách thêm và xóa người dùng trên Ubuntu 16.04
2016-04-21
Cách nâng cấp lên Ubuntu 16.04 LTS
2016-04-08
Cách tạo người dùng Sudo trên Ubuntu [Quickstart]
2016-03-28
Cách thiết lập múi giờ và đồng bộ hóa NTP trên Ubuntu 14.04 [Quickstart]
2016-03-28
 

