Hướng dẫn kết nối Remote Desktop trên Ubuntu: Cách sử dụng RDP, VNC và SSH an toàn, đơn giản nhất

目次

1. Giới thiệu: Tại sao nên sử dụng Remote Desktop trên Ubuntu?

Ngày càng nhiều trường hợp điều khiển Ubuntu từ xa

Các hệ điều hành Linux như Ubuntu trước đây thường được biết đến là lựa chọn của lập trình viên hoặc quản trị viên máy chủ, và mặc định là thao tác trực tiếp trên máy cục bộ. Tuy nhiên, trong những năm gần đây, với xu hướng làm việc từ xa ngày càng phổ biến và nhiều người sử dụng Ubuntu làm máy tính học tập, nhu cầu “điều khiển Ubuntu từ xa” cũng tăng mạnh.

Ví dụ, bạn có thể điều khiển máy chủ Ubuntu ở nhà từ ngoài, hoặc cài Ubuntu lên laptop cũ để làm máy phát triển từ xa — phạm vi ứng dụng của Remote Desktop ngày càng rộng mở.

So sánh với Windows: Ưu điểm riêng của Ubuntu

Có thể bạn sẽ thắc mắc: “Windows cũng có Remote Desktop, vậy có lý do gì nên dùng Ubuntu?” Thực tế, Ubuntu có những đặc điểm rất phù hợp cho thao tác từ xa như sau:

  • Hệ điều hành nhẹ, ổn định, chạy tốt cả trên máy cấu hình thấp
  • Bảo mật cao, dễ tích hợp với các giao thức mã hóa như SSH
  • Miễn phí, mã nguồn mở, không tốn phí khi dùng trên nhiều thiết bị

Nhờ những lý do này, ngày càng nhiều người chọn Ubuntu cho học lập trình hoặc vận hành server, đặc biệt là trong các môi trường cần thao tác từ xa.

Dễ sử dụng ngay cả với người mới bắt đầu

Nhiều người chưa quen với Linux thường nghĩ việc thiết lập kết nối từ xa là khó, chỉ toàn lệnh dòng (command line). Đúng là trước đây, để kết nối từ xa Ubuntu phải cài đặt thủ công VNC server hoặc cấu hình chuyển tiếp cổng qua SSH. Tuy nhiên, từ Ubuntu 22.04 LTS trở đi đã hỗ trợ Remote Desktop Protocol (RDP) mặc định và bạn có thể thiết lập hoàn toàn bằng giao diện đồ họa (GUI). Nhờ đó, kể cả người mới cũng dễ dàng thử nghiệm Remote Desktop trên Ubuntu.

Mục đích & cấu trúc bài viết này

Bài viết này sẽ hướng dẫn từng bước cách kết nối Remote Desktop trên Ubuntu, từ các chức năng mới nhất của Ubuntu 22.04, cài đặt xrdp cho bản cũ, cho đến các phương pháp bảo mật như dùng VNC hoặc SSH tunnel — giải thích dễ hiểu cho cả người mới. Bạn cũng sẽ được so sánh ưu nhược điểm của từng giải pháp để dễ lựa chọn cho phù hợp với nhu cầu.

2. So sánh các phương pháp Remote Desktop trên Ubuntu (VNC vs RDP)

Có nhiều giao thức kết nối từ xa khác nhau

Trên Ubuntu, không chỉ có một cách để thực hiện Remote Desktop mà phổ biến nhất là 3 phương pháp sau:

  • RDP (Remote Desktop Protocol)
  • VNC (Virtual Network Computing)
  • SSH (Secure Shell) + Chuyển tiếp X hoặc tunnel

Trong đó, RDP và VNC là “truyền nguyên màn hình desktop” và rất phổ biến với người dùng thông thường. SSH chủ yếu dùng cho thao tác dòng lệnh hoặc tăng cường bảo mật.

Bài viết sẽ tập trung so sánh RDP và VNC — những phương pháp thân thiện với người mới.

RDP (Remote Desktop Protocol) là gì?

RDP do Microsoft phát triển và là chức năng chuẩn trên Windows. Trên Ubuntu, bạn có thể dùng phần mềm xrdp hoặc tính năng mặc định (từ 22.04 trở đi) để kết nối qua RDP.

Từ Ubuntu 22.04, RDP đã được tích hợp sẵn vào môi trường GNOME, bạn không cần cài thêm xrdp mà chỉ cần thiết lập bằng GUI.

Đặc điểm của RDP:

  • Rất tương thích với Windows, có thể kết nối từ Remote Desktop chuẩn của Windows
  • Hiển thị mượt mà, tốc độ phản hồi nhanh
  • Có sẵn xác thực và mã hóa nên an toàn

Ai nên dùng?

  • Người dùng song song Ubuntu và Windows
  • Người mới cần cấu hình đơn giản qua GUI
  • Ai ưu tiên bảo mật và ổn định

VNC (Virtual Network Computing) là gì?

VNC là công nghệ Remote Desktop đa nền tảng (cross-platform). Trên Ubuntu, bạn có thể dùng vino, tightvncserver… để cài VNC server.

