环境说明
系统:Ubuntu 22.04.3 LTS
微信版本:3.8.0.41spark23.1
现象描述
当微信中有人发送文件时,在聊天框中右键,点击在文件夹中显示,浏览器弹出,浏览器地址栏上的内容如下:
--show-item%20/home/ieayoio/文档/WeChat
问题分析
根据网友Reverier提出的解决方案,我恍然大悟,目前我运行的wine版本的微信和deepin有些关联,当我们右键文件,点击在文件夹中显示时,会自动调用深度的文件管理器,类似下面的形式
dde-file-manager --show-item $FilePath
知道原理了解决起来就变得非常明确了
ubuntu上的默认文件管理器为nautilus,我稍微研究下发现,原来-s
参数或者也可以用--select
,就可以替代dde-file-manager的--show-item
我们只需要做一个命令,伪装一下dde-file-manager就好了
问题解决
我们在某个目录下新建一个sh文件:analog-dde-file-manager.sh
让ai生成一段代码写入
#!/bin/bash
if [ "$1" = "--show-item" ]; then
shift
nautilus --select "$@"
else
nautilus "$@"
fi
简单分析一下这段代码,当脚本传入的第一参数为--show-item
使用shift
删除一个参数,将其他参数原封不动传入,否则将所有参数原封不动传入
对这个脚本添加可执行权限
chmod +x analog-dde-file-manager.sh
然后我们创建一个软连接伪造一个dde-file-manager命令
sudo ln -s /mypath/analog-dde-file-manager.sh /bin/dde-file-manager
替换mypath为自己的绝对路径,再次微信文件右键,在文件夹中显示,就可以正常了
参考
https://zhuanlan.zhihu.com/p/106117328
https://www.cnblogs.com/image-eye/archive/2011/08/20/2147153.html