一、背景说明
服务器环境:
系统:Ubuntu Server 24.04
VPS 配置:2核 2G 内存
远程方式:NoMachine
浏览器:Chromium
需求:
运行 2 个 Python 脚本
打开浏览器
使用插件监听 Discord 消息
必须扫码登录(不能使用无头模式)
不能使用 Discord Bot
二、为什么不能直接装 Ubuntu Desktop?
2G 内存环境下:
| 组件 | 预估内存占用 |
|---|---|
| Ubuntu Desktop | 800MB+ |
| GNOME 桌面 | 600MB+ |
| 浏览器 | 700MB+ |
| Python x2 | 300MB+ |
会直接爆内存 → swap → 严重卡顿。
因此选择:
Ubuntu Server + 轻量窗口管理器
三、安装轻量图形环境(Openbox 方案)
1️⃣ 安装基础组件
sudo apt update
sudo apt install openbox obconf xterm dbus-x11 -y
可选安装轻量任务栏:
sudo apt install tint2 -y
安装NoMachine
- 打开
https://www.nomachine.com/download/linux - 下载 Ubuntu 版本
.deb - 用 WinSCP / scp 上传到 VPS
然后安装:
sudo dpkg -i nomachine_*.deb sudo apt -f install -y打印以下内容说明成功,重新打开一个对话即可,使用sudo systemctl status nxserver 确认服务状态
NX> 700 NoMachine was configured to run the following services:
NX> 700 NX service on port: 4000
2️⃣ 配置 NoMachine 启动桌面
编辑:
sudo vim /usr/NX/etc/node.cfg
修改:
DefaultDesktopCommand "/etc/X11/Xsession"
然后为当前用户创建:
echo "exec openbox-session" > ~/.xsession
重启 NoMachine:
sudo /etc/NX/nxserver --restart
四、连接后黑屏问题分析
现象:
连接后黑屏,但右键有菜单。
原因:
Openbox 只是窗口管理器,不会自动启动:
面板
终端
浏览器
解决:
mkdir -p ~/.config/openbox
vim ~/.config/openbox/autostart
添加:
tint2 &
xterm &
五、Chromium 启动报错分析
常见错误 1
Missing X server or $DISPLAY
原因:
在 SSH 里启动浏览器。
正确做法:
必须在 NoMachine 图形终端中运行:
echo $DISPLAY
有输出如:1001才可启动。
常见错误 2
xdg-settings: not found
安装:
sudo apt install xdg-utils -y
常见错误 3
snap 版本 Chromium 报 libproxy 错误
Ubuntu 24 默认 apt 安装的是 snap 版本。
查看:
snap list
删除:
sudo snap remove chromium
六、正确启动 Chromium(VPS 优化参数)
chromium-browser \
--disable-gpu \
--no-sandbox \
--disable-dev-shm-usage \
--disable-software-rasterizer \
--process-per-site
建议使用普通用户运行,不要使用 root。
七、加载自定义插件
1️⃣ 上传插件目录
scp -r 插件目录 用户@服务器IP:/home/用户名/
2️⃣ 浏览器加载
打开:
chrome://extensions/
开启开发者模式 → Load unpacked → 选择插件目录。
八、开机自动运行浏览器
编辑:
nano ~/.config/openbox/autostart
添加:
chromium-browser \
--user-data-dir=/home/用户名/chrome-profile \
--disable-gpu \
--disable-dev-shm-usage \
https://discord.com/app &
九、最终资源占用情况
| 项目 | 内存占用 |
|---|---|
| Ubuntu Server | ~300MB |
| Openbox | ~50MB |
| Chromium | 600~900MB |
| Python x2 | 300MB |
总计约 1.2~1.6GB,2G VPS 可稳定运行。
十、完整架构图
VPS
├─ Openbox
├─ Chromium
│ ├─ Discord 登录
│ └─ 插件监听
├─ Python 脚本 1
└─ Python 脚本 2
十一、踩坑总结
不要在 SSH 里启动浏览器
不要用 Ubuntu Desktop(2G 会卡)
不要用 snap 版 Chromium
Openbox 黑屏不是故障,是没有自动启动程序
一定使用普通用户运行浏览器
十二、适用场景
VPS 运行浏览器插件
Discord 消息监听
轻量远程桌面
自动化监控系统