Cài đặt vnc trên linux

Ubuntu 20.04 LTS là phiên bản hệ điều hành mới nhất của Ubuntu. Sau khi thực hiện cài đặt giao diện GUI cho Ubuntu Server, mình muốn thực hiện kết nối tới bằng GUI thay cho command line. Để làm được như vậy, mình cần thực hiện cài đặt VNC Server. Dưới đây là hướng dẫn cài đặt.

Chú ý bài viết này áp dụng được cho cả 2 phiên bản Desktop và Server của Ubuntu.

Cài đặt VNC Server trên Ubuntu 20.04

Đầu tiên, chúng ta cần kết nối tới Ubuntu thông qua giao thức SSH, sau đó chạy lệnh update để cập nhật các package lên gói mới nhất.

sudo apt update

Cài đặt các package cần thiết!

sudo apt install xfce4 xfce4-goodies

Cài đặt TightVNC

sudo apt install tightvncserver

Khởi động VNC Server

Để chạy dịch vụ VNC chúng ta sử dụng command bên dưới:

vncserver

Nó sẽ hỏi bạn tạo mật khẩu để truy cập

Cài đặt vnc trên linux

Sửa file ~/.vnc/xstartup với nội dung như sau:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Khởi động cùng hệ điều hành cho VNC Server

Tạo file /etc/systemd/system/[email protected] có nội dung như sau:

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/vinasupport

PIDFile=/home/vinasupport/.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 file lại, sau đó khởi động lại deamon và kích hoạt service

sudo systemctl daemon-reload
sudo systemctl enable [email protected]

Và bây giờ bạn có thể khởi động vnc service với lệnh bên dưới

sudo systemctl start [email protected]

Kết nối tới VNC Server

Để kết nối, chúng ta sử dụng phần mềm VNC Client. Các bạn vui lòng tham khảo bài viết dưới đây.

  • https://vinasupport.com/huong-dan-cai-dat-va-cau-hinh-vnc-server-tren-centos-7/

Kết quả:

Cài đặt vnc trên linux

Nguồn: vinasupport.com

Hướng dẫn này bao gồm các bước cần thiết để cài đặt và định cấu hình máy chủ VNC trên hệ thống Ubuntu 18.04. Chúng tôi cũng sẽ chỉ cho bạn cách kết nối an toàn với máy chủ VNC thông qua đường hầm SSH.

Máy tính mạng ảo (VNC) là một hệ thống chia sẻ máy tính để bàn đồ họa cho phép bạn sử dụng bàn phím và chuột để điều khiển từ xa một máy tính khác. Nó là một sự thay thế nguồn mở cho giao thức máy tính từ xa của Microsoft (RDP).

Điều kiện tiên quyết

Trước khi tiếp tục với hướng dẫn, hãy đảm bảo bạn đã đăng nhập với tư cách là người dùng có quyền sudo.

Cài đặt môi trường máy tính để bàn

Hầu hết các máy chủ không cài đặt môi trường máy tính để bàn, vì vậy chúng tôi sẽ bắt đầu bằng cách cài đặt môi trường máy tính để bàn nhẹ.

Có một số môi trường máy tính để bàn (DE) có sẵn trong kho Ubuntu. Trong hướng dẫn này, chúng tôi sẽ cài đặt Xfce. Đây là một môi trường máy tính để bàn nhanh, ổn định và nhẹ, làm cho nó lý tưởng để sử dụng trên một máy chủ từ xa.

Đầu tiên cập nhật hệ thống của bạn với:

sudo apt update sudo apt upgrade

Sau đó, nhập lệnh sau để cài đặt Xfce trên máy chủ của bạn:

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Tùy thuộc vào hệ thống của bạn, việc tải xuống và cài đặt các gói Xfce có thể mất một chút thời gian.

Ngoài ra còn có một số máy chủ VNC khác nhau có sẵn trong kho của Ubuntu, chẳng hạn như TightVNC, TigerVNC và x11vnc. Mỗi máy chủ VNC có điểm mạnh và điểm yếu khác nhau về tốc độ và bảo mật.

Chúng tôi sẽ cài đặt TigerVNC, được duy trì tích cực máy chủ VNC hiệu suất cao.

Nhập lệnh sau để cài đặt TigerVNC trên máy chủ Ubuntu của bạn:

sudo apt install tigervnc-standalone-server tigervnc-common

Bây giờ máy chủ VNC đã được cài đặt, bước tiếp theo là chạy lệnh vncserver sẽ tạo cấu hình ban đầu và thiết lập mật khẩu. Không sử dụng sudo khi chạy lệnh sau:

vncserver

Bạn sẽ được nhắc nhập và xác nhận mật khẩu và có nên đặt mật khẩu làm mật khẩu chỉ xem. Nếu bạn chọn thiết lập mật khẩu chỉ xem, người dùng sẽ không thể tương tác với phiên bản VNC bằng chuột và bàn phím.

You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd:1 to connect to the VNC server.

Lần đầu tiên lệnh vncserver được chạy, nó sẽ tạo và lưu trữ tệp mật khẩu trong thư mục ~/.vnc sẽ được tạo nếu không có.

