Encontrei um problema com o Nautilus, para o qual não encontrei outra solução além de baixar o código-fonte, fazer algumas alterações e compilá-lo por conta própria. Então agora eu tenho duas versões do nautilus, a versão oficial dos repositórios e a minha com algumas alterações. Eu gostaria de manter os dois.
Qual seria uma boa maneira de dizer aos aplicativos para usar minha própria versão compilada do Nautilus ao iniciar o Nautilus de dentro do aplicativo? (por exemplo, abrir a pasta Downloads com o Firefox)
Eu descobri que o firefox chama /usr/bin/nautiluspara que eu pudesse substituir isso por um link simbólico para o meu próprio programa. No entanto, acredito que esse link simbólico será substituído assim que eu instalar uma atualização para o Nautilus. Há mais alguma coisa que eu poderia fazer?
/usr/bin/nautilusparece ser codificado de alguma forma. Se ele for removido, o Firefox não fará mais nada quando eu tentar abrir a pasta Downloads, embora exista um link simbólico para minha própria versão do nautilus in /usr/local/bin. Minha $PATHvariável é/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefoxpara ver o que o ff faz. Se você pesquisar o log nautilus, isso poderá mostrar uma coisa. (Isso -efiltra o sistema solicita execvee arquiva coisas de abrir / fechar / nome do caminho, caso contrário, seria uma inundação futexe leitura / gravação de soquete para o X11).
/usr/local/binnão funcionou? ou seja, o firefox pesquisou o seu$PATHe encontrou a versão no/usr/bincódigo-fonte (ou o seu material xdg-open)/usr/bin/nautilus? Instalar sua própria versão de algo em / usr / local normalmente funciona.