Steps to Solve the VNC "Gray Screen" Issue on Ubuntu Systems

  liuyuancheng        2025-06-02 00:40:44       908        0          English  简体中文  繁体中文  ภาษาไทย  Tiếng Việt 

title20.png

Các công cụ chia sẻ màn hình máy tính để bàn đồ họa như TeamViewer, AnyDesk và LogMeIn cho phép người dùng điều khiển từ xa màn hình, bàn phím và chuột của một máy tính khác. Trong số đó, các công cụ như TigerVNC, TightVNC, RealVNC cung cấp khả năng điều khiển đa nền tảng thông qua giao thức VNC (Virtual Network Computing). Bằng cách tận dụng tiêu chuẩn Remote Frame Buffer (RFB) để truyền tải các cập nhật màn hình và các sự kiện đầu vào, VNC cho phép điều khiển máy tính để bàn từ xa. Tuy nhiên, người dùng Ubuntu thường xuyên gặp phải sự cố 'Màn hình Xám' gây gián đoạn khi kết nối qua VNC—một màn hình trống, không phản hồi làm gián đoạn năng suất. Hướng dẫn này cung cấp các bước dứt khoát để chẩn đoán và giải quyết vấn đề máy chủ VNC phổ biến này, khôi phục chức năng máy tính để bàn từ xa của bạn trên các hệ thống Ubuntu.

Author:      Yuancheng Liu
Created:     2025/05/31
Version:     v_0.0.1
Copyright:   Copyright (c) LiuYuancheng

Đặc tả vấn đề

Khi thiết lập máy chủ VNC trên một số hệ thống Ubuntu, người dùng có thể gặp phải một vấn đề gây khó chịu: sau khi kết nối từ xa, màn hình chỉ hiển thị một nền màu xám với một con trỏ xuất hiện dưới dạng một chữ "X" màu đen nhỏ, như hình dưới đây:

s_0310.png

Trong các trường hợp khác, nền máy tính để bàn chuyển sang màu xám chỉ với một cửa sổ trình khám phá tệp duy nhất (như Files hoặc Nautilus) hiển thị:

s_0414.png

Và khi bạn nhấp vào màn hình, bạn có thể gặp lỗi không thể tìm thấy Desktop ngay cả khi thư mục Desktop được hiển thị ở đó:

s_0512.png

Vấn đề này thường do các sự cố trong việc khởi tạo môi trường máy tính để bàn trong phiên VNC. Các nguyên nhân phổ biến bao gồm:

  • Môi trường máy tính để bàn bị thiếu hoặc cấu hình sai (ví dụ: GNOME, XFCE hoặc MATE)

  • Cài đặt chỉ mục hiển thị không chính xác trong máy chủ VNC

  • Quyền hoặc quyền sở hữu không đúng của các tệp cấu hình quan trọng

  • Chạy máy chủ VNC với tư cách là root, điều này có thể dẫn đến xung đột môi trường

Mặc dù có nhiều hướng dẫn trực tuyến cung cấp các bản sửa lỗi khác nhau, nhưng bài viết này cung cấp hướng dẫn từng bước để giải quyết vấn đề màn hình màu xám, bắt đầu từ một Hệ thống Ubuntu sạch. Giải pháp này hoạt động ngay cả khi máy chủ VNC được chạy với tư cách là root và đã được thử nghiệm trên Ubuntu 18.04, 20.04 và 22.04.


Các bước chi tiết để giải quyết vấn đề (Hỗ trợ quyền truy cập Root)

Phần này cung cấp một giải pháp đầy đủ, từng bước để giải quyết vấn đề màn hình màu xám trong TightVNC trên các hệ thống Ubuntu. Giải pháp này định cấu hình môi trường máy tính để bàn XFCE hoặc phiên GNOME Flashback gọn nhẹ và cho phép VNC hoạt động bình thường — ngay cả khi chạy dưới người dùng root.

Bước 1: Cài đặt môi trường máy tính để bàn XFCE

XFCE là một môi trường máy tính để bàn gọn nhẹ, hoạt động tốt với VNC.

sudo apt-get update
sudo apt-get install xfce4 -y

Cài đặt thêm các tiện ích XFCE (các công cụ và tiện ích tùy chọn):

sudo apt-get install xfce4-goodies

Bước 2: Cài đặt TightVNC và GNOME Flashback Session

