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

mac连接lniux服务器教学笔记

从你的检查结果看,容器内已经安装了 XFCE 桌面环境xfce.desktopxubuntu.desktop 的存在说明桌面环境已存在)。以下是针对 Docker 容器环境的远程桌面配置方案:


一、容器内快速配置远程桌面(XFCE + VNC)

1. 安装必要组件
# 更新包列表并安装 VNC 服务器和 XFCE 工具
apt update && apt install -y tigervnc-standalone-server xfce4-terminal xfce4-good-extras
2. 设置 VNC 密码
vncpasswd  # 输入两次密码(建议设置简单密码用于测试)
3. 配置 VNC 启动脚本
# 创建 VNC 启动文件
mkdir -p ~/.vnc
echo '#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &' > ~/.vnc/xstartup# 赋予执行权限
chmod +x ~/.vnc/xstartup
4. 启动 VNC 服务
vncserver :1 -geometry 1280x720 -depth 24 -localhost no
  • :1 表示显示编号1(对应端口 5901
  • -localhost no 允许外部访问(仅限测试环境!)
5. 查看运行状态
ss -tuln | grep 5901  # 确认端口监听
ps aux | grep vnc     # 查看进程

在这里插入图片描述


二、从 Mac 连接容器 VNC

1. 确保容器端口映射正确
  • 如果容器是临时启动的,需在 docker run 时添加端口映射:
docker run -it -p 5901:5901 your_image_name
  • 如果容器已存在,需重新提交镜像并运行:
docker commit fcfdbfd953f0 xfce_vnc  # 提交当前容器为新镜像
docker run -it -p 5901:5901 xfce_vnc
2.1在 Mac 上使用 VNC 客户端:
  • 打开 Finder → 应用程序 → 屏幕共享(或使用 TigerVNC)
  • 地址栏输入:宿主机IP:5901 输入 VNC
    密码(首次启动时会提示设置密码)
2. 2使用 VNC 客户端连接
  • 下载 VNC Viewer(https://www.realvnc.com/en/connect/download/viewer/)
  • 输入地址:服务器IP:5901容器宿主机IP:5901
  • 输入步骤2中设置的密码
3. 连接效果
  • 如果成功,会看到 XFCE 桌面,终端位于 xfce4-terminal
  • 如果黑屏,尝试重启 VNC:
    vncserver -kill :1 && vncserver :1
    

三、安全优化(必做)

1. 通过 SSH 隧道加密

直接暴露 VNC 端口不安全,建议在 Mac 本地执行:

ssh -L 5901:localhost:5901 user@宿主机IP

然后连接 VNC 地址为 localhost:5901

2. 容器内防火墙(如有)

如果容器内安装了 ufw

ufw allow 5901/tcp

四、持久化配置

1. 创建 Dockerfile
FROM your_base_image  # 原容器的基础镜像
RUN apt update && apt install -y tigervnc-standalone-server xfce4-terminal
RUN mkdir -p /root/.vnc && echo "startxfce4 &" > /root/.vnc/xstartup
RUN chmod +x /root/.vnc/xstartup
EXPOSE 5901
CMD ["vncserver", ":1", "-geometry", "1280x720", "-depth", "24", "-localhost", "no"]
2. 构建并运行镜像
docker build -t xfce_vnc .
docker run -it -p 5901:5901 xfce_vnc

五、替代方案:浏览器访问(无需客户端)

1. 安装 novnc
apt install -y websockify novnc
websockify --web /usr/share/novnc 8080 localhost:5901
2. 访问地址
  • 浏览器打开 http://宿主机IP:8080/vnc.html
  • 输入密码即可(需映射容器8080端口)

六、常见问题

1. VNC 连接后灰屏/无响应
  • 确保 ~/.vnc/xstartup 内容正确(必须包含 startxfce4 &)。
  • 检查依赖是否完整:
    apt install -y --fix-missing xfce4-panel xfdesktop4
    
2. Mac 端提示协议错误
  • 在 VNC Viewer 设置中启用 Legacy Encoding
  • 或改用 RealVNC 客户端。

总结

你的容器已具备 XFCE 桌面能力,按上述步骤配置 VNC 后即可从 Mac 远程访问。如果是生产环境,强烈建议通过 SSH 隧道加密流量。如果需要进一步简化流程,可以使用预装 VNC 的 Docker 镜像(如 danielguerra/ubuntu-xfce-vnc)。

相关文章:

  • 代码随想录算法训练营第60期第三十天打卡
  • QT中的网络请求
  • 【软件设计师:软件工程】11.项目管理
  • V4L2应用程序开发-- 控制流程
  • 枚举 · 例13-【模板】双指针
  • 如何使用极狐GitLab 软件包仓库功能托管 terraform?
  • V 型球阀:多材质多驱动,精准适配复杂严苛工况-耀圣
  • 【UltralyticsYolo11图像分类完整项目-03】Onnx版Cpu预测C++实现
  • 解决word里插入公式后打不开的问题
  • Ubuntu 安装远程桌面连接RDP方式
  • Docker部署常见应用之Superset
  • 监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南
  • 【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit
  • 总线通信篇:I2C、SPI、CAN 的底层结构与多机通信设计
  • python3连接数据库工具类之Oracle
  • C++入门小馆 :多态
  • 第二章 Logback的架构(三)
  • Web 自动化之 HTML JavaScript 详解
  • HTML10:iframe内联框架
  • HTML9:页面结构分析
  • 国博馆刊|北朝至唐初夏州酋豪李氏家族的发展与身份记忆
  • 秦洪看盘|重估叙事主题卷土重来,给A股注入新活力
  • 进化版大巴黎通杀英超,那个男人后悔了吗
  • 扶桑谈|素称清廉的石破茂被曝受贿,日本政坛或掀起倒阁浪潮
  • 首家股份行旗下AIC来了,兴银金融资产投资有限公司获批筹建
  • 从黄土高原到黄浦江畔,澄城樱桃品牌推介会明日在上海举办