在 VMware 虚拟机中安装 open-vm-tools 完整指南

详解 VMware Tools 的作用、open-vm-tools 与官方 VMware Tools 的区别,以及在 Ubuntu 虚拟机中安装并生效的完整步骤和常见问题排查。

为什么需要 VMware Tools

安装 VMware 虚拟机后,如果不安装 VMware Tools,你会遇到:

  • 分辨率固定:窗口缩放后画面不跟随调整,只能显示 800×600 等固定分辨率
  • 无法共享剪贴板:宿主机和虚拟机之间 Ctrl+C / Ctrl+V 不互通
  • 鼠标无缝切换失效:切换鼠标焦点需要按 Ctrl+Alt
  • 文件拖放不可用:无法从宿主机拖文件到虚拟机桌面
  • 时间同步问题:虚拟机时钟可能与宿主机偏差

VMware Tools 是解决以上所有问题的官方客户端套件。

open-vm-tools vs 官方 VMware Tools

对比项open-vm-tools官方 VMware Tools
来源开源(VMware 官方维护)闭源,随 VMware 软件分发
安装方式apt install,随系统更新需要从 VMware 菜单挂载 ISO 安装
桌面支持open-vm-tools-desktop(需单独安装)集成
推荐场景Linux 客户机(Ubuntu/Debian/CentOS)Windows 客户机
VMware 官方态度推荐用于 Linux适用于 Windows

结论:Linux 虚拟机优先使用 open-vm-tools,不需要从菜单挂载安装盘。

安装步骤

1. 更新软件包索引

sudo apt update && sudo apt upgrade -y

upgrade 确保现有包是最新状态,避免依赖冲突。

2. 安装 open-vm-tools

# 桌面环境(GNOME/KDE/Xfce 等图形界面)
sudo apt install open-vm-tools-desktop -y

# 无桌面的服务器环境(命令行 only)
sudo apt install open-vm-tools -y

open-vm-tools-desktop 包含了 open-vm-tools 的所有功能,并额外提供:

  • SVGA 显示驱动(支持动态分辨率)
  • 剪贴板共享(vmware-user-suid-wrapper
  • 拖放支持

3. 重启虚拟机

sudo reboot

重启后,VMware 界面底部状态栏会显示 “VMware Tools is running”,分辨率调整也会立即生效。

验证安装

# 检查服务状态
systemctl status open-vm-tools

# 查看版本
vmware-toolsd --version

# 检查 SVGA 驱动是否加载(桌面版)
lsmod | grep vmwgfx

正常输出示例:

● open-vm-tools.service - Service for virtual machines hosted on VMware
     Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled)
     Active: active (running)

常见问题

剪贴板共享仍不工作

确认以下两点:

  1. VMware 设置里开启了共享:虚拟机 → 设置 → 选项 → 客户机隔离 → 取消勾选”禁用…”
  2. 服务正在运行
systemctl restart open-vm-tools

分辨率不能自动调整

有时需要手动启动用户级服务:

vmware-user-suid-wrapper &

或将其加入 ~/.profile 自动启动:

echo "vmware-user-suid-wrapper &" >> ~/.profile

在 Wayland 会话下剪贴板不工作

Ubuntu 22.04+ 默认使用 Wayland,open-vm-tools 的剪贴板共享目前对 Wayland 支持不完整。临时解决方案:在登录界面切换为 Xorg 会话(点击右下角齿轮图标选择)。

包不存在:E: Package ‘open-vm-tools-desktop’ has no installation candidate

这通常出现在 Ubuntu Server 版本(没有图形界面)。改装无桌面版:

sudo apt install open-vm-tools -y

卸载旧版 VMware Tools(如有)

如果之前通过 ISO 安装过官方 VMware Tools,需先卸载再安装 open-vm-tools:

# 检查是否存在旧安装
ls /usr/bin/vmware-uninstall-tools.pl

# 存在则卸载
sudo /usr/bin/vmware-uninstall-tools.pl

然后按上述步骤重新安装 open-vm-tools