在 VMware Workstation 中安装 Ubuntu 虚拟机后,通常会安装 open-vm-tools 和 open-vm-tools-desktop,以实现宿主机与虚拟机之间的剪贴板共享、拖拽、自动调整分辨率等功能。
但实际使用中可能会遇到这样一个问题:
open-vm-tools已正常安装,VMware Guest Isolation 也开启了 Copy & Paste,但宿主机和 Ubuntu 之间仍然无法正常复制粘贴。
经过排查后发现,问题往往并不在 open-vm-tools 本身,而是 Ubuntu 默认使用的 Wayland 图形会话与 VMware Tools 的桌面集成功能兼容性不足。
本文记录这个问题的现象、排查方法,以及目前较稳定的解决方案。
一、故障现象
环境大致如下:
- VMware Workstation
- Ubuntu Desktop
- 已安装
open-vm-tools - 已安装
open-vm-tools-desktop - VMware 虚拟机设置中已启用剪贴板共享
安装命令:
|
1 2 |
sudo apt install open-vm-tools open-vm-tools-desktop |
VMware 中也已经启用:
|
1 2 3 4 5 6 7 |
VM └─ Settings └─ Options └─ Guest Isolation ├─ Enable copy and paste └─ Enable drag and drop |
但仍然出现:
- Windows 宿主机复制文本后,Ubuntu 中无法粘贴
- Ubuntu 复制内容后,宿主机无法粘贴
- 文件拖拽不工作
- 有时重启
vmtoolsd后暂时恢复 - 重启 Ubuntu 后问题再次出现
二、首先确认 open-vm-tools 是否安装完整
很多情况下只安装了:
|
1 2 |
open-vm-tools |
但没有安装桌面集成功能所需要的:
|
1 2 |
open-vm-tools-desktop |
可以检查:
|
1 2 |
dpkg -l | grep open-vm-tools |
正常情况下应该至少看到:
|
1 2 3 |
open-vm-tools open-vm-tools-desktop |
如果缺少桌面组件,则安装:
|
1 2 3 |
sudo apt update sudo apt install open-vm-tools-desktop |
然后重启:
|
1 2 |
sudo reboot |
三、确认 VMware Tools 服务正常
检查系统服务:
|
1 2 |
systemctl status open-vm-tools |
正常情况下应该显示:
|
1 2 |
active (running) |
同时检查 vmtoolsd:
|
1 2 |
ps aux | grep vmtoolsd |
通常除了 root 权限运行的服务之外,还应该能看到用户会话中的 VMware Tools 进程,例如:
|
1 2 3 |
/usr/bin/vmtoolsd /usr/bin/vmtoolsd -n vmusr |
其中:
|
1 2 |
vmtoolsd -n vmusr |
负责一部分桌面集成功能,包括剪贴板、拖拽等。
如果这个进程没有正常启动,可以尝试:
|
1 2 |
/usr/bin/vmware-user-suid-wrapper |
如果执行后剪贴板立即恢复,则说明问题和 VMware 用户态桌面组件有关。
但如果每次重启后都再次失效,则还需要继续排查 Ubuntu 的显示服务器。
四、真正的关键:Wayland
执行:
|
1 2 |
echo $XDG_SESSION_TYPE |
如果输出:
|
1 2 |
wayland |
那么很可能已经找到问题所在。
如果输出:
|
1 2 |
x11 |
则当前运行的是 Xorg/X11,需要继续排查其他因素。
五、为什么 Wayland 会导致 VMware 剪贴板异常
传统 Linux 桌面大量基于 X11。
在 X11 环境下,VMware Tools 可以比较直接地与桌面系统进行交互,实现:
|
1 2 3 4 5 6 7 8 9 10 11 |
Windows Host │ ▼ VMware Workstation │ ▼ open-vm-tools │ ▼ X11 Clipboard |
因此 VMware 的复制粘贴、拖拽等功能长期以来在 X11 下都比较成熟。
而 Wayland 的安全模型和 X11 有明显区别。
Wayland 不允许普通应用像过去的 X11 程序那样随意:
- 读取全局剪贴板
- 注入输入事件
- 监听其他窗口
- 操作其他应用的拖拽数据
这提升了桌面的安全性,但也让 VMware、远程桌面、屏幕捕获、自动化工具等软件需要重新适配。
因此会出现:
|
1 2 3 4 5 6 7 8 9 10 |
open-vm-tools 正常 │ ▼ vmtoolsd 正常 │ ▼ Wayland │ └── 剪贴板 / Drag & Drop 功能不完整 |
换句话说:
安装了 open-vm-tools,并不代表在 Wayland 下所有 VMware 桌面集成功能都一定能正常工作。
六、最稳定的解决方案:切换到 Xorg
如果 Ubuntu 版本仍然提供 Xorg 会话,那么目前最简单、最稳定的方案就是:
VMware 虚拟机中使用 Xorg,而不是 Wayland。
先注销 Ubuntu 用户。
在登录界面选择用户名后,点击齿轮图标,选择:
|
1 2 |
Ubuntu on Xorg |
重新登录后执行:
|
1 2 |
echo $XDG_SESSION_TYPE |
应该显示:
|
1 2 |
x11 |
这时再次测试:
|
1 2 3 4 |
Windows Ctrl+C ↓ Ubuntu Ctrl+V |
通常剪贴板共享即可恢复正常。
七、永久使用 Xorg
如果已经确认:
|
1 2 3 |
Wayland → 剪贴板异常 Xorg → 剪贴板正常 |
那么可以考虑直接禁用 Wayland。
编辑 GDM 配置:
|
1 2 |
sudo nano /etc/gdm3/custom.conf |
找到:
|
1 2 |
#WaylandEnable=false |
修改为:
|
1 2 |
WaylandEnable=false |
最终类似:
|
1 2 3 |
[daemon] WaylandEnable=false |
保存后重启:
|
1 2 |
sudo reboot |
重新进入系统后验证:
|
1 2 |
echo $XDG_SESSION_TYPE |
正常情况下应该输出:
|
1 2 |
x11 |
这样以后系统默认就会进入 Xorg,而不需要每次登录手工选择。
八、Ubuntu 新版本需要特别注意
这里还有一个重要区别。
对于较早的 Ubuntu Desktop,例如 Ubuntu 22.04、24.04,GNOME 通常仍然可以使用:
|
1 2 |
Ubuntu on Xorg |
因此将 VMware 虚拟机固定到 Xorg 是非常简单的。
但在更新的 GNOME / Ubuntu Desktop 中,桌面环境正在逐步转向 Wayland-only。
此时即使设置:
|
1 2 |
WaylandEnable=false |
也不一定还能得到完整的 GNOME Xorg 会话。
因此,对于较新的 Ubuntu 版本,需要根据实际情况选择方案。
方案一:继续使用 Wayland
优点:
- 使用 Ubuntu 默认桌面环境
- 更符合未来 Linux 桌面发展方向
- 更好的图形隔离机制
- HiDPI、多显示器等现代桌面特性通常更完善
缺点:
- VMware Clipboard 可能异常
- Drag & Drop 可能不可用
- 某些 VMware Tools 桌面集成功能不完整
如果剪贴板并不是重要需求,可以继续使用 Wayland。
方案二:Ubuntu 24.04 + Xorg
如果这台 VMware Ubuntu 主要用途是:
- 软件开发
- 编译 Linux 程序
- Docker
- Rust / C / C++
- 嵌入式交叉编译
- ESP-IDF
- Linux 工具链
而不是为了体验最新 GNOME 桌面,那么一个比较省心的组合是:
|
1 2 3 4 5 6 7 8 9 10 |
VMware Workstation + Ubuntu 24.04 LTS + Xorg + open-vm-tools + open-vm-tools-desktop |
对于开发型虚拟机,这种组合通常更加稳定。
尤其是:
|
1 2 3 4 5 |
Clipboard Drag & Drop Resolution Resize VMware User Agent |
这些 VMware 桌面功能在 X11 下长期经过了更多验证。
方案三:新 Ubuntu + X11 桌面环境
如果因为其他原因必须使用较新的 Ubuntu,但 GNOME 已经无法方便地运行 Xorg,也可以考虑安装仍然支持 X11 的桌面环境,例如:
|
1 2 3 |
Xfce MATE |
例如:
|
1 2 |
sudo apt install xfce4 |
然后在登录界面选择 Xfce。
登录后验证:
|
1 2 |
echo $XDG_SESSION_TYPE |
如果返回:
|
1 2 |
x11 |
VMware Tools 的剪贴板集成通常会比 Wayland 更可靠。
对于虚拟机而言,Xfce 还有一个额外优点:
桌面环境本身比 GNOME 更轻量。
因此对于纯开发用途的 Linux VM,也是一种不错的选择。
九、推荐排查流程
以后遇到 VMware Ubuntu 剪贴板无法共享,可以按下面顺序检查。
1. 检查 open-vm-tools
|
1 2 |
dpkg -l | grep open-vm-tools |
确保安装:
|
1 2 3 |
open-vm-tools open-vm-tools-desktop |
2. 检查 VMware 设置
确认:
|
1 2 3 |
Enable copy and paste Enable drag and drop |
已经开启。
3. 检查 VMware Tools 服务
|
1 2 |
systemctl status open-vm-tools |
4. 检查 vmusr
|
1 2 |
ps aux | grep vmtoolsd |
确认用户会话中的:
|
1 2 |
vmtoolsd -n vmusr |
正常存在。
5. 检查显示服务器
|
1 2 |
echo $XDG_SESSION_TYPE |
如果:
|
1 2 |
wayland |
则切换 Xorg 测试。
如果:
|
1 2 |
x11 |
且剪贴板依然异常,再去检查 VMware Tools 和 Guest Isolation。
十、最终结论
这次问题最容易误导人的地方在于:
|
1 2 3 4 |
open-vm-tools 已安装 ≠ VMware 剪贴板一定正常 |
真正影响 VMware Linux Guest 剪贴板共享的除了 VMware Tools 本身,还包括桌面显示协议。
目前可以简单理解为:
|
1 2 3 4 5 6 7 8 |
VMware + X11 │ └── Clipboard 支持成熟 VMware + Wayland │ └── Clipboard / Drag & Drop 兼容性仍可能存在问题 |
因此,如果 Ubuntu 是运行在 VMware Workstation 中的开发虚拟机,并且非常依赖:
- Host ↔ Guest 文本复制
- 文件拖拽
- 自动调整分辨率
- VMware 桌面集成功能
那么目前更加务实的选择仍然是:
|
1 2 3 4 5 6 |
Ubuntu 24.04 LTS + Xorg + open-vm-tools-desktop |
而如果使用较新的 Ubuntu / GNOME,并希望继续使用 Wayland,则需要接受 VMware 剪贴板集成功能目前仍可能存在兼容性问题。
对于开发虚拟机来说,稳定性往往比使用最新桌面协议更加重要。