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 thêm không gian swap trên Ubuntu 16.042016-04-25
Cách cài đặt WordPress với LEMP 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 thêm và xóa người dùng trên Ubuntu 16.04
2016-04-21
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 nâng cấp lên Ubuntu 16.04 LTS
2016-04-08
Cách thiết lập múi giờ và đồng bộ hóa NTP trên Ubuntu 14.04 [Quickstart]
2016-03-28
Cách cài đặt LAMP trên Ubuntu 14.04 [Quickstart]
2016-03-28