Я зіткнувся з проблемою з Nautilus, для якої я не знайшов іншого рішення, крім завантаження вихідного коду, внесення деяких змін та складання його самостійно. Тому зараз у мене є дві версії nautilus, офіційна версія із сховищ і моя з кількома змінами. Я хотів би зберегти і те, і інше.
Що було б хорошим способом підказати програмам використовувати мою власну скомпільовану версію Nautilus при запуску Nautilus з програми? (наприклад, відкриття папки "Завантаження" за допомогою firefox)
Я зрозумів, що Firefox дзвонить, /usr/bin/nautilus
щоб я міг просто замінити це символьним посиланням на власну програму. Однак я вважаю, що це посилання буде замінено, як тільки я встановлю оновлення для Nautilus. Чи можна ще щось зробити?
/usr/bin/nautilus
здається, що це якось жорстко закодовано. Якщо він видалений, Firefox більше нічого не робить, коли я намагаюся відкрити папку "Завантаження", хоча в моїй версії 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 зазвичай працює.