Ich habe eine Verknüpfung über die Option "Verknüpfung erstellen" erstellt. Wenn ich in den Ordner dieser Verknüpfung gehe, werden keine Ordner darüber angezeigt, sodass ich nicht einfach zu ihnen navigieren kann.
Gibt es eine Möglichkeit, einen Ordner in der Benutzeroberfläche nach oben zu verschieben? Vielleicht ein Hotkey? (Kann cd ..
diesmal nicht machen ^ __ ^).
In Windows kann ich in der Tat so navigieren, wie ich es beschreibe. Hier ist ein Win10-Image, das es erklärt:
nautilus
symbolic-link
JohnDoea
quelle
quelle
Alt+up key
Antworten:
Warum ist das eine herausfordernde Frage?
Die Frage hat einige Herausforderungen:
nautilus
kommuniziert nicht direkt über die Befehlszeile, um beispielsweise das aktuell aktive Verzeichnis abzurufen, und Sie können den aktuell geöffneten Ordner (-Fenster) auch nicht über die Befehlszeile an ein anderes Verzeichnis "senden"."NAUTILUS_SCRIPT_CURRENT_URI"
Nautilus , wie über angefordert , nicht den tatsächlichen Pfad zum aktuellen Ordner zurück, sondern "sieht" den Link so, als wäre es ein tatsächlicher Ordner.Die Lösung ist daher so schmutzig wie es nur geht. Wir müssen Problemumgehungen finden. Nachfolgend vier Möglichkeiten zur Behebung des Problems.
1. Klicken Sie mit der rechten Maustaste, um eine Ebene nach oben zu gelangen
Um den tatsächlichen Pfad zum aktuellen Verzeichnis zu ermitteln, müssen Informationen über den Link abgerufen werden. Wir können dies entweder
ls -l
über den Link tun , der zB folgendes ausgibt:wobei der nachfolgende Abschnitt
->
der tatsächliche Pfad innerhalb des Symlinks ist, oder mitpython
:Wenn Sie dies in einem
nautilus
Skript verwenden, können Sie indirekt den tatsächlichen Pfad zur aktuellen Datei oder zum aktuellen Ordner ermitteln.Wenn wir dann den Weg haben, wie bringen wir Nautilus dazu, sich eine Ebene nach oben zu bewegen?
Auch dies können wir nicht lösen und halten unsere Hände sauber. Um eine Ebene nach oben zu gelangen, bearbeiten wir zuerst den gefundenen Pfad ein wenig von:
in
Verwenden Sie
xdotool
dann Ctrl+ , um zu simulieren L(die GUI-Verknüpfung zum Einfügen eines Pfads in ein Nautilus-Fenster, da es keine CLI-Option gibt, um mit dem aktuellen Fenster in ein anderes Verzeichnis zu wechseln ), undxclip
fügen Sie anschließend den bearbeiteten Pfad + ein Enter. Wir haben eine funktionierende Lösung !In der Praxis
Wir befinden uns in einem Ordner, der über einen Link ("Link to Telegram") auf meinem Desktop geöffnet wurde. Das echte Ordner ist ein Unterordner meines
Downloads
Ordners:Klicken Sie dann mit der rechten Maustaste auf eine der Dateien im Ordner , um das Skript auszuführen:
Automatisch wird der Pfad zum übergeordneten Verzeichnis eingefügt:
Und auch automatisch Return gedrückt, und wir rücken eine Verzeichnisebene nach oben:
Das Drehbuch
Wie stellt man das ein
Das Skript benötigt beides
xdotool
undxclip
:Erstellen Sie das Verzeichnis, falls es noch nicht existiert
Kopieren Sie das Skript oben in eine leere Datei, speichern Sie es als
level_up
(ohne Erweiterung) in~/.local/share/nautilus/scripts
und machen Sie es ausführbarJetzt sollten Sie in der Lage sein, das Skript auszuführen, indem Sie mit der rechten Maustaste auf eine Datei (eine beliebige)> Skripte> level_up klicken:
[ EDIT ] änderte ich das Skript oben fügen Sie den Pfad in das
nautilus
Fenster, anstatt,xdotool
Typ es. Esneeds
xclip
muss installiert werden, ist aber eine große Verbesserung, insbesondere auf sehr langen Wegen.2. Alternativ öffnen Sie ein neues Nautilus-Fenster im übergeordneten Verzeichnis
Sie könnten die Verwendung vermeiden
xdotool
, indem Sie das Skript dazu bringen, ein neues Nautilus-Fenster im Verzeichnis des übergeordneten Elements zu öffnen . Das Skript wäre dann noch kürzer:In diesem Fall müssten Sie nicht installieren
xdotool
. Wir könnten das Skript sogar erweitern, indem wir das ursprüngliche Fenster schließen und das neue Fenster genau an derselben Position (& Größe) platzieren.Der Nachteil ist, dass die Geschichte des ursprünglichen Fensters auf diese Weise verloren geht.
3. Eine zusätzliche Lösung: Alternative Möglichkeit, Links (automatisch) zu erstellen
Nicht relevant für vorhandene Links, aber bei Verwendung über die GUI ein Nautilus-Skript zum automatischen Erstellen einer ausführbaren Datei
.desktop
Dateien beim Klicken mit der rechten Maustaste hilfreich sein:Klicken Sie mit der rechten Maustaste auf das Verzeichnis, um eine Verknüpfung zu erstellen (als Link verhalten).
Im Gegensatz zu Symlinks werden Sie mit diesen Links zum eigentlichen Ordner geführt, ohne sich wie ein Ordner zu verhalten:
Das Drehbuch
Wie benutzt man
make_link
(ohne Erweiterung)~/.local/share/nautilus/scripts
und machen Sie es ausführbar.desktop
Datei wird im selben Verzeichnis erstellt. Verschieben Sie sie gegebenenfalls an einen anderen Ort. Der verknüpfte Pfad ist absolut.Geben Sie dem Link ein Erkennungszeichen
Sie können dem alternativen Link ein Unterscheidungssymbol geben. Wenn Sie im Verzeichnis
/usr/share/icons
nach "Ordner" suchen , werden zahlreiche gültige Optionen angezeigt.Wenn im Skript die Zeile
"Icon=folder",
durch ersetzt wirdIcon=stock_folder-copy,
(verwenden Sie den Symbolnamen ohne Erweiterung), lautet das Ergebnis auf meinem System:Natürlich können Sie auch Ihr eigenes benutzerdefiniertes Symbol verwenden, aber wenn Sie vollständige Pfade verwenden (nicht verwenden
~
), sollten Sie dies tun die Erweiterung des Symbols einschließen.4. Wechseln Sie mit einer Tastenkombination in das übergeordnete Verzeichnis
Wahrscheinlich die bequemste Option; Drücken Sie bei geöffnetem Nautilus-Fenster eine Tastenkombination, um ein Verzeichnis nach oben zu verschieben.
Das Drehbuch
Benutzen
Für diese Lösung müssen beide
xclip
undxdotool
auf Ihrem System vorhanden sein.Kopieren Sie das Skript in eine leere Datei und speichern Sie es als
level_up.py
(irgendwo).Hinzufügen zu einer Tastenkombination: Wählen Sie: Systemeinstellungen> "Tastatur"> "Tastenkombinationen"> "Benutzerdefinierte Tastenkombinationen". Klicken Sie auf das "+" und fügen Sie den Befehl hinzu:
NB Die Verknüpfung Optionen sind ein bisschen in diesem Fall begrenzt, da das Skript selbst simuliertCtrl+LundCtrl+Alt+Lwerden Sie aus machen einloggen ...Ctrl+\ auf meinem System einwandfrei funktioniert haben.
Erläuterung
Dieses Skript simuliert auch Ctrl+ L, sondern nautilus der Verwendung
"NAUTILUS_SCRIPT_CURRENT_URI"
, verwendet erxclip
den automatisch ausgewählten Pfad im Nautilus - Fenster zu kopieren. Wie bei Option 1 berechnet das Skript dann den tatsächlichen Pfad und leitet das übergeordnete Verzeichnis ab.Diese Option kann hilfreich sein, wenn Sie die Tastatur für die Verwendung von Rechtsklick bevorzugen.
quelle
Oder für Ubuntu 14.04, Nautilus 3.10-1, mit dem
xdotool
hinzugefügten Paket, verwenden Sie einfach Folgendes in Ihrer.local/share/nautilus/scripts/updirtree
Datei:Das endgültige Zitat sollte nur einen Zeilenumbruch oder return (
0x0a
) enthalten. Derpwd
Nautilus aus dem Inneren erzeugt ein anderes Ergebnis als wenn er von einem Bash / Terminal ausgeführt wird - er gibt den tatsächlichen Pfad zurück, nicht den Pfad, der den Link verwendet.Ich bin damit einverstanden, dass es keinen Sinn ergibt, dass es undokumentiert ist und ich nicht einmal herausfinden kann, in welcher Ausführungsumgebung der Code ausgeführt wird (ich kann keine Shell finden, die dieses Ergebnis erzeugt), aber es funktioniert. Es ist ein Hack, weshalb ich die Version von Nautilus aufgenommen habe. Wer weiß, wie lange es funktionieren wird? Könnte beim nächsten Nautilus-Upgrade (oder dem unbekannten Interpreter) unterbrochen werden, aber für mich funktioniert es mit Links zu bereitgestellten Speicherorten, Links zu Speicherorten im Verzeichnisbaum oder nur einfachen Speicherorten im Verzeichnisbaum.
quelle
$(pwd)
ist das Arbeitsverzeichnis der Shell , nicht von Nautilus . Siehe help.ubuntu.com/community/NautilusScriptsHowtoxclip
eingefügt , der nicht der Länge des Pfads unterliegt.Ein sauberer Fix, der jedoch neu erstellt werden muss, indem dieses Commit zurückgesetzt wird :
Bauanleitung:
Quelle herunterladen:
Laden Sie Build-Abhängigkeiten herunter
Nehmen Sie die erforderlichen Änderungen am obigen Patch vor
Bearbeiten
src/nautilus-mime-actions.c
Erstellen und installieren Sie es
Zum Testen ohne Installation
Um es zu installieren
Dadurch werden die Links von Nautilus in ihren Zielpfad aufgelöst. Übrigens wurde dies vor einiger Zeit als Bug gemeldet. Wenn Sie der Meinung sind, dass dies eine Funktion ist, senden Sie einen weiteren Fehlerbericht, in dem Sie aufgefordert werden, den Schalter oder eine bestimmte Verknüpfung dafür festzulegen.
Referenz: Wie kann ich verhindern, dass Nautilus Symlinks dereferenziert? [geschlossen]
quelle
/usr/local/bin/
, so dass das System immer die geänderte Kopie$PATH