Experimentalia

Appunti raminghi

Nautilus: aprire una shell in una directory

leave a comment »

Una comodità che apprezzo particolarmente è la possibilità di  aprire una shell in una directory semplicemente facendoci click da nautilus.

Per questo, una delle prime cose che faccio dopo aver installato un sistema è inserire nella directory degli script di nautilus questo piccolo script che non fa altro che permettere di aprire una finestra del terminale con la current working directory settata alla directory selezionata in nautilus.

#!/bin/bash
# apre un terminale nella directory selezionata

ERR01="Il comando funziona sulla finestra corrente o su una singola directory"
ERR02="Solo le directory locali possono essere raggiunte"

protocol=`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -c -7`

if [ $protocol='file://' ]; then
file_count=`echo -en "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | wc -l`
TARGET=`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -c 8-`

  if [ $file_count -gt 1 ]; then
    zenity --warning --text "$ERR01"    
  else
    if [ $file_count -eq 1 ]; then
      CANDIDATE=`echo -en "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | head -n 1`
      if [ -d  $CANDIDATE ]; then
        TARGET=$CANDIDATE
      fi
    fi
    gnome-terminal --working-directory "$TARGET"
  fi
else
  zenity --warning --text "$ERR02"
fi

Stasera ho installato una nuova macchina per un amico e mentre personalizzavo il sistema mi è capitato tra le mani questo file che uso talmente tanto da considerarlo scontato ed ho pensato di utilizzarlo come spunto per questo piccolo post.

Non sarà l’ultimo grido in fatto di scripting ma è comodo e magari, oltre ad aiutare qualcun altro, può essere un piccolo spunto per cominciare ad esplorare la programmazione di Nautilus.

E questo è tutto.

Written by Eineki

luglio 25, 2008 a 1:45 am

Pubblicato su gnome, linux

Tagged with , , ,

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: