sudo apt install tigervnc-standalone-server
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startlxqt
EOF
xzp@xzp-redmi:~$ chmod +x ~/.vnc/xstartup
xzp@xzp-redmi:~$ vncserver :1 -geometry 1920x1080 -localhost no
git clone https://github.com/novnc/noVNC.git
# 进入noVNC源码目录
cd /path/to/your/noVNC
# 启动websockify代理,连接5901端口的VNC服务
./utils/novnc_proxy --vnc localhost:5901 --listen 6081
整体功能概述
这段命令组合的核心目的是:在Linux系统(Debian/Ubuntu系)上搭建一个VNC远程桌面服务,并通过noVNC将其转换成网页版(WebVNC),让你可以直接用浏览器访问远程桌面。
分步详细解释
1. 安装TigerVNC服务端
sudo apt install tigervnc-standalone-server
- 作用:通过系统包管理器
apt安装tigervnc-standalone-server(TigerVNC独立服务端),这是实现VNC远程桌面的核心软件。 - 关键说明:
sudo:以管理员权限执行命令(安装软件需要权限);tigervnc-standalone-server:轻量级、高性能的VNC服务端,负责提供桌面远程控制的核心能力。
2. 配置VNC启动脚本(xstartup)
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startlxqt
EOF
- 作用:创建VNC启动时的初始化脚本,指定VNC连接后要启动的桌面环境(这里是LXQT)。
- 逐行解释:
cat > ~/.vnc/xstartup << 'EOF':将后续内容(直到EOF)写入~/.vnc/xstartup文件(~代表当前用户的家目录);#!/bin/sh:声明脚本使用sh解释器执行;unset SESSION_MANAGER/unset DBUS_SESSION_BUS_ADDRESS:清除系统默认的会话/总线环境变量,避免VNC启动桌面时冲突;exec startlxqt:启动LXQT桌面环境(如果你的系统是GNOME/KDE,需改成startgnome/startplasma);EOF:结束内容输入。
3. 赋予脚本执行权限
chmod +x ~/.vnc/xstartup
- 作用:给
xstartup脚本添加可执行权限(VNC启动时需要执行这个脚本); - 关键说明:
chmod +x是Linux中赋予文件执行权限的标准命令,没有这个权限,VNC启动时会报错。
4. 启动VNC服务
vncserver :1 -geometry 1920x1080 -localhost no
- 作用:启动编号为
:1的VNC服务,设置分辨率并允许外部访问。 - 参数解释:
:1:VNC服务的显示编号,对应端口5901(:2对应5902,以此类推);-geometry 1920x1080:设置远程桌面的分辨率为1920×1080;-localhost no:允许非本机(外部设备)连接这个VNC服务(默认只允许本机访问)。
- 注意:首次启动会提示设置VNC连接密码,这个密码后续远程连接时需要输入。
5. 安装并启动noVNC(网页版VNC)
git clone https://github.com/novnc/noVNC.git # 克隆noVNC源码到本地
cd /path/to/your/noVNC # 进入noVNC目录(需替换为实际路径,比如~/noVNC)
./utils/novnc_proxy --vnc localhost:5901 --listen 6081 # 启动Web代理
- 核心作用:noVNC是一个HTML5版的VNC客户端,通过它可以直接用浏览器(无需安装VNC客户端)访问VNC服务。
- 逐行解释:
git clone https://github.com/novnc/noVNC.git:从GitHub下载noVNC的源码;cd /path/to/your/noVNC:进入下载后的noVNC目录(必须替换为实际路径,比如你克隆到了家目录,就是cd ~/noVNC);./utils/novnc_proxy --vnc localhost:5901 --listen 6081:novnc_proxy:noVNC的代理工具,负责将VNC协议转换成WebSocket协议(浏览器支持);--vnc localhost:5901:指定代理连接本机5901端口的VNC服务(对应前面的:1);--listen 6081:设置noVNC的Web访问端口为6081。
6. 访问方式(补充说明)
启动完成后,你可以在浏览器中输入:http://服务器IP:6081/vnc.html,即可看到VNC登录界面,输入之前设置的VNC密码,就能远程控制桌面了。
总结
- 核心逻辑:先安装并配置TigerVNC提供基础远程桌面服务,再通过noVNC将VNC协议转换成Web可访问的形式;
- 关键端口:VNC服务默认用
5901(:1),noVNC网页访问用6081; - 权限与路径:
xstartup脚本必须加执行权限,noVNC的目录路径需替换为实际克隆的路径,否则启动失败。
常见注意事项
- 如果启动VNC时报“找不到startlxqt”,说明你的系统没有安装LXQT桌面,需替换为对应桌面命令(比如
startxfce4(XFCE)、gnome-session(GNOME)); - 需确保服务器防火墙放行
5901和6081端口,否则外部无法访问; - 停止VNC服务的命令:
vncserver -kill :1(对应启动的:1)。

3万+

被折叠的 条评论
为什么被折叠?



