Я зіткнувся з проблемою з 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 зазвичай працює.