Khác với RDP, VNC truyền ảnh desktop theo thời gian thực nên tốc độ hiển thị có thể chậm hơn một chút. Đổi lại, có thể chia sẻ màn hình cho nhiều người cùng lúc, rất linh hoạt khi cần hợp tác nhiều người.

Đặc điểm của VNC:

  • Chạy tốt trên nhiều nền tảng (cả Mac, Android…)
  • Chia sẻ cùng lúc cho nhiều người dùng
  • Bảo mật mặc định yếu hơn, nên kết hợp SSH tunnel khi kết nối từ ngoài LAN

Ai nên dùng?

  • Khi cần nhiều người thao tác từ xa cùng lúc
  • Cần kết nối từ các thiết bị không phải Windows
  • Người dùng trung cấp trở lên thích tùy chỉnh

Bảng so sánh: Sự khác biệt giữa RDP và VNC

Tiêu chíRDPVNC
Dễ thiết lập◎ (Cài qua GUI, dễ từ Windows)△ (Thiết lập ban đầu hơi phức tạp)
Mượt mà khi hiển thị◎ (Rất mượt)△ (Đôi khi bị trễ)
Bảo mật◎ (Mã hóa mặc định)△ (Khuyến nghị dùng SSH tunnel)
Chia sẻ session×○ (Hỗ trợ nhiều người dùng cùng lúc)
Nền tảng hỗ trợChủ yếu WindowsCross-platform (Linux, Mac, Android…)

Nên chọn cái nào?

Nếu bạn là người mới hoặc chủ yếu dùng Windows, hãy chọn RDP vì dễ cài đặt, kết nối ổn định. Nếu cần nhiều tùy chỉnh hoặc kết nối từ máy khác ngoài Windows, hãy chọn VNC (nhưng nhớ áp dụng bảo mật qua SSH tunnel).

3. [Mới nhất] Cách kích hoạt RDP (Remote Desktop) trên Ubuntu 22.04

Ubuntu 22.04 đã tích hợp sẵn tính năng RDP

Từ Ubuntu 22.04 LTS trở đi, môi trường desktop mặc định (GNOME) đã tích hợp sẵn tính năng Remote Desktop. Nhờ đó, bạn có thể sử dụng kết nối RDP dễ dàng mà không cần cài thêm xrdp hoặc công cụ ngoài.

Với tính năng này, bạn chỉ cần sử dụng công cụ Remote Desktop mặc định của Windows (mstsc.exe) để kết nối trực tiếp vào Ubuntu — rất tiện lợi, đặc biệt cho người mới.

Chuẩn bị trước và điểm cần lưu ý

Trước khi kích hoạt RDP, hãy kiểm tra các điểm sau:

  • Phiên bản Ubuntu phải từ 22.04 trở lên
  • Đang sử dụng môi trường desktop GNOME
  • Phải đăng nhập bằng phiên làm việc X.org, không phải Wayland (rất quan trọng)

Lưu ý: RDP chưa hỗ trợ Wayland, bạn cần đăng nhập bằng X.org. Hãy chuyển phiên như sau:

Cách đăng nhập vào phiên X.org

  1. Tại màn hình đăng nhập Ubuntu, chọn tên người dùng
  2. Trước khi nhập mật khẩu, nhấn vào biểu tượng bánh răng (⚙) ở góc dưới
  3. Chọn “Ubuntu on Xorg”
  4. Nhập mật khẩu để đăng nhập

Các bước kích hoạt Remote Desktop

  1. Mở ứng dụng “Cài đặt” (Settings)
  2. Chọn “Chia sẻ” (Sharing) trong menu bên trái
  3. Nhấn vào “Remote Desktop”
  4. Bật tùy chọn “Kích hoạt Remote Desktop”
  5. Đặt xác thực bằng mật khẩu và nhập mật khẩu truy cập
  6. Trong mục “Mạng”, tích chọn “Cho phép người dùng trong mạng nội bộ kết nối đến máy này”

Sau khi hoàn thành, Ubuntu đã sẵn sàng cho kết nối từ xa.

Các bước kết nối từ Windows tới Ubuntu

  1. Nhấn Windows + R, nhập mstsc rồi Enter (mở Remote Desktop Connection)
  2. Điền địa chỉ IP của Ubuntu vào ô “Máy tính”
  3. Sau khi kết nối, nhập tên người dùng và mật khẩu đã thiết lập trên Ubuntu
  4. Hoàn tất kết nối

Bạn có thể kiểm tra IP của Ubuntu tại “Cài đặt” > “Wi-Fi” hoặc “Cáp mạng”, hoặc dùng lệnh sau trong terminal:

ip a

Cấu hình firewall (nếu cần)

Nếu bạn bật UFW (Uncomplicated Firewall) trên Ubuntu, cần mở cổng 3389/tcp cho RDP như sau:

sudo ufw allow 3389/tcp

Sau đó, kiểm tra trạng thái firewall:

sudo ufw status

