直接给结论:Ubuntu Server 默认是不带图形化界面(GUI)的,但它完全支持安装和开启。
这其实是 Ubuntu Server 的设计哲学决定的。Server 版本为了追求极致的稳定性、安全性和资源利用率,默认只提供最核心的命令行环境(CLI)。如果你需要 GUI,通常是因为你要做开发调试、远程桌面管理,或者单纯习惯用鼠标操作。
下面分几种常见场景,告诉你怎么加,以及加了之后要注意什么坑。
方案一:你只是偶尔需要一下图形界面(推荐轻量级)
如果你不想让服务器跑得太重,只想装个轻量级的桌面环境用于日常操作,推荐 XFCE 或 LXDE。
-
更新源
sudo apt update && sudo apt upgrade -y -
安装 XFCE 桌面环境
sudo apt install xfce4 xfce4-goodies -y注:
xfce4-goodies包含了一些插件和工具,体验会更完整。 -
安装远程显示服务(VNC 或 RDP)
Ubuntu Server 本身没有像 Windows 那样直接“开启远程桌面”的一键开关,你需要安装一个显示协议服务。- 选项 A:VNC(通用性强,跨平台)
sudo apt install tightvncserver -y # 启动 VNC 并设置密码 vncserver - 选项 B:XRDP(类似 Windows 远程桌面,连接方便)
sudo apt install xrdp -y sudo systemctl enable xrdp sudo systemctl start xrdp安装完后,你可以直接用 Windows 自带的“远程桌面连接”输入 IP 地址连进去。
- 选项 A:VNC(通用性强,跨平台)
方案二:你想要完整的 GNOME 桌面(资源占用高)
很多从 Desktop 版本转过来的用户,习惯了 Ubuntu 默认的 GNOME 桌面。Server 上也能装,但强烈不建议在生产环境使用,因为内存和 CPU 开销巨大。
sudo apt install ubuntu-desktop-minimal -y
或者更彻底的:
sudo apt install ubuntu-desktop -y
装完重启后,如果配置了 LightDM 或 GDM3,开机可能会直接进入图形界面。如果需要远程连,同样需要搭配 XRDP 或 VNC。
方案三:通过 Cloud-Init 在云主机初始化时自动带 GUI(高级玩法)
如果你是阿里云、腾讯云、AWS 等云厂商的用户,不想手动敲命令,可以在创建实例时通过 User Data 脚本一次性搞定。
例如,在创建 ECS/CVM 实例时,在“高级配置”或“用户数据”里填入以下内容(以安装 XFCE + XRDP 为例):
#cloud-config
package_update: true
packages:
- xfce4
- xfce4-goodies
- xrdp
runcmd:
- systemctl enable xrdp
- systemctl start xrdp
- echo "your_vnc_password" | vncpasswd --stdin > ~/.vnc/passwd
这样实例启动后,你就拥有了图形界面,可以直接用远程桌面客户端连接。
⚠️ 重要注意事项(老鸟经验)
-
安全性风险:
开启 GUI 意味着开放了更多端口(如 VNC 的 5900+,XRDP 的 3389)。务必在安全组/防火墙中限制访问来源 IP,不要对全网开放。同时,定期更新系统补丁,防止桌面环境漏洞被利用。 -
性能损耗:
图形界面会常驻占用几百 MB 到几 GB 的内存。如果你的服务器只有 1G 或 2G 内存,装了 GUI 后可能连 Web 服务都跑不动。建议至少 4G 以上内存再折腾 GUI。 -
维护成本:
图形界面的依赖包更多,升级时更容易出现冲突(比如显卡驱动、字体库问题)。对于纯服务器用途,命令行永远是更高效、更稳定的选择。 -
替代方案思考:
如果你只是为了管理数据库、文件传输或代码编辑,其实可以考虑:- Web 版管理面板:如 Cockpit(
sudo apt install cockpit),通过浏览器访问,无需本地装 GUI。 - VS Code Remote:本地装 VS Code,通过 SSH 连接服务器,获得近乎原生的编码体验。
- Web 版管理面板:如 Cockpit(
总结:Ubuntu Server 能开 GUI,但请想清楚是否真的需要。如果只是临时调试,装个轻量级的 XFCE + XRDP 是最稳妥的选择。
云技术博客