[ 已解决 ] wps 文件关联错误如何修复

各位大神,本人系统 12.3 的 kde,安装了 libreoffice,永中 office,WPS 的(没办法,电脑主要还是用来办公的),不知怎么回事,打开文件的时候选择默认软件出错了,现在所有的 .ppt,.xls 都被识别成了 OLE2 复合文档储存,而 *.doc 没有问题。按论坛的方法改了下 mimeapps.list 都 没用。下面是我的文件内容,请教下各位如何修复,谢谢

[Added Associations]
application/msword=writer.desktop;yozo-writer.desktop;wps-office-wps.desktop;
application/pdf=wine-extension-pdf.desktop;kde4-okularApplication_pdf.desktop;acroread.desktop;gimp.desktop;
application/vnd.rn-realmedia=vlc.desktop;kde4-kaffeine.desktop;
application/wps-office.doc=writer.desktop;yozo-writer.desktop;wps-office-wps.desktop;wine-extension-rtf.desktop;
application/wps-office.docx=writer.desktop;yozo-writer.desktop;wps-office-wps.desktop;
application/wps-office.ppt=impress.desktop;yozo-impress.desktop;wps-office-wpp.desktop;
application/wps-office.pptx=impress.desktop;yozo-impress.desktop;wps-office-wpp.desktop;
application/wps-office.xls=calc.desktop;wps-office-et.desktop;yozo-calc.desktop;
application/wps-office.xlsx=calc.desktop;wps-office-et.desktop;yozo-calc.desktop;
video/mp4=vlc.desktop;kde4-kaffeine.desktop;mplayer.desktop;
video/mpeg=vlc.desktop;kde4-kaffeine.desktop;
video/x-ms-wmv=vlc.desktop;kde4-kaffeine.desktop;miro.desktop;mplayer.desktop;kde4-amarok_containers.desktop;
video/x-msvideo=vlc.desktop;kde4-kaffeine.desktop;

在系统设置中的文件关联,然后搜 ppt 再改

OK,我试过文件关联的修改了,没有作用。
我的情况在 http://forums.opensuse.org/english/get-technical-help-here/applications/458293-dolphin-suddenly-sees-xls-files-ole2-application-x-ole-storage.html 也有人提到。搞不懂。其错误不是文件关联的错误,而是 xls 和 ppt 都被识别为 *.ole 文件了 。
网上有人提到同时安装 wps 和永中会出现这种错误,正打算卸载 wps 看看。但奇怪的是刚安装的时候不会有这种错误啊

application/wps-office.ppt=impress.desktop;yozo-impress.desktop;wps-office-wpp.desktop;
application/wps-office.pptx=impress.desktop;yozo-impress.desktop;wps-office-wpp.desktop;
application/wps-office.xls=calc.desktop;wps-office-et.desktop;yozo-calc.desktop;
application/wps-office.xlsx=calc.desktop;wps-office-et.desktop;yozo-calc.desktop;

你可以改成

application/wps-office.ppt=wps-office-wpp.desktop;yozo-impress.desktop;
application/wps-office.pptx=wps-office-wpp.desktop;yozo-impress.desktop;
application/wps-office.xls=wps-office-et.desktop;yozo-calc.desktop;
application/wps-office.xlsx=wps-office-et.desktop;yozo-calc.desktop;

试试。

因为你也看到 .ppt/.pptx/.xls/.xlsx 是被 wps 注册的私有 mimetype (application/wps-office.ppt),而并不是开源文档对 ppt 定义的那个标准 mimetype,而你选择的是 LibreOffice 的 impress/calc 首选打开,那可能是 LibreOffice 无法识别 WPS 注册的那堆渣渣。而且你像上面那么改(只用 wps 或永中打开那堆渣渣),会造成它和开源标准冲突(有两个对 .ppt 打开方式的定义)。所以你改成正确的 mimetype:

application/vnd.ms-powerpoint=impress.desktop;yozo-impress.desktop;wps-office-wpp.desktop;
application/vnd.openxmlformats-officedocument.presentationml.presentation=impress.desktop;yozo-impress.desktop;wps-office-wpp.desktop;
application/vnd.ms-excel=calc.desktop;wps-office-et.desktop;yozo-calc.desktop;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=calc.desktop;wps-office-et.desktop;yozo-calc.desktop;

就没有问题了。

注:

查找方式是在

/usr/share/mime/application

grep -r “ppt” ./

会看到:

./vnd.openxmlformats-officedocument.presentationml.presentation.xml:  <glob pattern="*.pptx"/>
./vnd.openxmlformats-officedocument.presentationml.presentation.xml:  <glob pattern="*.pptx"/>
./vnd.openxmlformats-officedocument.presentationml.presentation.xml:  <glob pattern="*.pptx"/>
./vnd.ms-powerpoint.presentation.macroEnabled.12.xml:  <glob pattern="*.pptm"/>
./vnd.ms-powerpoint.presentation.macroEnabled.12.xml:  <glob pattern="*.pptm"/>
./vnd.ms-powerpoint.presentation.macroenabled.12.xml:  <glob pattern="*.pptm"/>
./vnd.ms-powerpoint.xml:  <glob pattern="*.ppt"/>
./vnd.ms-powerpoint.xml:  <glob pattern="*.ppt"/>

找到最精确的描述 ppt 的那个 ( glob 英文是匹配的意思。就是「匹配模式 = *.ppt」),不带 xml 就是那个字符串 vnd.ms-powerpoint。另外你注意到目前所在文件夹是 application,所以要使用 application/vnd.ms-powerpoint。

1赞