ap20001
(ap20001)
1
各位大神,本人系统 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;
ap20001
(ap20001)
3
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赞