Ich bin auf ein Problem mit Nautilus gestoßen, für das ich keine andere Lösung gefunden habe, als den Quellcode herunterzuladen, einige Änderungen vorzunehmen und ihn selbst zu kompilieren. Jetzt habe ich zwei Versionen von Nautilus, die offizielle Version aus den Repositories und meine mit ein paar Änderungen. Ich möchte beides behalten.
Was wäre eine gute Möglichkeit, Anwendungen anzuweisen, meine eigene kompilierte Version von Nautilus zu verwenden, wenn Nautilus innerhalb der Anwendung gestartet wird? (zB Öffnen des Downloads-Ordners mit Firefox)
Ich habe herausgefunden, dass Firefox aufruft, /usr/bin/nautilusdamit ich dies einfach durch einen Symlink zu meinem eigenen Programm ersetzen kann. Ich glaube jedoch, dass dieser Symlink überschrieben wird, sobald ich ein Update für Nautilus installiere. Kann ich sonst noch etwas tun?
/usr/bin/nautilusscheint aber irgendwie fest codiert zu sein. Wenn es entfernt wird, macht Firefox nichts mehr, wenn ich versuche, den Download-Ordner zu öffnen, obwohl es einen Symlink zu meiner eigenen Version von Nautilus in gibt /usr/local/bin. Meine $PATHVariable ist/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefoxzu sehen, was ff tut. Wenn Sie im Protokoll nach suchen nautilus, wird Ihnen möglicherweise etwas angezeigt. ( -eDadurch werden die Systemaufrufe gefiltert execveund Open / Close / Pfadnamen-Dateien abgelegt, andernfalls wäre dies eine Flut von futexLese- / Schreibvorgängen für X11.)
/usr/local/binhat nicht funktioniert? dh hat Firefox Ihre durchsucht$PATHund die Version in gefunden/usr/bin, oder ist es (oder Ihr xdg-offenes Zeug) Hardcode/usr/bin/nautilus? Die Installation einer eigenen Version von etwas in / usr / local funktioniert normalerweise.