Encontré un problema con Nautilus para el cual no encontré otra solución que no sea descargar el código fuente, hacer algunos cambios y compilarlo por mi cuenta. Así que ahora tengo dos versiones de nautilus, la versión oficial de los repositorios y la mía con algunos cambios. Me gustaría conservar los dos.
¿Cuál sería una buena manera de decirle a las aplicaciones que usen mi propia versión compilada de Nautilus al iniciar Nautilus desde la aplicación? (por ejemplo, abrir la carpeta de Descargas con firefox)
Descubrí que Firefox llama /usr/bin/nautiluspara poder reemplazar esto con un enlace simbólico a mi propio programa. Sin embargo, creo que este enlace simbólico se sobrescribirá tan pronto como instale una actualización para Nautilus. ¿Hay algo más que pueda hacer?
/usr/bin/nautilusparece estar codificado de alguna manera. Si se elimina, firefox ya no hace nada cuando intento abrir la carpeta Descargas, aunque hay un enlace simbólico a mi propia versión de nautilus en /usr/local/bin. Mi $PATHvariable es/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefoxpara ver qué hace ff. Si busca en el registro nautilus, eso podría mostrarle algo. (Eso -efiltra las llamadas del sistema execvey el archivo abierto / cerrado / nombre de ruta, de lo contrario sería una inundación de futexlectura / escritura de socket para X11).
/usr/local/binno funcionó? Es decir, ¿Firefox buscó$PATHy encontró la versión en él/usr/bin, o lo hace (o sus cosas xdg-open) en código duro/usr/bin/nautilus? Instalar su propia versión de algo en / usr / local normalmente funciona.