温馨提示×

如何在Ubuntu上使用TigerVNC共享文件

小樊
43
2025-12-24 18:41:01
栏目: 智能运维

在 Ubuntu 上使用 TigerVNC 共享文件的实用方案

一 功能限制与总体思路

  • TigerVNC 服务器本身不实现文件传输(客户端如 VNC Viewer 的“文件传输”按钮对 TigerVNC 无效)。若必须依赖 VNC 内置传输,需改用支持该功能的服务器(如 RealVNC Server 企业版)。否则,推荐通过操作系统级共享(Samba/NFS/SSH/SFTP)来在 VNC 会话内外交换文件。

二 方案一 操作系统级共享 Samba 推荐

  • 适用场景:跨平台、图形界面直接访问、多人协作。
  • 服务端(Ubuntu)步骤:
    1. 安装 Samba sudo apt update sudo apt install samba
    2. 创建共享目录 mkdir -p /home/$USER/shared chmod 775 /home/$USER/shared
    3. 配置 /etc/samba/smb.conf,在末尾添加 [shared] path = /home/$USER/shared browseable = yes read only = no valid users = $USER
    4. 设置 Samba 用户密码 sudo smbpasswd -a $USER
    5. 启动服务 sudo systemctl restart smbd sudo ufw allow samba # 如启用防火墙
  • 客户端访问方式:
    • Ubuntu 文件管理器:连接到 smb://服务器IP/shared
    • Windows:在“运行”输入 \服务器IP\shared
    • macOS:Finder → 前往 → 连接服务器 → smb://服务器IP/shared
  • 说明:VNC 会话中可直接用文件管理器访问上述 Samba 共享;也可在 VNC 会话外通过同一共享进行拷贝。

三 方案二 其他系统与协议备选

  • SSH/SFTP(最简便、加密好)
    • 安装 SSH 服务:sudo apt install openssh-server
    • 从客户端拷贝:scp file user@服务器IP:/home/user/
    • 图形化 SFTP:在文件管理器选择“连接到服务器”→ sftp://服务器IP
  • NFS(同网段 Linux 之间高效)
    • 服务端导出:/etc/exports 加入 /home/$USER/shared 服务器IP(rw,sync,no_subtree_check)
    • 启用:sudo exportfs -ra && sudo systemctl restart nfs-kernel-server
    • 客户端挂载:sudo mount 服务器IP:/home/$USER/shared /mnt/share
  • 以上方式与 VNC 无关,适合在 VNC 会话内外稳定传输文件。

四 方案三 若必须使用 VNC 内置文件传输

  • 更换为支持文件传输的服务器软件(非 TigerVNC):
    • 例如 RealVNC Server 企业版 4.0+ 才支持 VNC 文件传输;安装并设置许可证后,使用 RealVNC Viewer 连接即可使用“文件传输”功能。
    • 注意:开源/免费版 RealVNC Server 不支持此功能;TigerVNC 官方亦未实现该能力。

五 快速排错与安全建议

  • 端口与防火墙
    • 显示号 :1 对应端口 5901/tcp;如启用防火墙需放行:sudo ufw allow 5901/tcp
  • 日志定位
    • TigerVNC 日志位于 ~/.vnc/*.log,启动失败或异常可先查看日志。
  • 连接与权限
    • Samba 共享请确保用户存在、密码正确、目录权限为 775/770,以及 SELinux/AppArmor 未拦截访问。
  • 加密与认证
    • 建议启用 VNC 密码认证(vncpasswd),并在公网使用 SSH 隧道TLS 加密通道,避免明文传输。

0