Các sự cố thường gặp và cách xử lý

Vấn đềCách khắc phục
Màn hình đen khi kết nốiKiểm tra đã đăng nhập bằng X.org chưa
Kết nối bị từ chốiKiểm tra firewall và mạng nội bộ
Không phản hồi sau khi nhập mật khẩuKiểm tra lại cài đặt chia sẻ trên GNOME

Lưu ý: Giải pháp này chủ yếu dùng trong mạng LAN

Phương pháp trên chủ yếu dành cho kết nối trong cùng mạng nội bộ (LAN). Nếu muốn truy cập từ bên ngoài, bạn cần cấu hình thêm VPN, port forwarding hoặc kết hợp SSH tunnel (sẽ giải thích ở phần sau).

4. Cách dùng xrdp để kết nối từ xa trên Ubuntu 20.04 trở về trước

Với Ubuntu 20.04, cần cài đặt xrdp

Các bản Ubuntu 20.04 trở về trước chưa tích hợp sẵn RDP. Do đó, muốn kết nối từ Windows, bạn cần cài thêm “xrdp” để bổ sung chức năng RDP cho Ubuntu.

xrdp tương thích với giao thức RDP của Microsoft, cho phép kết nối dễ dàng từ Windows Remote Desktop.

Cài đặt và cấu hình cơ bản xrdp

Chạy các lệnh sau để cài đặt xrdp trên Ubuntu 20.04:

sudo apt update
sudo apt install xrdp -y

Khi cài đặt xong, dịch vụ xrdp sẽ tự động khởi động. Kiểm tra trạng thái với:

sudo systemctl status xrdp

Nếu thấy “active (running)” màu xanh là đã chạy bình thường.

Chọn môi trường desktop (khuyến nghị Xfce)

Mặc định GNOME trên Ubuntu đôi khi không tương thích tốt với xrdp, dễ gặp lỗi màn hình đen hoặc không đăng nhập được.

Khuyên dùng desktop nhẹ Xfce cho xrdp. Cài đặt như sau:

Cài Xfce

sudo apt install xfce4 -y

Cấu hình sử dụng Xfce cho xrdp session

echo "startxfce4" > ~/.xsession

Cấp quyền thực thi file:

chmod +x ~/.xsession

Nếu gặp lỗi quyền (polkit), bạn có thể cần điều chỉnh thêm, nhưng thông thường các bước trên là đủ cho môi trường cá nhân.

Cấu hình firewall

xrdp dùng cổng 3389/tcp. Nếu đang bật ufw, hãy mở cổng bằng lệnh sau:

sudo ufw allow 3389/tcp

Cách kết nối từ Windows (nhắc lại)

  1. Nhấn Windows + R, nhập mstsc
  2. Điền IP của Ubuntu vào ô “Máy tính”
  3. Màn hình đăng nhập xrdp hiện ra, nhập tên người dùng và mật khẩu Ubuntu
  4. Hoàn tất kết nối, môi trường Xfce sẽ hiển thị

Lưu ý: Có thể kiểm tra IP trên Ubuntu với lệnh ip a hoặc hostname -I.

Các lỗi thường gặp và cách xử lý

Triệu chứngNguyên nhân & cách xử lý
Màn hình đen sau khi kết nốiDùng Xfce thay vì GNOME. Thêm startxfce4 vào .xsession
Báo “Phiên làm việc đã kết thúc”Quản lý phiên của Ubuntu và xrdp không đồng bộ. Kiểm tra đã cài Xfce
Ngắt kết nối sau khi nhập mật khẩuCó thể do SELinux hoặc cấu hình polkit. Kiểm tra log bảo mật

Tự động khởi động xrdp (tùy chọn)

Muốn xrdp tự chạy khi khởi động hệ thống, dùng lệnh:

sudo systemctl enable xrdp

5. Cách kết nối sử dụng VNC Server (vino / tightvnc, v.v.)

VNC là gì? Công nghệ Remote Desktop đa nền tảng trên Ubuntu

VNC (Virtual Network Computing) là giao thức chia sẻ màn hình qua mạng, nổi bật nhờ hỗ trợ đa nền tảng (Windows, Linux, macOS…). Trên Ubuntu, bạn có thể thiết lập VNC Server để điều khiển từ xa bằng máy tính khác hoặc thiết bị di động.

So với RDP, VNC hơi phức tạp hơn về cấu hình và tốc độ hiển thị có thể thấp hơn, nhưng rất linh hoạt khi cần chia sẻ màn hình cho nhiều người hoặc kết nối từ nhiều thiết bị. Đặc biệt hữu ích trong môi trường làm việc nhóm hoặc giảng dạy.

Các loại VNC Server phổ biến trên Ubuntu

Trên Ubuntu, các VNC Server phổ biến gồm:

Tên serverĐặc điểm
vinoTích hợp sẵn trên GNOME, cấu hình đơn giản qua GUI. Phù hợp cho người mới.
tightvncserverNhẹ, nhanh, lâu đời. Chủ yếu cấu hình qua dòng lệnh.
x11vncCho phép truy cập vào phiên làm việc hiện tại, tiện cho chia sẻ session GUI.

