解决open-vm-tools无法复制粘贴文件问题

本文介绍了如何解决在VMware Kali Linux环境下,open-vm-tools导致的无法复制粘贴和拖拽文件的问题。通过检查并启用vmblock-fuse挂载服务,以及重启vmware-tools服务,最终成功实现了文件的复制和拖放功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用vmware kali linux时一直忍受着一个情况:

open-vm-tools Error when getting information for file "//tmp/VMwareDnD/3jTONh/:xxx: No such file or directory

无法复制文件,有时拖拽也不行的情况。

终于今天忍不住了,决定彻底解决这个问题

首先,vmware的增强工具是:open-vm-toolsopen-vm-tools-desktop。复制字符没问题,就是复制文件和拖拽文件有问题。

在查询一番资料后,发现有篇文章写到:

For Drag-and-Drop and Copy-and-Paste functionality, open-vm-tools needs to mount a special filesystem (vmblock-fuse). Check if this is already enabled

拖拽和复制、粘贴文件,需要挂载一个特殊的文件系统:vmblock-fuse,先查看这个文件系统挂载服务的情况:

 

 

1

╰─➤  systemctl status run-vmblock\\x2dfuse.mount

2

● run-vmblock\x2dfuse.mount - VMware vmblock fuse mount

3

     Loaded: loaded (/lib/systemd/system/run-vmblock\x2dfuse.mount; disabled; vendor preset: enabled)

4

     Active: inactive (dead)

5

      Where: /run/vmblock-fuse

6

       What: vmware-vmblock-fuse

7

       Docs: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt

发现这个服务居然是inactive状态并且是disabled状态,意味着:没有启动,并且重启后也不会自启。难怪无法复制、粘贴。

 

 

1

1. 开机自启

2

systemctl enable run-vmblock\\x2dfuse.mount   

3

4

2. 启动服务

5

systemctl start run-vmblock\\x2dfuse.mount

现在来查看服务状态,发现启动成功。

 

 

1

╰─➤  systemctl status run-vmblock\\x2dfuse.mount

2

● run-vmblock\x2dfuse.mount - VMware vmblock fuse mount

3

     Loaded: loaded (/lib/systemd/system/run-vmblock\x2dfuse.mount; enabled; vendor preset: enabled)

4

     Active: active (mounted) since Tue 2021-03-30 16:02:46 CST; 5s ago

5

      Where: /run/vmblock-fuse

6

       What: vmware-vmblock

7

       Docs: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt

8

      Tasks: 3 (limit: 9304)

9

     Memory: 448.0K

10

        CPU: 6ms

11

     CGroup: /system.slice/run-vmblock\x2dfuse.mount

12

             └─77525 vmware-vmblock-fuse /run/vmblock-fuse -o rw,subtype=vmware-vmblock,default_permissions,allow_other,dev,suid

13

14

Mar 30 16:02:46 we systemd[1]: Mounting VMware vmblock fuse mount...

15

Mar 30 16:02:46 we systemd[1]: Mounted VMware vmblock fuse mount.

但是此时仍然无法复制粘贴,还需要再重启vmware-tools服务

 

 

1

systemctl restart vmware-tools

至此,可以随意复制、粘贴文件。

### 解决方案 当遇到 'No such file or directory' 错误时,通常意味着程序尝试访问不存在的文件路径或目录。对于特定于Oracle GoldenGate (OGG) 的错误 OGG-01525: Failed to open trace output file, '{0}', error {1,number,0} ({2}),这表明指定的日志输出文件无法打开[^1]。 为了处理此问题并确保能够成功获取文件信息: #### 文件路径验证 确认提供的文件路径绝对正确无误,并且该位置确实存在目标文件。如果是在脚本环境中工作,则应考虑当前的工作目录设置可能会影响相对路径解析的结果。 #### 权限检查 确保运行进程具有足够的权限读取所指文件及其所在目录的内容。缺乏适当的操作系统级权限也会导致此类异常情况的发生。 #### 日志记录与调试 启用详细的日志记录可以帮助诊断具体原因。通过增加应用程序内部以及操作系统层面的日志量,可以更容易定位到实际失败点的位置。 ```bash ls -l /path/to/file # 查看文件是否存在及权限状态 ``` #### 处理逻辑调整 编写健壮的应用程序代码,在尝试操作之前先测试文件的存在性和可访问性。例如,在Python中可以通过`os.path.exists()`函数预先判断文件是否真的存在于给定路径下;而在Shell命令里则可以直接利用条件语句配合`test`指令完成同样的功能。 ```python import os if not os.path.exists('/path/to/yourfile'): print('File does not exist.') else: try: with open('/path/to/yourfile', 'r') as f: content = f.read() print(content) except IOError as e: print(f"Error opening the file: {e}") ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值