Come aprire la directory in Guake da Nautilus


12

In Nautilus, facendo clic con il tasto destro del mouse su una directory, ho l'opzione per aprire un Terminale con il prompt nella directory selezionata. Penso che sia molto utile e lo uso molto.

Ora vorrei usare Guake al posto del classico terminale. C'è un modo per fare questo?

Sto lottando con azioni nautilus. Posso aprire tutto bene Guake (ovvero cadere dall'alto perché è caricato in modo permanente), ma il prompt non si trova nella directory di scelta. Inoltre, è un altro clic del mouse per aprire il terminale (se funzionasse), preferirei un modo più breve.

Qualcuno ha idea di come gestirlo? (o potrebbe essere una possibile richiesta di funzionalità?)

Ubuntu 12.04, gnome-classic senza Unity


1
Se qualcuno di chiedersi come il PO ha la possibilità di aprire un terminale da Nautilus, si può solo fare: sudo apt-get install nautilus-open-terminal. Per Guake, dovrai comunque seguire la risposta.
Garrett,

Risposte:


19

Ok, quindi ho trovato uno script di shell che funzionerà e l'ho modificato per funzionare con Guake. Per farlo funzionare attenersi alla seguente procedura.

  1. Crea un nuovo documento vuoto, fai clic destro => Crea nuovo documento => Documento vuoto
  2. Denominalo Open in Guakeo qualcosa di simile
  3. Aprilo e incolla il codice elencato di seguito- Fonte 1 (questo è necessario perché il nautilus restituisce un percorso file specifico e deve essere riformattato per funzionare nel terminale.)

    #!/bin/bash
    # From Chris Picton
    # Replaces a Script by Martin Enlund
    # Modified to work with spaces in path by Christophe Combelles
    # Modified to use guake by Matthew Jump
    
    # This script either opens in the current directory,
    # or in the selected directory
    
    base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
    if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
     dir="$base"
    else
         while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
         dir="$base/$1"
    fi
    
    #there should be an embracing around the $dir
    guake --show --execute-command="cd '$dir'"

    Si noti che l'ultimo comando è ciò che viene utilizzato per aprire la directory in guake --showcommuta l'aspetto di guake e --execute-command="cd $dir"passa alla directory. esegui man guake(nel terminale) per un elenco completo di comandi (nota che diventa complicato dal mescolare i comandi).

  4. Salvare il file e posizionarlo in:

    Per 12.04: ~/.gnome2/nautilus-scripts
    Per 14.04: ~/.local/share/nautilus/scripts/

    Quali sono le cartelle nascoste nella cartella principale, per visualizzare le cartelle nascoste vai a => Visualizza => Mostra file nascosti

  5. Ora dobbiamo rendere eseguibile il file, fare clic destro sul file andare su> Proprietà> fare clic sulla scheda Autorizzazioni> cercare "Esegui" e selezionare "Consenti l'esecuzione del file come programma", quindi chiudere.

Quindi non ci resta che provare lo script, fare clic con il tasto destro su una cartella in Nautilus, quindi andare su => Script => Apri in Guake

Ora hai uno script "Open in Guake" personalizzato con il tuo tasto destro.


Apri in una nuova scheda Guake e rinomina scheda come percorso:
ho apportato alcune modifiche allo script per aprire una nuova scheda in Guake e rinominare la scheda dopo la directory. Quindi, se si desidera utilizzare queste modifiche, sostituire l'ultima riga del codice con questo-

guake -n "$dir" -r "$dir" -t

-n "$dir"crea una nuova scheda con la directory come prompt, quindi è più veloce dell'esecuzione di "CD" come ho fatto sopra. Ed -rè quello di rinominare la scheda.

Apri in una nuova scheda, con un nome breve per la directory corrente:
ora mostra il nome della directory in cui ti trovi o la directory selezionata a seconda di dove fai clic con il pulsante destro del mouse, per i file e lo spazio vuoto il nome della cartella della directory in cui ti trovi, per selezionando una cartella viene visualizzato il nome della cartella, per usare basta sostituire l'ultima riga con questo codice-

guake -n "$dir" -r "`echo ${dir%/} | rev | cut -d'/' -f1 | rev`" -t

le virgolette in giro $dirrisolvono anche un problema che ho avuto con alcune cartelle che avevano molti spazi.


Ho provato e funziona. Non solo apre la directory selezionata, ma se viene selezionato un file, apre la directory in cui si trova il file. Questo è esattamente ciò di cui avevo bisogno, grazie molte +++
Tinellus

Ho aggiunto un po 'per creare una nuova scheda e rinominarla
Mateo,

Ho anche provato quello, e funziona. Grazie mille, continuerò sicuramente ad usarlo. Un'altra osservazione però: la maggior parte delle mie schede avrà nomi scomodi (/ home / Pictures / 2011 / xxx / etc ...). Sarebbe possibile mantenere solo il nome dell'ultima directory? Tuttavia, la generosità è tua ...
Tinellus,

Ti ho appena assegnato la generosità. Grazie per tutti i tuoi sforzi ... Ho appena provato: funziona elegantemente, esattamente quello di cui avevo bisogno. Oltre al servizio che mi hai dato, mi hai dato il noob più completo, molta intuizione nella codifica. Grazie
Tinellus,

4
Per Ubuntu 13.04 ho dovuto inserire la sceneggiatura e /home/$USER/.local/share/nautilus/scripts/ho dovuto anche inserire -tuna nuova riga, ad esempio:guake -n "$dir" -r "`echo ${dir%/} | rev | cut -d'/' -f1 | rev`" guake -t
thelastshadow

1

Ok, quindi lo script non ha funzionato bene per me e non mi è piaciuto dover passare attraverso il menu dello script, quindi ho provato con lo strumento di configurazione nautilus-actions

Ho creato un comando, usato "guake" come percorso e ho inserito questo nei parametri:

-n '%d%f ' -r "%f " --show -e "cd '%f' && ls -l"

Lavora bene per me. Ubuntu 17.10.


La risposta accettata non ha funzionato, ma ha funzionato. Grazie! Per quelli con thunar: modifica - Configura azioni personalizzate ... e guake -n '%d%f ' -r "%f " --show -e "cd '%f' && ls -1FSshX --file-type"
Alnitak
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.