Cách sử dụng vino trên GNOME (Ubuntu 20.04~22.04)

GNOME có sẵn chức năng vino cho VNC server, cho phép cấu hình hoàn toàn qua GUI:

1. Cài đặt các gói cần thiết (nếu chưa có)

sudo apt install vino -y

2. Bật tính năng chia sẻ màn hình qua phần “Cài đặt”

  1. Mở ứng dụng Cài đặt
  2. Chọn “Chia sẻ” > “Chia sẻ màn hình”
  3. Bật Chia sẻ màn hình
  4. Kích hoạt cho phép truy cập qua mạng
  5. Cài đặt mật khẩu xác thực (nên đặt mật khẩu mạnh để đảm bảo an toàn)

Lưu ý: Nếu dùng GNOME với phiên Wayland, vino sẽ không hoạt động. Hãy chuyển sang X.org như hướng dẫn ở phần trước.

3. Kiểm tra kết nối

Dùng VNC Viewer (ví dụ: RealVNC, TigerVNC) trên máy khác để kết nối tới IP Ubuntu, theo dạng 192.168.1.100:5900.

Dùng tightvncserver khi ưu tiên CLI và nhẹ

Nếu dùng server hoặc không cần giao diện đồ họa phức tạp, tightvncserver là lựa chọn tốt:

1. Cài đặt tightvncserver

sudo apt install tightvncserver -y

2. Thiết lập mật khẩu lần đầu chạy

vncserver

Khi chạy lần đầu, hệ thống sẽ yêu cầu đặt mật khẩu kết nối.

3. Khởi động session VNC

vncserver :1

Session này sẽ lắng nghe trên cổng 5901 (5900 + số display).

4. Thiết lập môi trường desktop nhẹ (nên dùng Xfce)

tightvncserver không tương thích tốt với GNOME. Hãy chỉnh file ~/.vnc/xstartup như sau để khởi động với Xfce:

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

Cấp quyền thực thi cho script:

chmod +x ~/.vnc/xstartup

Lưu ý bảo mật: Luôn dùng SSH tunnel khi truy cập từ ngoài LAN

VNC không mã hóa nội dung truyền, nên không an toàn nếu truy cập từ Internet. Hãy luôn sử dụng SSH tunnel để mã hóa kết nối khi làm việc từ xa:

Ví dụ, trên máy client, chạy:

ssh -L 5901:localhost:5901 your-user@remote-ubuntu

Sau đó, kết nối VNC Viewer tới localhost:5901 để truyền tải an toàn qua SSH.

Tóm tắt: VNC rất linh hoạt nhưng phải chú ý bảo mật

VNC phù hợp khi cần chia sẻ nhiều người hoặc kết nối từ các hệ điều hành khác nhau. Tuy nhiên, luôn phải cẩn trọng về bảo mật, đặc biệt khi truy cập từ Internet.
Nếu ưu tiên giao diện GUI đơn giản, dùng vino; muốn nhẹ và server, dùng tightvnc; muốn chia sẻ phiên làm việc hiện tại, dùng x11vnc.

6. Cách kết nối từ Windows tới Ubuntu [Giới thiệu các client kết nối]

Để điều khiển Ubuntu từ xa, cần có phần mềm client ở phía máy kết nối

Sau khi thiết lập Remote Desktop trên Ubuntu, bạn cần phần mềm client tương thích trên máy kết nối (thường là Windows). Dưới đây là các phương án phổ biến, phân theo giao thức.

Dùng RDP: Remote Desktop Connection mặc định của Windows

Nếu Ubuntu đã cài xrdp hoặc có hỗ trợ RDP chuẩn (Ubuntu 22.04+), bạn chỉ cần sử dụng app Remote Desktop Connection có sẵn trên Windows.

Cách kết nối

  1. Nhấn Windows + R, nhập mstsc rồi Enter
  2. Nhập địa chỉ IP Ubuntu (ví dụ: 192.168.1.10)
  3. Nhấn “Kết nối”, nhập user & mật khẩu Ubuntu
  4. Hoàn tất kết nối

Ưu điểm

  • Không cần cài phần mềm bổ sung
  • Giao diện quen thuộc, ổn định, tốc độ cao
  • Dễ dùng cho người dùng Windows

Lưu ý

  • Chỉ dùng được nếu Ubuntu đã kích hoạt RDP (phiên bản cũ cần cài xrdp)
  • Mặc định chỉ hoạt động trong cùng mạng LAN (muốn truy cập từ ngoài cần VPN hoặc SSH tunnel)

Dùng VNC: Cài đặt phần mềm VNC Viewer trên Windows

Nếu Ubuntu cài VNC server, bạn cần cài phần mềm VNC Viewer trên Windows để kết nối.

Các phần mềm VNC Viewer phổ biến

