如何在阿里云服务器上部署带有GUI的Ubuntu或CentOS?

服务器

在阿里云服务器上部署带有图形用户界面(GUI)的 Ubuntu 或 CentOS 是可行的,但需要注意:云服务器默认是无 GUI 的,添加 GUI 会增加资源消耗、安全风险和维护复杂度。通常建议通过命令行管理服务器,仅在必要时(如运行特定图形应用、远程桌面测试等)才安装 GUI。

下面分别介绍如何在 UbuntuCentOS 上安装 GUI 并配置远程访问。


✅ 一、准备工作

  1. 选择合适的实例规格

    • 推荐至少 2 核 CPU、4GB 内存以上。
    • 系统盘建议 ≥ 40GB(GUI 占用较多空间)。
  2. 开放安全组端口

    • 若使用 VNC 或 RDP,需开放端口:
      • VNC:5901(或自定义)
      • RDP:3389
      • SSH:22(默认已开)
  3. 连接服务器
    使用 SSH 登录:

    ssh root@your-server-ip

? 二、Ubuntu 安装 GUI(以 Ubuntu 20.04/22.04 为例)

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装桌面环境(推荐轻量级 XFCE)

sudo apt install xfce4 xfce4-goodies -y

可选其他桌面:

  • GNOME(完整版):ubuntu-desktop
  • KDE:kde-plasma-desktop
  • LXDE:更轻量

3. 安装显示管理器(登录界面)

sudo apt install lightdm -y

安装过程中选择 lightdm 作为默认显示管理器。

4. 安装 VNC 服务(用于远程图形连接)

sudo apt install tightvncserver -y

5. 配置 VNC

首次运行以生成配置:

vncserver

会提示设置密码,然后关闭:

vncserver -kill :1

编辑启动脚本:

nano ~/.vnc/xstartup

替换内容为:

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

保存并赋予执行权限:

chmod +x ~/.vnc/xstartup

6. 启动 VNC 服务

vncserver :1 -geometry 1280x720 -depth 24

7. 连接 VNC

  • 本地使用 VNC 客户端(如 TigerVNC、RealVNC)
  • 地址填写:你的公网IP:5901
  • 输入之前设置的密码即可登录

? 建议通过 SSH 隧道加密 VNC 流量:

ssh -L 5901:localhost:5901 root@your-server-ip

然后 VNC 连接 localhost:5901


? 三、CentOS 安装 GUI(以 CentOS 7/8 为例)

注意:CentOS 8 已停止支持,建议使用 AlmaLinux 或 Rocky Linux。

1. 更新系统

sudo yum update -y

2. 安装 GNOME 桌面环境

sudo yum groupinstall "GNOME Desktop" -y

3. 设置默认启动图形界面

sudo systemctl set-default graphical.target

重启生效:

sudo reboot

4. 安装 VNC Server(使用 TigerVNC)

sudo yum install tigervnc-server -y

5. 创建 VNC 用户配置

假设使用 root 用户:

vncserver

设置密码后关闭:

vncserver -kill :1

复制服务模板:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

编辑服务文件:

nano /etc/systemd/system/vncserver@:1.service

修改 User=root,并确保 %i 正确映射到 :1

6. 配置 ~/.vnc/xstartup

nano ~/.vnc/xstartup

内容如下:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc

赋予权限:

chmod +x ~/.vnc/xstartup

7. 启动 VNC 服务

sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

8. 开放防火墙

sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload

9. 使用 VNC 客户端连接

IP:5901 登录即可。


✅ 四、可选:安装 Windows 远程桌面(RDP)

若想使用更流畅的 RDP(如 Windows 自带远程桌面),可安装 xrdp

Ubuntu:

sudo apt install xrdp -y
sudo systemctl enable xrdp
sudo systemctl start xrdp

开放 3389 端口,使用 Windows 远程桌面连接即可。

CentOS:

sudo yum install epel-release -y
sudo yum install xrdp -y
sudo systemctl enable xrdp
sudo systemctl start xrdp

同样开放 3389 端口。

? 注意:xrdp 默认使用 Xorg,可能需要额外配置以兼容 GNOME。


⚠️ 五、注意事项

项目 建议
性能 GUI 占用内存大,避免低配实例
安全 不要长期暴露 VNC/RDP 到公网,建议配合 SSH 隧道或内网访问
用途 仅用于开发调试、运行图形软件(如浏览器、IDE)等特殊场景
替代方案 考虑使用 Web 版 IDE(如 Code-Server)、Jupyter Notebook 等

✅ 六、总结

步骤 操作
1 选择合适配置的云服务器
2 安装桌面环境(XFCE/GNOME)
3 安装 VNC 或 xrdp
4 配置启动脚本和防火墙
5 使用客户端远程连接

如果你只是想运行某些图形化程序(如 Chrome、PyCharm),也可以考虑:

  • 使用 X11 转发(SSH -X)
  • 使用 Docker + 图形应用
  • 使用 Web 化工具(如 VS Code Server)

如有具体用途(如跑自动化脚本、开发环境),可以进一步优化方案。

需要我为你写一个一键部署脚本吗?

未经允许不得转载:CDNK博客 » 如何在阿里云服务器上部署带有GUI的Ubuntu或CentOS?