TightVNC là máy chủ VNC được sử dụng trong thiết lập này. GNOME Flashback cung cấp một phiên đơn giản hơn phù hợp cho truy cập từ xa.

sudo apt-get install tightvncserver -y
sudo apt-get install gnome-session-flashback -y

XFCE hoặc GNOME Flashback đảm bảo máy tính để bàn gọn nhẹ, tương thích cho các phiên VNC.


Bước 3: Tắt Wayland (Bật X11)

Ubuntu sử dụng Wayland theo mặc định, không tương thích với nhiều cấu hình VNC.

Chỉnh sửa cấu hình GDM3:

sudo nano /etc/gdm3/custom.conf

Bỏ ghi chú hoặc sửa đổi dòng sau:

WaylandEnable=false

Lưu và đóng tệp. Điều này đảm bảo X11 được sử dụng sau khi khởi động lại. Khi Wayland bị tắt, cho phép VNC hoạt động dưới X11.


Bước 4: Chuẩn bị tệp cấu hình VNC (Với tư cách là Root)

Hướng dẫn này định cấu hình VNC cho người dùng root để trình diễn. Để sử dụng bình thường, bạn nên định cấu hình dưới một người dùng thông thường.

sudo mkdir -p /root/.vnc
sudo chmod 0644 /root/.vnc

Đặt mật khẩu VNC:

sudo touch /root/.vnc/passwd
sudo chmod 0600 /root/.vnc/passwd
sudo bash -c 'echo "" | tightvncpasswd -f > /root/.vnc/passwd'

Bước 5: Khởi tạo VNC và tạo tập lệnh xstartup

Khởi động VNC để khởi tạo các tệp cấu hình:

vncserver

Sau đó, dừng nó cho bước tiếp theo:

vncserver -kill :1

Tạo hoặc ghi đè tệp xstartup:

sudo touch /root/.vnc/xstartup
sudo chmod 0600 /root/.vnc/xstartup
sudo nano /root/.vnc/xstartup

Dán nội dung sau:

#!/bin/sh
autocutsel -fork
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"
unset DBUS_SESSION_BUS_ADDRESS
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check --debug &

Đảm bảo tệp có thể thực thi:

chmod +x /root/.vnc/xstartup

Tập lệnh xstartup khởi động rõ ràng phiên đồ họa và tắt xung đột DBUS.


Bước 6: Tạo dịch vụ Systemd để tự động khởi động VNC

Tạo tệp dịch vụ VNC:

sudo nano /etc/systemd/system/tightvncserver.service

Thêm các nội dung sau:

[Unit]
Description=TightVNC Server
After=syslog.target network.target

[Service]
Type=forking
User=root
ExecStartPre=-/usr/bin/tightvncserver -kill :0
ExecStart=/usr/bin/tightvncserver -geometry 1920x1080 -depth 24 :0
ExecStop=/usr/bin/tightvncserver -kill :0

[Install]
WantedBy=multi-user.target

Đặt quyền:

sudo chmod 0600 /etc/systemd/system/tightvncserver.service

Bật và khởi động dịch vụ:

bashCopyEditsudo systemctl daemon-reexec
sudo systemctl enable tightvncserver
sudo systemctl start tightvncserver

Dịch vụ Systemd đảm bảo VNC tự động khởi động khi khởi động máy.


Bước 7: Khởi động lại và kết nối qua VNC

Bây giờ, khởi động lại máy:

sudo reboot

Sau khi khởi động lại, sử dụng một VNC client như TigerVNC Viewer hoặc RealVNC để kết nối đến:

s_0713.png

:5900

Hoặc nếu sử dụng display :1:

:1

Bạn sẽ thấy một desktop hoạt động đầy đủ như sau:

s_0614.png

Đã giải quyết vấn đề !


Tham khảo


Last edit by LiuYuancheng (liu_yuan_cheng@hotmail.com) at 02/06/2025, if you have any problem, please send me a message.

           

  RELATED


No related articles

  0 COMMENT


No comment for this article.



  RANDOM FUN

Apple Pencil? No. IKEA Pencil!

While the whole world raves about the recent Apple products and of course the advancements in the digital world, IKEA Singapore shows how traditional pen and paper still hold on to an old world charm. On its Facebook page, IKEA Singapore put up this post: Obviously this is a post laughes at the Appl

  SUPPORT US