我遇到了Nautilus的问题,除了下载源代码,进行一些更改并自行编译之外,没有找到其他解决方案。因此,现在我有两个版本的Nautilus,这是来自存储库的正式版本,还有一些改动。我想保留两者。
从应用程序内部启动Nautilus时,告诉应用程序使用我自己的Nautilus编译版本的好方法是什么?(例如,使用firefox打开“下载”文件夹)
我发现了firefox的调用,/usr/bin/nautilus
所以我可以用一个指向我自己程序的符号链接代替它。但是,我相信在安装Nautilus更新后,此符号链接将被覆盖。我还能做些什么吗?
/usr/bin/nautilus
似乎以某种方式进行了硬编码。如果将其删除,尽管我在中有一个指向我自己的nautilus版本的符号链接,但是当我尝试打开“下载”文件夹时,firefox不再执行任何操作/usr/local/bin
。我的$PATH
变量是/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefox
看看ff在做什么。如果您在日志中搜索nautilus
,则可能会看到一些信息。(这会-e
过滤系统调用execve
和文件打开/关闭/路径名的内容,否则将充斥futex
X11并进行套接字读/写)。
/usr/local/bin
无效吗?即firefox是否搜索了您$PATH
并在中找到了版本/usr/bin
,或者它(或您的xdg-open文件)是硬编码的/usr/bin/nautilus
?通常可以在/ usr / local中安装自己的版本。