Lưu ý :1 sau tên máy chủ trong đầu ra ở trên. Điều này cho biết số cổng hiển thị mà máy chủ vnc đang chạy. Trong trường hợp của chúng tôi, máy chủ đang chạy trên cổng TCP 5901 (5900 + 1). Nếu bạn tạo một phiên bản thứ hai với vncserver nó sẽ chạy trên cổng miễn phí tiếp theo, nghĩa là :2 có nghĩa là máy chủ đang chạy trên cổng 5902 (5900 + 2).

Điều quan trọng cần nhớ là khi làm việc với các máy chủ VNC, :X là cổng hiển thị đề cập đến 5900+X

Trước khi tiếp tục bước tiếp theo, trước tiên hãy dừng phiên bản VNC bằng lệnh vncserver với tùy chọn -kill và số máy chủ làm đối số. Trong trường hợp của chúng tôi, máy chủ đang chạy ở cổng 5901 ( :1 ), vì vậy chúng tôi sẽ dừng nó với:

vncserver -kill:1

Killing Xtigervnc process ID 7264… success!

Cấu hình máy chủ VNC

Bây giờ chúng tôi đã cài đặt cả Xfce và TigerVNC trên máy chủ của mình, chúng tôi cần định cấu hình TigerVNC để sử dụng Xfce. Để làm như vậy, tạo tập tin sau:

~ /.vnc / xstartup

nano ~/.vnc/xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Lưu và đóng tập tin. Các lệnh trên sẽ được thực hiện tự động bất cứ khi nào bạn khởi động hoặc khởi động lại máy chủ TigerVNC.

Tệp ~/.vnc/xstartup cũng cần có quyền thực thi. Chạy chmod sau để đảm bảo quyền là chính xác:

chmod u+x ~/.vnc/xstartup ~ /.vnc / cấu hình

geometry=1920x1084 dpi=96

Tạo tệp đơn vị Systemd

Chúng tôi sẽ tạo một tệp đơn vị systemd cho phép chúng tôi dễ dàng khởi động, dừng và khởi động lại dịch vụ VNC khi cần, giống như bất kỳ dịch vụ systemd nào khác.

Mở trình soạn thảo văn bản của bạn và sao chép và dán cấu hình sau vào nó. Đảm bảo thay đổi tên người dùng trong dòng 7 để khớp với tên người dùng của bạn.

sudo nano /etc/systemd/system/[email protected] /etc/systemd/system/[email protected]

Description=Remote desktop service (VNC) After=syslog.target network.target Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ||:' ExecStart=/usr/bin/vncserver:%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

Lưu và đóng tập tin.

Thông báo cho systemd rằng chúng tôi đã tạo một tệp đơn vị mới với:

sudo systemctl daemon-reload

Bước tiếp theo là kích hoạt tệp đơn vị bằng lệnh sau:

sudo systemctl enable [email protected]

Số 1 sau dấu @ xác định cổng hiển thị mà dịch vụ VNC sẽ chạy. Điều này có nghĩa là máy chủ VNC sẽ lắng nghe trên cổng 5901 , như chúng ta đã thảo luận trong phần trước.

Bắt đầu dịch vụ VNC bằng cách thực hiện:

sudo systemctl start [email protected]

Xác minh rằng dịch vụ được bắt đầu thành công với:

sudo systemctl status [email protected]

● [email protected] - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/[email protected]; indirect; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 19:05:54 UTC; 4s ago Process: 9893 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 9900 (vncserver) Tasks: 0 (limit: 507) CGroup: /system.slice/system-vncserver.slice/[email protected] ‣ 9900 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg

Kết nối với máy chủ VNC

VNC không phải là một giao thức được mã hóa và có thể bị đánh hơi gói. Cách tiếp cận được đề xuất là tạo một đường hầm SSH sẽ chuyển tiếp lưu lượng truy cập từ máy cục bộ của bạn trên cổng 5901 đến máy chủ trên cùng một cổng một cách an toàn.

Thiết lập đường hầm SSH trên Linux và macOS

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address Bạn sẽ được nhắc nhập mật khẩu người dùng.

Đừng quên thay thế username server_ip_address bằng tên người dùng và địa chỉ IP của máy chủ của bạn.

Thiết lập đường hầm SSH trên Windows

Mở Putty và nhập Địa chỉ IP máy chủ của bạn vào trường Host name or IP address .

Cài đặt vnc trên linux

Cài đặt vnc trên linux

Cài đặt vnc trên linux

Cài đặt vnc trên linux

Cài đặt vnc trên linux

Bạn có thể bắt đầu tương tác với máy tính để bàn XFCE từ xa từ máy cục bộ bằng bàn phím và chuột.

Phần kết luận

Lúc này, bạn nên có một máy chủ VNC hoạt động và bạn có thể dễ dàng quản lý máy chủ Ubuntu 18.04 từ máy tính để bàn cục bộ của mình bằng giao diện đồ họa dễ sử dụng.

Để định cấu hình máy chủ VNC của bạn để bắt đầu hiển thị cho nhiều người dùng, hãy tạo cấu hình ban đầu và thiết lập mật khẩu bằng lệnh vncserver . Bạn cũng sẽ cần tạo một tệp dịch vụ mới bằng một cổng khác.

Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.

ubfox vnc