Come posso aprire ~ / Desktop se faccio clic su "Apri nel terminale" dal desktop?


8

Scenario:

  1. Sono sul mio desktop.
  2. Eseguo il clic destro del mouse e seleziono "Apri nel terminale".
  3. Immagino questo per aprire il terminale ~/Desktope non la mia cartella home.

Sistema:

  • Ubuntu 16.10
  • Unità
  • nautilo

Non è davvero molto più veloce Ctrl-T in un nuovo terminale e poi $ cd Desktop? Probabilmente puoi anche completare la scheda dopo aver scritto Des
tomph

Risposte:


7

Casualmente semplice e veloce, dato che avevo solo bisogno di cambiare una sceneggiatura che avevo già un po ':).

Lo script presuppone che sul desktop sia presente almeno un elemento.

Come impostare

  1. Crea, se non esiste ancora, la directory ~/.local/share/nautilus/scripts
  2. Copia lo script seguente in un file vuoto, salvalo come terminal_here2(senza estensione) e rendilo eseguibile
  3. Esci e rientra.

Ora fai clic con il pulsante destro del mouse su qualsiasi file sul desktop, scegli Scripts-> open_terminal2:

inserisci qui la descrizione dell'immagine

e una finestra del terminale si aprirà nella directory del desktop ("Bureaublad" nel mio caso)

Il copione:

#!/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")

1
Probabilmente dovresti usare urllib.parse.unquoteinvece di sostituire manualmente i caratteri con codifica%
muru

Grazie! Non è possibile utilizzare la voce del menu di scelta rapida "Apri nel terminale" già esistente?
Orschiro,

@orschiro Temo che sia codificato in nautilus. Ovviamente il desktop non è classificato come una finestra "normale" in nautilus, sebbene NAUTILUS_SCRIPT_CURRENT_URImostri la directory corretta.
Jacob Vlijm,

Pensi che valga la pena di presentare una richiesta di funzionalità? Sarebbe coerente che questa funzione funzionasse come previsto.
Orschiro,

2
Non è necessario mantenere in esecuzione il processo Python solo per attendere il gnome-terminaltermine e quindi il completamento stesso. Invece puoi chiamare os.execlp("gnome-terminal", "gnome-terminal")per sostituire il processo Python con gnome-terminal.
David Foerster,

8

Soluzione senza script

  1. Apri Nautiuls nella tua cartella home.
  2. Nella vostra cartella home, fate clic destro su Desktop, fare clic su Make link. Ti verrà presentato il Link to Desktopfile.
  3. Inserisci il link sul desktop. Ora ogni volta che fai clic destro su di esso e selezionalo Open in Terminal, si aprirà il terminale con la directory di lavoro corrente impostata come desktop.

Questa è una soluzione intelligente!
Orschiro,

@orschiro Grazie, ed è anche veloce. La configurazione richiede meno di un minuto.
Sergiy Kolodyazhnyy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.