Tên phần mềmĐặc điểm
RealVNC ViewerGiao diện đẹp, dễ dùng, miễn phí cho mục đích cá nhân
TigerVNC ViewerMã nguồn mở, nhẹ, tối giản, tốc độ nhanh
TightVNC ViewerĐã có từ lâu, ổn định, phù hợp nhu cầu cơ bản

Cách kết nối (ví dụ với RealVNC)

  1. Cài và mở RealVNC Viewer
  2. Nhập địa chỉ 192.168.1.10:5900 (hoặc 5901…)
  3. Nhấn “Kết nối”, nhập mật khẩu VNC
  4. Xem được desktop Ubuntu và điều khiển từ xa

Lưu ý

  • Kết nối VNC mặc định không mã hóa — nên dùng kèm SSH tunnel khi truy cập từ ngoài LAN
  • Hiển thị có thể không mượt như RDP

Remmina: Phần mềm đa giao thức (Ubuntu cũng dùng được)

Remmina là client hỗ trợ cả RDP, VNC, SSH… trên một app duy nhất. Có bản cho Linux lẫn Windows, phù hợp quản trị viên cần kết nối nhiều loại server.

Đặc điểm

  • Quản lý nhiều kết nối trong một ứng dụng
  • Lưu profile, scale cửa sổ linh hoạt
  • Dùng được cả trên Ubuntu lẫn Windows (có thể dùng Ubuntu điều khiển Windows qua RDP)

Cách cài trên Windows

Cách kiểm tra địa chỉ IP trên Ubuntu

Để kết nối, cần biết địa chỉ IP cục bộ của Ubuntu:

Cách xem bằng GUI

  • Vào Cài đặt > Mạng > Xem thông tin chi tiết của kết nối dây hoặc Wi-Fi

Cách xem bằng terminal

ip a

hoặc

hostname -I

Dùng địa chỉ dạng 192.168.*.* để kết nối.

Lưu ý về mạng

Kết nối mặc định chỉ hoạt động trong cùng mạng LAN. Nếu cần truy cập từ xa, cần thiết lập VPN, port forwarding (rủi ro bảo mật), hoặc SSH tunnel.

Tóm tắt: Chọn client phù hợp với mục đích sử dụng

Phương thức kết nốiPhần mềm đề xuấtTrường hợp sử dụng chính
RDPRemote Desktop Connection (Windows)Muốn kết nối dễ dàng từ Windows
VNCRealVNC / TigerVNC / TightVNCMuốn nhiều người cùng điều khiển hoặc dùng trên Mac, điện thoại
SSHRemminaKết nối bảo mật, thao tác dòng lệnh hoặc kết hợp GUI

Sau khi cài đặt xong server phía Ubuntu, hãy chọn phần mềm client phù hợp trên máy kết nối để tối ưu trải nghiệm.

7. Khắc phục sự cố nhập tiếng Nhật và cấu hình bàn phím khi điều khiển từ xa

Sự cố “không nhập được tiếng Nhật” khi kết nối Remote Desktop

Khi điều khiển Ubuntu từ xa, bạn có thể gặp sự cố như không gõ được tiếng Nhật, phím chuyển chế độ 半角/全角 không hoạt động hoặc không nhập được dấu gạch chéo ngược (\). Nguyên nhân thường là do môi trường session của Remote Desktop khác với local, khiến cấu hình bàn phím và bộ gõ không đồng bộ.

Phần này sẽ hướng dẫn chi tiết các cách khắc phục lỗi nhập tiếng Nhật hoặc lỗi bàn phím khi dùng Remote Desktop trên Ubuntu.

Không nhập được tiếng Nhật / IME không hoạt động

Nguyên nhân phổ biến

  • Bộ gõ tiếng Nhật (IME) không tự khởi động trong session remote
  • fcitx hoặc ibus không liên kết đúng giữa các phiên làm việc
  • Lỗi tương thích giữa GNOME và RDP

Cách 1: Khởi động thủ công fcitx-mozc

Trên Ubuntu, combo phổ biến là fcitx-mozc. Nếu không tự khởi động khi remote, bạn hãy thử chạy lệnh sau:

fcitx-autostart

Hoặc:

fcitx -r

Cách 2: Thiết lập lại bộ gõ trong từng session

  1. Vào Cài đặt > Khu vực và Ngôn ngữ > Kiểm tra mục “Nguồn nhập”
  2. Đảm bảo “Tiếng Nhật (Mozc)” đã được thêm vào
  3. Nếu chưa có, nhấn “+” để thêm mới

Đôi khi cần đăng xuất và đăng nhập lại để thay đổi có hiệu lực.

Lỗi phím 半角/全角 hoặc sai layout bàn phím

Khi dùng Remote Desktop, layout bàn phím có thể bị nhận sai — đặc biệt nếu dùng bàn phím tiếng Nhật (JIS) hoặc tiếng Anh (US), vị trí một số phím như “\” hoặc “@” có thể bị lệch.

Khắc phục: Chỉ định layout bàn phím thủ công

  1. Vào Cài đặt > Khu vực & Ngôn ngữ > Nguồn nhập
  2. Chọn đúng loại bàn phím (“Tiếng Nhật (OADG 109A)” hoặc “Tiếng Nhật”)
  3. Có thể dùng lệnh sau để áp dụng ngay:
