努力
奋斗

云服务器的ubuntu的server如何改成带有GUI桌面端?

服务器价格表

直接上干货。云服务器装 GUI 桌面,核心痛点不是“装不上”,而是“连得上”和“跑得动”。

大多数人的误区是:直接在 SSH 终端里敲命令装完桌面,然后指望用 Windows 自带的远程桌面(RDP)或者 VNC 直接连过去就能用。结果往往是黑屏、卡顿、甚至根本连不上。

下面分两步走:安装桌面环境 + 配置远程连接。


第一步:安装轻量级桌面环境(别装 Ubuntu Desktop 全套)

云服务器内存通常不大(比如 2G-4G),如果你装了 GNOME 这种重型桌面,光系统启动就占掉大半内存,剩下的留给业务应用就不够了。

推荐方案:XFCE 或 LXDE。 它们极其轻量,资源占用低,体验流畅。

  1. 更新源

    sudo apt update && sudo apt upgrade -y
  2. 安装 XFCE 桌面(以 XFCE 为例)

    sudo apt install xfce4 xfce4-goodies -y

    注:如果你想装别的,把 xfce4 换成 ubuntu-desktop(重)、kde-plasma-desktop(重)或 lxde(更轻)。

  3. 安装显示管理器(Display Manager)
    你需要一个能登录桌面的入口,推荐 lightdm:

    sudo apt install lightdm -y

    安装过程中如果提示选择默认管理器,选 lightdm。

  4. 重启服务器

    sudo reboot

    此时,你的服务器已经具备图形界面能力了,但还没法从外面访问。


第二步:配置远程连接(关键!)

你有两种主流方式,选一种即可:

方案 A:使用 XRDP(像 Windows 远程桌面一样连接)

这是最符合直觉的方式,Windows 用户直接用自带的“远程桌面连接”软件连就行。

  1. 安装 xrdp

    sudo apt install xrdp -y
  2. 允许防火墙端口
    默认端口是 3389。如果你的云服务商(阿里云、腾讯云等)安全组没开这个端口,先去控制台开放 TCP 3389 端口。

    sudo ufw allow 3389/tcp
  3. 设置用户权限
    将当前用户加入 xrdp 用户组(假设你的用户名是 ubuntu,请替换成你自己的):

    sudo adduser ubuntu ssl-cert
  4. 重启服务

    sudo systemctl restart xrdp
  5. 连接
    在本地电脑打开“远程桌面连接”,输入云服务器公网 IP,点击连接。

    • 注意:第一次连接可能会弹出一个警告,点“是”。登录后,你可能会看到黑屏或灰色背景。这是因为 XFCE 和 Xorg 的兼容性小问题。
    • 解决黑屏:在登录界面,右上角下拉菜单选择 “Xorg” 而不是默认的 “Xvnc”,通常就能正常进入桌面了。

方案 B:使用 VNC(通用性强,跨平台)

如果你不想用 RDP,或者想用手机/平板连接,VNC 更合适。

  1. 安装 VNC Server

    sudo apt install tightvncserver -y
  2. 启动并设置密码

    vncserver :1

    它会让你设置一个 6-8 位的访问密码,并询问是否设置仅查看密码(建议设 n,否则你只能看不能操作)。

  3. 配置开机自启(可选但推荐)
    编辑 /etc/systemd/system/vncserver@.service 文件,或者使用简单的脚本守护进程。但对于临时使用,直接运行 vncserver 即可。

  4. 连接
    下载 VNC Viewer(如 RealVNC, TigerVNC),输入 IP:5901(:1 对应端口 5901)。

    • 注意:同样需要去云服务商控制台开放 TCP 5901 端口。

避坑指南 & 性能优化

  1. 带宽是瓶颈
    GUI 操作对带宽非常敏感。如果你的云服务器带宽只有 1Mbps,传个图片、开个浏览器都会卡成 PPT。建议至少 3Mbps 以上,最好按流量计费或高带宽包月。

  2. 不要同时跑高负载任务
    既然装了 GUI,就别指望它能像纯命令行那样高效处理高并发请求。GUI 本身会占用 CPU 和内存。如果是为了开发测试,可以;如果是生产环境跑 Web 服务,强烈建议保持无头模式(Headless),通过 API 或 CLI 管理。

  3. 安全性

    • XRDP 和 VNC 都没有加密传输(除非你额外配置 SSH 隧道)。务必确保云安全组只允许特定 IP 访问这些端口,不要对全网开放。
    • 修改默认端口可以增加一点安全性。
  4. 字体乱码问题
    如果桌面出现方块字,安装中文字体:

    sudo apt install fonts-wqy-zenhei fonts-wqy-microhei -y

总结

  • 要简单、像 Windows 一样连 → 装 XFCE + XRDP。
  • 要跨平台、手机也能连 → 装 XFCE + TightVNC。
  • 内存小于 2G → 别折腾 GUI 了,老老实实用 SSH 吧,真没必要。

按照这个流程走,基本不会翻车。有问题再具体看日志(/var/log/xrdp.log 或 ~/.vnc/xorg.log)。