[HOW TO] Launch Application from Terminal?

Discussion in 'HOWTO & FAQs' started by Kiup, Feb 26, 2003.

  1. Kiup

    Kiup Registered

    Joined:
    Aug 29, 2002
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    0
    How do I launch an application from the terminal?

    Thanks for the help
     
  2. gatorparrots

    gatorparrots ~departed~

    Joined:
    Jul 10, 2002
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Kansas City, MO
    The command is simply open (which can also be used for opening directories). The most basic example of launching an application:
    open /path/to/some.app

    More complex possibilities also exist:
    open "/Volumes/Macintosh HD/foo.txt"
    opens the document in the default application for its type (as determined by LaunchServices).

    open /Applications/
    opens that directory in the Finder.

    open -a /Applications/TextEdit.app "/Volumes/Macintosh HD/foo.txt"
    opens the document in the application specified (in this case, TextEdit).

    open -e "/Volumes/Macintosh HD/foo.txt"
    opens the document in TextEdit (the -e option specifies TextEdit).

    open http://www.apple.com/
    opens the URL in the default browser (lynx, naturally *wink*)

    open "file://localhost/Volumes/Macintosh HD/foo.txt"
    opens the document in the default application for its type (as determined by LaunchServices).

    open "file://localhost/Volumes/Macintosh HD/Applications/"
    opens that directory in the Finder.
     
  3. Kiup

    Kiup Registered

    Joined:
    Aug 29, 2002
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    0
    Thanks allot, very simple, just couldn't seem to find the info anywhere. Thanks again!!!
     
  4. gatorparrots

    gatorparrots ~departed~

    Joined:
    Jul 10, 2002
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Kansas City, MO
    If you need to edit a root-owned system configuration file, it is possible to do so with a graphical text editor, for example.

    Carbon Applications
    Older Carbon applications have to be run via LaunchCFMApp because they are in the wrong binary format for Mac OS X, so LaunchCFMApp handles the necessary translation.

    To launch a Carbon application directly (without using open), one has to actually run LaunchCFMApp, giving it the application as an argument:
    /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/path/to/some/application'.

    open can also be used to launch Carbon applications. open simulates a double click, hence the package name is given, rather than the full path to the executable. open's main advantage is in opening documents since it uses the Finder's 'open with' database of what applications open what documents, and in opening Carbon applications. Using open, most of the difficult work is done for you: open '/path/to/some/application'

    To launch a Carbon application with root privileges, you have to prepend sudo -b to the first command above. Here is a specific example:
    sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X'

    Cocoa Applications
    To run applications as root, we use sudo. However combining open and sudo in this form:
    sudo open /path/to/some.app
    results in sudo running open as root, but open still opens the application as the original user!!!

    Therefore, the longer method of specifying the full path name for Cocoa applications (not just to the .app package, but to the actual executable):
    sudo "/Applications/TextEdit.app/Contents/MacOS/TextEdit"

    (The -b flag can be specified to run appropriate applications in the background. You can't use & and sudo when an authentication password is required, necessitating the need for the -b flag.)
     

Share This Page