setxkbmap -model jp106 -layout jp

Nên ghi thêm vào .xsession hoặc .bashrc để tự động áp dụng mỗi khi đăng nhập từ xa.

Không nhập được ký tự “\” hoặc “|”

Với RDP (xrdp), lỗi này khá phổ biến vì xrdp chưa map đúng mã phím của bàn phím tiếng Nhật.

Cách khắc phục: Sửa file map phím của xrdp

  1. Chỉnh file:
sudo nano /etc/xrdp/km-0411.ini
  1. File này định nghĩa mapping cho bàn phím tiếng Nhật. Có thể phải chỉnh tay để khớp hoàn toàn (nâng cao).

Nếu không muốn phức tạp, hãy cân nhắc dùng VNC thay cho RDP để tránh lỗi này.

Thay đổi phím chuyển chế độ nhập tiếng Nhật

Nếu phím 半角/全角 không phản hồi, có thể dùng tổ hợp phím thay thế để bật/tắt IME.

Với Mozc (fcitx):

  • Ctrl + Space (mặc định)
  • Shift + Space (có thể chỉnh lại trong cấu hình fcitx)

Có thể vào cấu hình fcitx để chỉnh shortcut nếu muốn.

Cách xử lý tạm thời: Soạn tiếng Nhật ở local rồi copy-paste

Nếu không thể nhập trực tiếp, bạn có thể nhập nội dung tiếng Nhật ở máy local (Windows), rồi dán vào Ubuntu qua clipboard.

Tóm tắt: Môi trường remote sẽ khác local, cần kiểm tra kỹ cấu hình

Vấn đềNguyên nhân chínhCách khắc phục
Không nhập được tiếng NhậtIME không khởi động, session không đồng bộKhởi động lại fcitx-mozc, thêm lại nguồn nhập
Sai layout bàn phímLayout không khớpDùng setxkbmap chỉ định rõ
Không nhập được “\”Lỗi mapping xrdpSửa file km, chuyển sang dùng VNC

Remote Desktop trên Ubuntu rất dễ xảy ra các vấn đề liên quan đến bàn phím và bộ gõ, vì vậy bạn nên kiểm tra kỹ cấu hình và thử nhiều giải pháp dự phòng nếu cần.

8. Kết nối an toàn: Sử dụng SSH Tunnel

Kết nối từ xa và rủi ro bảo mật

Các chức năng Remote Desktop trên Ubuntu (RDP, VNC) rất tiện lợi, nhưng nếu mở trực tiếp ra Internet sẽ rất nguy hiểm. Giao thức có thể không mã hóa hoặc chỉ xác thực bằng mật khẩu nên dễ bị tấn công, dò mật khẩu hoặc nghe lén.

Vì vậy, nên sử dụng SSH Tunnel để mã hóa toàn bộ kết nối khi truy cập từ xa. SSH Tunnel tạo một “đường ống an toàn” giúp bạn truyền dữ liệu RDP hoặc VNC một cách bảo mật, kể cả khi truy cập ngoài mạng LAN.

[Windows] --(SSH mã hóa)--> [Ubuntu]
   |
   +--> (chuyển tiếp cổng cho VNC hoặc RDP)

SSH Tunnel là gì? Nguyên lý hoạt động

SSH Tunnel sử dụng chức năng chuyển tiếp cổng (port forwarding) của SSH để “đóng gói” lưu lượng từ ứng dụng khác (VNC, RDP…) qua kết nối SSH đã được mã hóa. Nhờ đó, mọi dữ liệu gửi qua tunnel đều an toàn.

Chuẩn bị: Cài đặt và bật SSH server trên Ubuntu

Nếu Ubuntu chưa cài SSH, hãy chạy lệnh sau:

sudo apt update
sudo apt install openssh-server -y

Sau khi cài, SSH sẽ tự chạy. Kiểm tra trạng thái:

sudo systemctl status ssh

Nếu sử dụng ufw, mở cổng 22 cho SSH:

sudo ufw allow ssh

Cách tạo SSH Tunnel từ Windows (ví dụ: chuyển tiếp VNC port 5901)

Cách 1: Dùng terminal trên Windows (PowerShell, CMD, v.v.)

ssh -L 5901:localhost:5901 your-user@ubuntu-ip
  • 5901:localhost:5901: chuyển port 5901 local sang 5901 trên Ubuntu
  • your-user@ubuntu-ip: user và IP của Ubuntu

Giữ cửa sổ terminal này mở, sau đó kết nối VNC Viewer tới localhost:5901 để đảm bảo kết nối đi qua SSH.

Cách 2: Sử dụng phần mềm SSH client như Tera Term, PuTTY (giao diện đồ họa)

  • Với Tera Term: vào phần “Chuyển tiếp cổng TCP” để thiết lập port forwarding
  • Với PuTTY: vào Connection > SSH > Tunnels và thêm cấu hình chuyển tiếp cổng

