有解决方法。我知道原因及解决方法。也是一位坛友告诉我的。
我这边也存在这个问题:右键word文档,打开方式wps文字,只能打开wps应用,打不开文档。
系统是 deepin v23 rc
引用hotime在WPS社区的反馈,你参照以下内容在/usr/bin/wps 脚本中修改两处python的代码就可以了。
https://bbs.wps.cn/topic/34806
系统内置python版本为3.5以上的Linux发行版中使用WPS2019以及WPS365时,选中doc或docx或任意文档,使用”WPS文字“打开,会出现仅仅WPS客户端打开,但文档未打开的异常情形。
例如:内置python版本为3.11.6的deepin23系统
具体原因分析:
“WPS文字”桌面入口文件的Exec项配置为:Exec=/usr/bin/wps %U
这里的 %U 意味着被选中的一个或多个文件会被作为URL路径传递到程序中,例如:file:///home/hotime/Desktop/DOCX 文档.docx
但是由于在 /usr/bin/wps 脚本中:有两处涉及到处理URL的python代码:
gFilePath=$(python -c 'import sys, urllib; print urllib.unquote(sys.argv[1])' "$1")
gFilePath=$(python -c 'import sys, urllib; print urllib.unquote(sys.argv[1])' "$file")
是按照python2写的,与高版本python3的写法不同,这导致在python3.5及以上版本中这段代码执行失败, 导致gFilePath被变成了空白,最终导致没有任何被选中的文档被打开。
在python3.5版本以上,应该分别写成这样:
gFilePath=$(python -c 'import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))' "$1")
gFilePath=$(python -c 'import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))' "$file")
请在这个wps脚本中考虑对用户的python版本进行判断,然后再执行相对应的python语句处理URL,以避免此异常发生。
Popular Events
More