Tips: 共享剪切板搞定了
前言:
在Ubuntu 14之后,VMware的VM Tools不再适用,转而推荐open-vm-tools来实现原来的诸如共享剪切板、共享文件夹、鼠标拖拽复制等功能。
但是VMware的VMTools脚本似乎和open-vm-tools配合不是很好,导致安装open-vm-tools只能实现最起码的一些功能(比如实时分辨率),与主机之间的高级通信功能则需要一些额外配置。
本文目前只讨论实现共享文件夹和共享剪切板 (问就是作者都还没搞定拖拽功能) 。
0. 安装Ubuntu 23
虚拟机我用的是Ubuntu 23.04-desktop-amd64,主机是Win 11。
虚拟机配置:4GB内存,50GB外存(一块Ext3/Ext4虚拟硬盘,采用SCSI接口),网络采用默认的NAT模式。
这不是重点,这里不展开,想看的给一个通用一点的教程:CSDN - VMware安装ubuntu23.04
装完了别忘了检查一下有没有安装语言支持(中文输入法)、文本编辑器(新手用gedit),以及网络连接(能连上Internet就行,连不上的建议用VMware的默认NAT网络,这是最稳的,但是用这个最好别开其他的虚拟机,NAT的默认DHCP上限好像只有2)
1. (开机之前)在VMware中开启共享文件夹
- 在旁边的虚拟机列表里面找到自己的虚拟机
- 依次点击:右键->“设置”选项(一般是在最下面)->“选项”栏(最上面)->共享文件夹
- 旁边选中“总是启用”,然后点击下方“添加”跟着向导设置源文件夹路径、显示路径。
完成后长这样(顺带展示我的共享文件夹):
我的共享文件夹长这样。
然后开机
2. 安装open-vm-tools、open-vm-tools-desktop
首先,确保联网。
然后,检查源是否为国内源,如果不是,替换为国内源。
Ubuntu 23.04提供了图形化的换源方式,不再需要输入指令,具体步骤:
- 点击系统任务栏最下面的“9个点图标”。
- 搜索“软件与更新”(Software & Updates),点击进入。
- 选择“位于中国的服务器”,当然也可以选择“其他”当中的服务器。
采用sudo apt命令安装open-vm-tools, open-vm-tools-desktop
。
sudo apt update # 首先要更新,保证apt库是最新的
sudo apt install open-vm-tools
sudo apt install open-vm-tools-desktop
有心的人可能会发现,open-vm-tools-desktop
是依赖于open-vm-tools
的,所以你要想实现拖拽之类的高级功能这俩都要安,问就是这个说了:VMware support for open-vm-tools (2073803)
安装完了重启(你可能会发现刚安装好,分辨率就可变了,但这并不代表所有服务都已经启动,保险起见还是重启)。
3. 使用vmware-hgfsclient
指令检查是否共享文件夹是否开启
如题,打开终端,输入:
vmware-hgfsclient
如果显示了你的共享文件夹名字,说明开启成功,往下进入搭载环节;如果没有,请回去检查是不是成功开启,解决了再往下走。
4. (重点)搭载文件夹
-
随便开启一个终端,进入路径
/etc/systemd/system
cd /etc/systemd/system
-
创建一个文件,我这里命名为
mnt.hgfs.service
,进入编辑。sudo touch mnt.hgfs.service sudo gedit mnt.hgfs.service
-
键入以下代码(我也看不太懂,大概意思就是把所有的共享文件夹
mount
到一个目录下)
最核心的一段代码应该就是/usr/bin/vmhgfs-fuse -o allow_other -o auto_unmount .host:/ /mnt/hgfs
这段。[Unit] Description=Load VMware shared folders Requires=vmware-vmblock-fuse.service After=vmware-vmblock-fuse.service ConditionPathExists=.host:/ ConditionVirtualization=vmware [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/vmhgfs-fuse -o allow_other -o auto_unmount .host:/ /mnt/hgfs [Install] WantedBy=multi-user.target
-
使用
systemctl
命令启动service(enable了一下是为了开机自启):sudo systemctl enable mnt.hgfs.service sudo systemctl start mnt.hgfs.service
-
检查有没有
/mnt/hgfs
文件夹,没有就创建一个sudo mkdir /mnt/hgfs
-
有些人到这里就已经可以看到
/mnt/hgfs
里面出现了自己的共享文件夹,没有也没关系,重启再看看有没有。
重启电脑reboot
重启这项服务:
sudo systemctl restart mnt.hgfs.service
5. 共享剪切板
在安装了open-vm-tools-desktop
后,有一个工具是专门负责搞共享剪切板的,名字叫vmware-user
详情参考:CSDN - Open VM Tools的工具集。
打开终端,运行此工具即可:
vmware-user # 直接运行即可,open-vm-tools给你内置了
参考文章
- chinoukin, vmware使用open-vm-tools配置ubuntu共享文件夹, CSDN
- 明明1109, vmhgfs-fuse: command not found(命令未找到) 的解决办法, 博客园
- ITKEY_, vmware archlinux vmware tools替代者Open-VM-Tools, CSDN
- 土戈, 用vmware共享windows的文件夹给Linux(centos7)永久生效, CSDN
- C9ccc00, VMware安装ubuntu23.04, CSDN
- VMware.Cor, VMware 对 open-vm-tools 的支持 (2073803), VMware官网