当前位置: 首页 > news >正文

ubuntu24.04 server 版本安装xfce 使用web novnc 远程桌面

前提需要保证你的网络通畅,不然其中有git clone 过程你无法pull到代码,user改成你得user

#!/bin/bash
# ==========================================================
# Auto deploy TigerVNC + noVNC on Ubuntu 24.04
# Usage:
#   sudo ./deploy_vnc.sh -p <password>
# ==========================================================# ---------- Parse arguments ----------
passwd=""
while getopts "p:" opt; docase $opt inp)passwd=$OPTARG;;\?)echo "Usage: $0 [-p password]"exit 1;;esac
doneif [ -z "$passwd" ]; thenecho "❌ You must provide a VNC password using [-p]"exit 1
fiUSERID=seed
HOMEDIR=/home/$USERIDecho "=== 🚀 Starting TigerVNC + noVNC deployment ==="# ---------- Install dependencies ----------
echo "=== 📦 Installing dependencies (if missing) ==="
sudo apt update -y
sudo apt install -y git xfce4 tigervnc-standalone-server python3 python3-websockify openssl# ---------- Clone noVNC ----------
echo "=== 🌐 Cloning noVNC repository ==="
sudo mkdir -p /opt/noVNC
cd /opt/noVNC# Clone repos quietly
sudo git clone https://github.com/novnc/noVNC.git . echo "✅ Successfully cloned noVNC"# ---------- Permissions ----------
echo "=== 🔧 Setting permissions ==="
sudo chown -R root:root /opt/noVNC
sudo chmod -R a+rx /opt/noVNC# ---------- Configure VNC password ----------
echo "=== 🔑 Setting VNC password for user [$USERID] ==="
sudo -u $USERID mkdir -p $HOMEDIR/.vnc
echo -e "$passwd\n$passwd\nn" | sudo -u $USERID vncpasswd >/dev/null 2>&1# ---------- Write systemd units ----------
echo "=== ⚙️ Writing systemd service units ==="# VNC Server
sudo tee /etc/systemd/system/vncserver.service > /dev/null << EOF
[Unit]
Description=TigerVNC Server for user $USERID
After=network.target[Service]
Type=forking
User=$USERID
ExecStart=/usr/bin/tigervncserver :1 -localhost no -geometry 1920x1080 -depth 24 -xstartup /usr/bin/startxfce4
ExecStop=/usr/bin/tigervncserver -kill :1[Install]
WantedBy=multi-user.target
EOF# noVNC
sudo tee /etc/systemd/system/novnc.service > /dev/null << EOF
[Unit]
Description=noVNC WebSocket Proxy
After=network.target vncserver.service
Requires=vncserver.service[Service]
User=$USERID
WorkingDirectory=/opt/noVNC
ExecStart=sudo /opt/noVNC/utils/novnc_proxy --vnc localhost:5901 --listen 6080
Restart=always[Install]
WantedBy=multi-user.target
EOF# ---------- Start services ----------
echo "=== 🧩 Enabling and starting services ==="
sudo systemctl daemon-reload
sudo systemctl enable --now vncserver.service novnc.service
sleep 3# ---------- Verify services ----------
echo "=== 🔍 Checking service status ==="
if systemctl is-active --quiet vncserver.service && systemctl is-active --quiet novnc.service; thenecho "✅ TigerVNC + noVNC deployed successfully!"IP=$(hostname -I | awk '{print $1}')echo "🌐 Access URL: http://$IP:6080/vnc.html"echo "🔑 VNC password: $passwd"echo "🖥️  VNC desktop: $IP:5901 (Display :1)"
elseecho "❌ Deployment failed. Check logs with:"echo "   sudo systemctl status vncserver novnc"exit 1
fi

亲测有效 20251022

image

http://www.gsyq.cn/news/27443.html

相关文章:

  • 第一个 AI 应用
  • 调用ack集群 api 接口删除Terminating状态的资源
  • 软件工程课程第二次团队作业
  • TabControl控件
  • VS2026 使用 WebDeploy 发布到 IIS - Jeff
  • 2025 激光灯厂家最新推荐榜:全方位测评核心实力与潜力,甄选优质供应商实用指南
  • SpringBoot3 集成Junit4 - 实践
  • 详细介绍:Spark Shuffle:分布式计算的数据重分布艺术
  • 2025 年火焰检测器生产厂家最新推荐权威排名:涵盖防爆 / 一体化 / 紫外线 / 离子 / 红外线 / 红紫外复合 / 智能型,多维度解析助力企业精准选型
  • FPGA控制RGMII接口PHY芯片基础
  • 2025 年气泵厂家最新推荐权威榜单:小型 / 微型 / 耐腐蚀 / 微型真空 / 微型隔膜 / 防爆气泵公司选购指南
  • 冰川之国破例:冰岛首次发现蚊子,气候变化敲响警钟
  • 2025 年度茶叶行业优质厂家权威榜单:最新推荐全解析,小青柑 / 普洱等好茶选品指南
  • 卸载 macOS 上所有版本的 Python
  • win11暂停更新
  • 视频汇聚平台EasyCVR级联播放偶发失败排查:TCP主动模式下的3秒超时响应差
  • 企业微信ipad协议,标准化接口服务解决方案
  • 2025年DevOps平台全景观察:本土化与全球化双轨并行下的企业选择
  • 信息熵的特征选择算法MATLAB实现
  • 数字商品服务助力开发者降本增效,加速数字商品商业变现
  • 系统建设
  • Navicat Premium 17 官方版下载安装教程|支持MySQL、PostgreSQL、MongoDB等数据库
  • Gitee:数字化转型浪潮中的项目管理利器
  • 2025 水泥墩源头厂家最新推荐排行榜:光伏 / 围挡 / 交通 / 防撞水泥墩多品类优选,实力品牌权威榜单
  • 迷宫问题
  • 2025年10月上海装修公司口碑榜:十强对比评测
  • 2025年10月中国婚姻家事与财富管理律师推荐榜:五强对比评测
  • 2025年包装机厂家权威推荐榜单:全自动包装机/包装生产线/非标定制机器与生产线专业选购指南
  • 2025年10月仓储管理系统推荐:鸿链云仓领衔五大方案对比评测榜
  • 2025年10月人形机器人场景落地商评测榜:赛飞特工程技术集团数据透视