Áp dụng SSH Tunnel với RDP

Cũng có thể bảo mật kết nối RDP qua SSH Tunnel bằng lệnh:

ssh -L 3389:localhost:3389 your-user@ubuntu-ip

Sau đó, trên Remote Desktop Connection của Windows, nhập localhost:3389.

Nâng cao bảo mật với xác thực khóa công khai

Muốn an toàn hơn, hãy dùng xác thực bằng khóa công khai thay vì mật khẩu:

Các bước tạo khóa (thực hiện trên Windows)

  1. Tạo khóa SSH bằng PowerShell:
ssh-keygen
  1. Copy khóa công khai lên Ubuntu:
ssh-copy-id your-user@ubuntu-ip

Hoặc copy thủ công vào ~/.ssh/authorized_keys trên Ubuntu.

  1. Kiểm tra cấu hình /etc/ssh/sshd_config:
PubkeyAuthentication yes
PasswordAuthentication no

Khởi động lại SSH:

sudo systemctl restart ssh

Ưu & nhược điểm của SSH Tunnel

Tiêu chíNội dung
✅ Ưu điểmBảo mật, toàn bộ dữ liệu đều được mã hóa
✅ Ưu điểmKhông cần mở cổng VNC/RDP ra Internet
❌ Nhược điểmCài đặt phức tạp hơn, phải thao tác lệnh khi mỗi lần kết nối
❌ Nhược điểmNếu ngắt tunnel thì kết nối cũng bị mất, cần mở lại khi cần dùng

Tóm tắt: Luôn dùng SSH Tunnel khi truy cập từ xa

Khi điều khiển Ubuntu từ bên ngoài mạng nội bộ (LAN), hãy luôn sử dụng SSH Tunnel để đảm bảo an toàn. Kết hợp SSH với RDP, VNC sẽ giúp bạn có một môi trường remote vừa tiện lợi vừa bảo mật cao.

9. Câu hỏi thường gặp (FAQ) về Remote Desktop trên Ubuntu

Q1. Tại sao tôi không kết nối được Remote Desktop vào Ubuntu?

Trả lời: Có nhiều nguyên nhân, bạn nên kiểm tra các điểm sau:

  • Địa chỉ IP có chính xác không?
  • Ubuntu có cùng trong mạng LAN không?
  • Firewall (UFW) có đang chặn kết nối không?
  • Bạn đã đăng nhập vào phiên X.org trên Ubuntu chưa (với RDP)?
  • Dịch vụ xrdp hoặc VNC đã chạy chưa?

Kiểm tra trạng thái các dịch vụ bằng lệnh sau:

sudo systemctl status xrdp
sudo systemctl status ssh

Q2. Khi kết nối, màn hình bị lag, giật hoặc mất kết nối thì xử lý thế nào?

Trả lời: Thường do băng thông mạng yếu hoặc khác biệt về phương thức hiển thị. Tham khảo các giải pháp sau:

  • Với RDP: bật chế độ “băng thông thấp” để nhẹ hơn
  • Với VNC: sử dụng desktop nhẹ như Xfce
  • Hạn chế xem video hoặc xử lý đồ họa nặng khi điều khiển từ xa
  • Sử dụng kết nối dây thay vì Wi-Fi để ổn định hơn

Q3. Có thể kết nối từ Ubuntu tới Windows không?

Trả lời: Có thể. Bạn chỉ cần cài Remmina trên Ubuntu và kết nối tới dịch vụ RDP của Windows (chỉ có trên bản Pro trở lên).

Các bước sử dụng Remmina trên Ubuntu:

sudo apt install remmina -y
  1. Mở Remmina
  2. Tạo kết nối mới
  3. Chọn giao thức “RDP”, điền IP và thông tin đăng nhập Windows
  4. Kết nối

Q4. Làm sao để kết nối từ ngoài mạng LAN?

Trả lời: Bạn cần một trong các giải pháp sau:

  • Cấu hình VPN (mạng riêng ảo)
  • Dùng SSH Tunnel (đã hướng dẫn ở phần trên)
  • Thiết lập port forwarding trên router (không khuyến nghị do rủi ro bảo mật)

VPN hoặc SSH Tunnel là an toàn và nên dùng nhất.

Q5. Làm sao để không phải nhập mật khẩu mỗi lần kết nối?

Trả lời: Nếu dùng SSH, hãy thiết lập xác thực bằng khóa công khai.
Với RDP hoặc VNC, có thể thiết lập tự động đăng nhập nhưng hãy cân nhắc kỹ về an toàn.

Q6. Lỗi không nhập được tiếng Nhật, hoặc bàn phím sai layout?

Trả lời: Thường do IME không tự khởi động hoặc layout bàn phím bị nhận sai.
Tham khảo chi tiết mục 7 ở trên. Một số cách khắc phục:

  • Khởi động lại fcitx hoặc ibus
  • Dùng lệnh setxkbmap để chỉ định layout
  • Kiểm tra lại cấu hình trong GUI nếu dùng VNC

Q7. Remote Desktop trên Ubuntu có miễn phí không?

