Keyboard shortcut for "open a terminal here"
How can I create a keyboard shortcut so that when I press F12 in nautilus (or desktop), I get a terminal in the current directory?
Solution 1:
Edit: not anymore applicable for Ubuntu 16.10 and newer
Finally figured it out.. first sudo apt-get install dconf-tools nautilus-open-terminal
, then run dconf-editor
and set the org/gnome/desktop/interface/can-change-accels
boolean on. Then open nautilus using this command (to disable Unity global menu Temporarily):
nautilus -q
UBUNTU_MENUPROXY=0 nautilus
Now you can mouseover the action in the file menu, and change the accel by typing your key while the action is highlighted, finally restart your nautilus. If you don't see Open in terminal in the File menu and you've just installed nautilus-open-terminal
, you might need to first run nautilus -q
.
Ubuntu 14.04 and up
If you can't find the can-change-accels
key in your dconf configuration you can try the following solution:
-
Stop nautilus by executing
nautilus -q
-
Open
~/.config/nautilus/accels
in a text editor of your choice, e.g. gedit:gedit ~/.config/nautilus/accels
-
Try to see if you can find the following line:
;(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "")
-
If the line exists, add your keyboard shortcut in the second double-quoted segment and uncomment the line by removing
;
:(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12")
This would set the shortcut to F12. For a list of all possible key codes please consult this answer.
If the line doesn't exist just copy and paste the one found in this answer at the end of the file.
-
Save the file and restart Nautilus by clicking on the Nautilus icon in your launcher/dash.
Ubuntu 15.10 and 16.04
Here, the relevant command in ~/.config/nautilus/accels
is TerminalNautilus:OpenFolderLocal
. (NautilusOpenTerminal::open_terminal
is still present in the file, but doesn't seem to have any effect.) So follow the instructions above, except change the line
; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "")
to
(gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "F12")
to make F12 your keyboard shortcut. Notice that ;
is again removed.
Finally, log out for changes to take effect.
Solution 2:
Since version 3.15.4 Nautilus doesn't load the accel file anymore (Source).
Fortunatelly there's a better aproach in order to get what you want. Long explanation/useful resources can be found here and also here. In short:
-
Create a script called
Terminal
(yes, without a extension) inside the folder~/.local/share/nautilus/scripts
with the following content:#!/bin/sh gnome-terminal
-
Make it executable, then close any Nautilus instance:
$ chmod +x Terminal $ nautilus -q
-
Create (or edit) the
~/.config/nautilus/scripts-accels
file adding these lines:F12 Terminal ; Commented lines must have a space after the semicolon ; Examples of other key combinations: ; <Control>F12 Terminal ; <Alt>F12 Terminal ; <Shift>F12 Terminal
-
Test it! Open Nautilus, right click, and choose Scripts > Terminal. Or, use the keyboard shortcut that you've just configured :)
Note: Tested on Ubuntu 18.04.
Update Ubuntu 20.10: Unfortunately, this does not anymore work in Nautilus 3.38 (Ubuntu 20.10).
Update Ubuntu 21.10: Fortunatelly, the scripts-accels
file works again in Files 40 (Ubuntu 21.10)
Solution 3:
Using the dconf-editor approach doesn't seem to work in Trusty Gnome. But the following does:
In your home directory press Ctrl+h, open the .config folder, the nautilus folder, and the accels file;
ie, open ~/.config/nautilus/accels
and change the line:
; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "")
to
(gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "F12")
Note that the comment delimiter has been removed.
Save the file, log out and back in.
Solution 4:
Not exactly the answer for this question
If all you want is access the terminal in the current folder, you can do that with
Ctrl + F10 then e
Ctrl + F10: Same as right click at the current folder
e: Selects "Open in Terminal"
It can change if your OS is in another language.
For example, in portuguese from brasil would be:
Ctrl + F10 then t
Just look at the underlined letter to know the key.
If you are using notebook you may have to use the super key too.
Ctrl + Super + F10 then e