Question: How do I open a shell prompt or gnome-terminal at the current location while browsing directories and files via nautilus file manager? I'd like to see Open Terminal / Prompt here option added to my right click menu. How do I open command prompt in a single selected directory or otherwise in current directory?
Answer: Nautilus can execute script that can open a gnome-terminal at the current location or selected directory location. All such scripts will be available via right click menu option.
Nautilus Scripts
Nautilus is the official file manager for the GNOME desktop. It has ability to run add-on scripts written in any scripting language (or binary file) without a problem. All add-on scripts must be created and stored at ~/.gnome2/nautilus-scripts ($HOME/.gnome2/nautilus-scripts) location.
Create Open Terminal Here (Open Shell Prompt Here) Shell script
Create file as follows using gedit text editor:
$ gedit "$HOME/.gnome2/nautilus-scripts/Open Terminal Here"
Append shell script code:
#!/bin/bash # From Chris Picton # Replaces a Script by Martin Enlund # Modified to work with spaces in path by Christophe Combelles # 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 gnome-terminal --working-directory="$dir"
NAUTILUS_SCRIPT_CURRENT_URI variable gives current location for directory. NAUTILUS_SCRIPT_SELECTED_FILE_PATHS sets a newline-delimited paths for selected files.
Save and close the file. Now, setup permissions, enter::
$ chmod +x "$HOME/.gnome2/nautilus-scripts/Open Terminal Here"
And you are done. Open nautilus file manager, select directory > Right Click > Scripts > Open Terminal Here:
And terminal will open at sg1 directory:
Further readings:
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- My 10 UNIX Command Line Mistakes
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
- Email FAQ to a friend
- Download PDF version
- Printable version
- Comment RSS feed
- Last Updated: 11/5/08






{ 15 comments… read them below or add one }
It’s an additional “#” at the end of the first line. You must remove it or the script doesn’t work.
Thanks for the heads up. The faq has been updated.
Another option is to just install the nautilus extension, nautilus-open-terminal.
Been wanting this. Thanks!
K.I.S.S.
sudo aptitude install nautilus-open-terminal
Also take a look at Nautilus Actions for a GUI approach to extending Nautilus.
The Scripts option will only appear in the Nautilus File menu and Right click menu if there are scripts already present in the $HOME/.gnome2/nautilus-scripts/ directory. If this is your first script, in that directory, you will need to logout of X Windows and then login again to get Nautilus to recognize that scripts are present and add the Scripts option to its menus.
Thanks! Works Perfectly in OpenSolaris Indiana
Nice, but why don’t you just use $PWD ?
Works fine on latest ubuntu, (8.10), as an added bonus, it’ll work on fuse mounted shares(ftp,ssh,smb…)
Hi, have I missed something or could you not just open Synaptic and add “nautilus-open-terminal”.
Worked for me, as they say :)
tnx its really handy..
Very nice.
Though I wish I could add a button to the menu bar to just open the terminal.
There’s an app like that for the mac, and it just saves you the time to select the folder first and go to a sub-menu.
Anyone know how to replicate the nautilus-open-terminal functionality but with Shutdown and Log Off options for the session?
Thanks.
But how can one add a menu button, or, even better, create a keyboard shortcut?..
simply put the command ‘gnome-terminal’ in a text file inside the nautilus-script folder.set execute permission on.thats all.