Linux Gnome: Add Open Terminal Here / Open Shell Prompt Here Right Click Menu To a File Manager

by Vivek Gite on November 5, 2008 · 25 comments

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:

Fig.01: Open Shell Prompt Here Script

Fig.01: Open Shell Prompt Here Script


And terminal will open at sg1 directory:
Fig.02: Nautilus script opened a terminal

Fig.02: Nautilus script opened a terminal

Further readings:

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 25 comments… read them below or add one }

1 Matias Lopez Riglos November 5, 2008

It’s an additional “#” at the end of the first line. You must remove it or the script doesn’t work.

Reply

2 vivek November 5, 2008

Thanks for the heads up. The faq has been updated.

Reply

3 Jon November 6, 2008

Another option is to just install the nautilus extension, nautilus-open-terminal.

Reply

4 bill November 6, 2008

Been wanting this. Thanks!

Reply

5 Albert Bicchi November 7, 2008

K.I.S.S.

sudo aptitude install nautilus-open-terminal

Reply

6 Toby Haynes November 7, 2008

Also take a look at Nautilus Actions for a GUI approach to extending Nautilus.

Reply

7 Amos Batto November 8, 2008

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.

Reply

8 Mike November 12, 2008

Thanks! Works Perfectly in OpenSolaris Indiana

Reply

9 Frode Haugsgjerd November 26, 2008

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…)

Reply

10 jazzyjeph January 4, 2009

Hi, have I missed something or could you not just open Synaptic and add “nautilus-open-terminal”.
Worked for me, as they say :)

Reply

11 Dennis January 18, 2009

tnx its really handy..

Reply

12 Malte February 28, 2009

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.

Reply

13 Bunkaido April 2, 2009

Anyone know how to replicate the nautilus-open-terminal functionality but with Shutdown and Log Off options for the session?

Reply

14 Yaroslav Nikitenko December 23, 2009

Thanks.
But how can one add a menu button, or, even better, create a keyboard shortcut?..

Reply

15 netin February 1, 2010

simply put the command ‘gnome-terminal’ in a text file inside the nautilus-script folder.set execute permission on.thats all.

Reply

16 german April 12, 2010

Thank you so much !
sincerely, germán.

Reply

17 Bill M. April 19, 2010

Thanks so much for the great tutorial — worked like a charm on my Ubuntu system.

Reply

18 thilini July 25, 2010

can this script modified to open different terminals, for multicore machines. as one terminal executes its all in cpu1, and the other executes all in cpu2

Reply

19 JeffH September 28, 2010

FYI, on Ubuntu 10.04.1 64-bit, I had to reboot to pick up any changes to Nautilus.

Reply

20 Cong N January 5, 2011

You can this command nautilus -q after chances so you don’t have to reboot or logout.

Reply

21 Le Gluon du Net October 14, 2011

Thank you very much, work immediatly on Ubuntu 11.10 with gnome 3.

Reply

22 Rahul November 4, 2011

Nice trick… thanks

Reply

23 Daniel AJ November 5, 2011

Awesome, thank you! For some reason, one directory I have here is named “cd ..”. I have no idea how that came about. Of course, with the Shell you can’t navigate to it. But from Nautilus I could and then I opened the Shell from there – thanks to your script. Very helpful!

Reply

24 M_P November 11, 2011

Mega thanks.

Reply

25 Nikhil December 18, 2011

Worked like a charm, THANKS!
For the really non-coder user, there is a point-n-click way to make the script:
1. Go to the Home folder, click View>Show Hidden Files from the menu.
2. Go into the .gnome2/nautilus-scripts/ folder
3. Right-click > Create Document > Empty File
4. Rename the file to “Open Terminal Here”
5. Open the file in simple text editor.
6. Copy-paste all the code given above in here. Save and close and go back to the folder.
7. On the file again, Right-click > properties , see the “Permissions” tab, check ON the “Allow executing file as program” option, and click on Close.
–Now it should work – on any folder, right-click and you’ll see the Scripts > Open Terminal Here option.

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 15 + 15 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: