我有.desktop
一个类似 Wine 的应用程序文件,可以打开 MS Word:
[Desktop Entry]
Type=Application
Version=1.0
Icon=x-vmware-564d5302e9430a5d-1416be4d2596d246-Microsoft-Word-2010
Terminal=false
StartupNotify=false
NoDisplay=false
Name=Microsoft Word
StartupWMClass=Microsoft Word
Exec=vmrun -T player -gu alx -gp 123 runProgramInGuest "/home/alx/vmware/office/windows-7.vmx" -activeWindow -interactive "c:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" Z:\lin%f
Comment=Run 'Microsoft Word 2010' in the virtual machine 'windows-7'
Name[en_US]=Word
它成功打开了文档,但名称中包含空格的文档除外,它显示无法找到此类文件的错误,并在路径中用替换空格%%20
。是否可以以某种方式说:不要将%20
文件名中的空格转换为?
答案1
好的,我已经整理好了。
为了正确打开 MS Word 文档(包括名称中带有空格的文件),我们需要做两件事:
- 创建一个 sh 包装器,它将使用正确的参数启动 WINWORD 应用程序:
#!/bin/sh
vmrun -T player -gu alx -gp 123 runProgramInGuest ./vmware/office/windows-7.vmx -activeWindow -interactive "c:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "$(echo "$@" |sed -e 's;C:;Z:;' -e 's:/*/:\\\\:g')"
- 修改文件中的 Exec 行
.desktop
以指向上面的包装器:
Exec=./bin/wordwrapper.sh Z:\\\lin%F
其中lin
- Windows VM 内用于访问主机文件的共享文件夹,对于 Wine,应该只有Z:%F