Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'd like to have a keyboard shortcut to open a new terminal from wherever I am. A default shell in my default home directory would be great. I've been trying for a while to make this happen, but no luck so far. Things that I've tried:

1) syspref -> keyboard -> shortcuts -> services, select 'new terminal at folder'. Result: it just beeps and does nothing

2) syspref -> keyboard -> shortcuts -> app shortcuts -> create a new item that links to the 'Terminal' application. Result: beeps and does nothing

3) From automator, create a new service that accepts no input and launches 'Terminal', bind the new service from the keyboards shortcut menu. (followed these instructions). This kind of works, but only some times (see update)

What am I doing wrong ?

Update

Actually solution 3 kind of works but it has two drawbacks:

  • it only works if some window is focused, it will NOT work if you don't have any window or if no window is currently in focus. Furthermore even if a window is focused, it apparently has to be the right kind of window, e.g. for some reason it does not work if chrome is focused, but it will work if gvim is focused, this is just retarded.
  • if a terminal window is already open it will just focus the existing terminal and bring it on top, i'd like to have a new, fresh terminal window appear (ok I guess I can just do ctrl-command-t to bring it in focus and then control-n for new window, but it kind of sucks)
share|improve this question
    
Number 3 works I used the shortcut (Control-Command-T). You might consider looking at this question. apple.stackexchange.com/q/54/47196. I personally use alfred for this (which is one of the answers in that question) –  FDinoff Feb 2 at 22:08
    
I'll check out alfred, thanks –  Antonio Dolcetta Feb 3 at 8:40

2 Answers 2

1) should work, but the Folder has to be selected (focused). It's not enough to just be in a folder and have nothing (or a regular file) selected.

Select a folder in finder, if you activated the checkbox under Syspref > Keyboard > Shortcuts > Services > new terminal at folder you can also see the menu entry at Finder > Services.


A simple shortcut to Terminal.app (or any other) could be done in Automator:

create a new service, select no input at service receives, add the Launch Application action and select Terminal.app. Now save the the service and go to System Preferences > Keyboard > Shortcuts > Services, the just created service should appear at the bottom with the name as you saved it. Add a keyboard shortcut and you then can start Terminal from any app with that.

share|improve this answer
    
but I don't want it to be in a folder, all I want is a fresh new terminal window, I'll update the question. –  Antonio Dolcetta Feb 2 at 21:49
    
Sorry I got the question wrong. The service is meant to be a Finder service to open a terminal with the selected directory as working directory. I updated my answer with a quick solution to create a simple shortcut to any application using Automator. If it just beeps and does nothing, try to assign a different shortcut (like ⌘+F1) to make sure it is not already assigned. –  nappo Feb 3 at 8:09

You can create a service like this:

Then give it a shortcut from System Preferences.

There is a delay of maybe 0.1 - 1 s before Automator services are run, and at least on my installations of 10.7 and 10.8, the shortcuts for services didn't always work until I hovered over the services menu from the menu bar. You might also use FastScripts to assign a shortcut to the script, or use a private.xml like this with KeyRemap4MacBook:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_TERMINAL</name>
    <url type="shell">osascript -e 'tell app "Terminal"' -e 'do script ""' -e activate -e end</url>
  </vkopenurldef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::F5, ModifierFlag::NONE, KeyCode::VK_OPEN_URL_SHELL_TERMINAL</autogen>
  </item>
</root>

If others look for a way to open Terminal and only create a new window if there are no existing windows, you can use a private.xml like this with KeyRemap4MacBook:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_TERMINAL</name>
    <url>file:///Applications/Utilities/Terminal.app</url>
  </vkopenurldef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::F5, ModifierFlag::NONE, KeyCode::VK_OPEN_URL_TERMINAL</autogen>
  </item>
</root>

Or if you have bought the Powerpack for Alfred 2, you can create a workflow like this:

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.