Wie kann ich ~ / Desktop öffnen, wenn ich auf dem Desktop auf "Im Terminal öffnen" klicke?

8

Szenario:

  1. Ich bin auf meinem Desktop.
  2. Ich klicke mit der rechten Maustaste und wähle "Im Terminal öffnen".
  3. Ich stelle mir das vor, um das Terminal in ~/Desktopund nicht in meinem Home-Ordner zu öffnen .

System:

  • Ubuntu 16.10
  • Einheit
  • Nautilus
Orschiro
quelle
Ist es nicht viel schneller, Strg-T in ein neues Terminal und dann in $ cd Desktop zu integrieren? Sie können wahrscheinlich sogar Tab-Vervollständigung, nachdem Sie Des
Tomph

Antworten:

7

Zufällig schnell und einfach, da ich nur ein Skript ändern musste, hatte ich schon ein bisschen :).

Das Skript geht jedoch davon aus, dass Sie mindestens ein Element auf Ihrem Desktop haben.

Wie stellt man das ein

  1. Erstellen Sie das Verzeichnis, falls es noch nicht vorhanden ist ~/.local/share/nautilus/scripts
  2. Kopieren Sie das folgende Skript in eine leere Datei, speichern Sie es als terminal_here2(keine Erweiterung) und machen Sie es ausführbar
  3. Melden Sie sich ab und wieder an.

Klicken Sie nun mit der rechten Maustaste auf eine beliebige Datei auf Ihrem Desktop und wählen Sie Scripts-> open_terminal2:

Geben Sie hier die Bildbeschreibung ein

und ein Terminalfenster wird im Verzeichnis des Desktops geöffnet ("Bureaublad" in meinem Fall)

Das Skript:

#!/usr/bin/env python3
import subprocess
import os

def replace(path):
    for c in [("%23", "#"), ("%5D", "]"), ("%5E", "^"),
              ("file://", ""), ("%20", " ")]:
        path = path.replace(c[0], c[1])
    return path

# get the current path
current = replace(os.getenv("NAUTILUS_SCRIPT_CURRENT_URI")) 
# raise the found terminal window
os.chdir(os.path.realpath(current))
subprocess.Popen("gnome-terminal")
Jacob Vlijm
quelle
1
Sie sollten wahrscheinlich verwenden, urllib.parse.unquoteanstatt% -codierte Zeichen manuell zu ersetzen
muru
Vielen Dank! Gibt es keine Möglichkeit, den bereits vorhandenen Kontextmenüeintrag "Im Terminal öffnen" zu verwenden?
Orschiro
@orschiro Ich fürchte, das ist in Nautilus fest codiert. Offensichtlich wird der Desktop in nautilus nicht als "normales" Fenster klassifiziert, obwohl NAUTILUS_SCRIPT_CURRENT_URIdas richtige Verzeichnis angezeigt wird .
Jacob Vlijm
Denken Sie, dass es sich lohnt, eine Funktionsanfrage dafür einzureichen? Es wäre konsistent, dass diese Funktion wie erwartet funktionieren würde.
Orschiro
2
Es ist nicht erforderlich, den Python-Prozess am Laufen zu halten, nur um auf gnome-terminaldas Beenden zu warten und sich dann selbst zu beenden. Stattdessen können Sie aufrufen os.execlp("gnome-terminal", "gnome-terminal"), um den Python-Prozess durch zu ersetzen gnome-terminal.
David Foerster
8

Skriptlose Lösung

  1. Öffnen Sie Nautiuls in Ihrem Home-Ordner.
  2. Klicken DesktopSie in Ihrem Home-Ordner mit der rechten Maustaste auf , klicken Sie auf Make link. Sie erhalten eine Link to DesktopDatei.
  3. Platzieren Sie den Link auf Ihrem Desktop. Wenn Sie jetzt mit der rechten Maustaste darauf klicken und es auswählen Open in Terminal, wird das Terminal mit dem aktuellen Arbeitsverzeichnis als Desktop geöffnet.
Sergiy Kolodyazhnyy
quelle
Dies ist eine clevere Problemumgehung!
Orschiro
@orschiro Danke, und es ist auch schnell. Die Einrichtung dauert weniger als eine Minute.
Sergiy Kolodyazhnyy