Я столкнулся с проблемой с Nautilus, для которой я не нашел никакого решения, кроме как загрузить исходный код, внести некоторые изменения и скомпилировать его самостоятельно. Так что теперь у меня есть две версии nautilus, официальная версия из репозиториев и моя с некоторыми изменениями. Я хотел бы сохранить оба.
Что может быть хорошим способом сказать приложениям использовать мою собственную скомпилированную версию Nautilus при запуске Nautilus из приложения? (например, открытие папки загрузок с помощью Firefox)
Я понял, что вызовы firefox позволяют /usr/bin/nautilus
мне просто заменить это символической ссылкой на мою собственную программу. Однако я полагаю, что эта символическая ссылка будет перезаписана, как только я установлю обновление для Nautilus. Есть ли что-нибудь еще, что я мог сделать?
/usr/bin/nautilus
похоже, как-то жестко запрограммирован. Если он удален, Firefox больше ничего не делает, когда я пытаюсь открыть папку «Downloads», хотя есть символическая ссылка на мою собственную версию nautilus в /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
и файл open / close / pathname, в противном случае это будет поток futex
и чтение / запись сокета для X11).
/usr/local/bin
не сработало? т. е. Firefox проверил ваш файл$PATH
и нашел его версию/usr/bin
, или он (или ваш материал в xdg-open) содержит жесткий код/usr/bin/nautilus
? Установка собственной версии чего-либо в / usr / local обычно работает.