Trả lời: Có. Ubuntu, xrdp, Remmina, VNC đều là phần mềm mã nguồn mở miễn phí. Một số phần mềm VNC Viewer hoặc dịch vụ VPN có bản trả phí, nhưng sử dụng cho cá nhân hoàn toàn miễn phí.

Q8. Có thể nhiều người cùng thao tác trên Ubuntu một lúc không?

Trả lời: Với RDP, mỗi user chỉ có một session riêng biệt.
Với VNC, có thể chia sẻ cùng một màn hình cho nhiều người — phù hợp mục đích giảng dạy, hỗ trợ kỹ thuật.

Q9. Khi remote, Ubuntu tự chuyển sang chế độ sleep/suspend?

Trả lời: Nếu Ubuntu vào chế độ sleep/suspend, mọi kết nối remote sẽ bị ngắt. Hãy chỉnh như sau:

  • Vào “Cài đặt” > “Nguồn điện” > tắt chức năng tự động sleep
  • Có thể dùng lệnh:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

Q10. Nên chọn RDP hay VNC?

Trả lời: Tùy vào mục đích sử dụng, hãy tham khảo bảng sau:

Ưu tiênNên chọn
Hiển thị mượt mà, thao tác nhanhRDP
Chia sẻ màn hình cho nhiều ngườiVNC
Tương thích tối ưu với WindowsRDP
Bảo mật (nếu kết hợp SSH tunnel)Cả hai đều được

10. Tổng kết: Sử dụng Remote Desktop trên Ubuntu một cách đơn giản và an toàn

Remote Desktop trên Ubuntu không khó như bạn nghĩ

Nhiều người nghĩ rằng “Linux rất khó”, “Remote Desktop chỉ dành cho chuyên gia” — nhưng sau khi đọc bài viết này, hy vọng bạn nhận ra rằng kết nối Remote Desktop trên Ubuntu thực ra rất thực tiễn, dễ tiếp cận kể cả cho người mới bắt đầu.

Từ Ubuntu 22.04, tính năng RDP đã được tích hợp sẵn và có thể thiết lập hoàn toàn bằng giao diện đồ họa. Với các bản cũ hơn, bạn vẫn có thể sử dụng xrdp hoặc VNC để kết nối từ Windows mà không gặp trở ngại lớn.

Hãy chọn phương thức kết nối phù hợp với mục đích sử dụng

Kết nối từ xa trên Ubuntu có nhiều giải pháp, mỗi phương thức có ưu và nhược điểm riêng. Hãy lựa chọn phù hợp với môi trường và mục tiêu của bạn.

Mục đích sử dụngPhương thức đề xuấtGhi chú
Kết nối nội bộ trong gia đình/văn phòngRDP (tích hợp Ubuntu hoặc xrdp)Kết nối từ Windows rất dễ dàng, mượt mà
Kết nối từ xa ngoài mạng LANRDP hoặc VNC + SSH TunnelMã hóa kết nối để đảm bảo an toàn
Làm việc nhóm, cần chia sẻ màn hìnhVNC (vino / x11vnc)Phù hợp hỗ trợ kỹ thuật, đào tạo
Quản trị server qua dòng lệnhSSH (Terminal)Nhẹ, bảo mật, không cần giao diện đồ họa

An ninh là điều quan trọng hàng đầu

Bên cạnh sự tiện lợi, hãy luôn lưu ý rủi ro bảo mật khi mở kết nối từ xa. Đặc biệt, nếu dùng VNC hoặc RDP qua Internet, bạn phải kết hợp SSH Tunnel hoặc VPN, thiết lập mật khẩu mạnh và cấu hình firewall hợp lý.

Bạn cũng nên thiết lập xác thực bằng khóa công khai cho SSH để vừa tiện lợi vừa an toàn khi làm việc hàng ngày.

Mọi sự cố đều có cách giải quyết

Bài viết đã đề cập các lỗi thường gặp như nhập tiếng Nhật, lỗi bàn phím, không hiển thị màn hình… Mỗi vấn đề đều có hướng giải quyết. Đừng vội lo lắng, hãy bình tĩnh kiểm tra từng bước — hầu hết đều có thể tự xử lý được.

Khi gặp khó khăn, hãy quay lại bài viết này để tra cứu hướng dẫn chi tiết.

Hãy thử bước đầu tiên ngay hôm nay!

Một khi đã thiết lập xong Remote Desktop trên Ubuntu, bạn sẽ thấy hiệu quả làm việc tăng lên rất nhiều — quản lý server từ xa, phát triển phần mềm, hỗ trợ kỹ thuật… Ứng dụng là vô tận.

Nếu bạn chưa từng thử, hãy bắt đầu bằng cách kết nối RDP trong mạng LAN. Bạn sẽ bất ngờ về sự đơn giản và sức mạnh mà Ubuntu có thể mang lại.

Như vậy, toàn bộ hướng dẫn sử dụng Remote Desktop trên Ubuntu đã hoàn thành.
Cảm ơn bạn đã theo dõi!