*.app aus Terminal starten

C

chefe

Neues Mitglied
Thread Starter
Dabei seit
03.01.2006
Beiträge
10
Reaktionspunkte
1
Hallo liebe Mac-Gemeinde,
mein neuestes Problem ist es eine *.app aus dem Terminal raus zu starten.

Um gleich mal das "wozu brauchst du das denn" aus dem Weg zu schaffen:
Ich will Installer die man als SU ausführen muss, damit sie in /Applications schreiben können mit sudo XYInstaller.app vom Terminal aus starten um mich für diesen Fall nicht immer abzumelden zu brauchen. Wenns da ne einfachere/bessere Methode gibt, raus damit.

aber eigentlich, wollte ich wissen wie/ob man überhaupt ne *.app aus dem Terminal starten kann.

Danke schonmal, Chefe.


P.S.: ja, ich hab vorher die Suchfunktion genutzt und nix gefunden.
 
ich versteh zwar nicht ganz wozu du es brauchst aber, beispielsweise für Vorschau würde der befehl wie folgt aussehen:

open "/volumes/Macintosh HD/Applications/Vorschau.app/Contents/MacOS/Preview"

das programm mit *.app ist eigentlich ein ordner in dem alle benötigten dateien untergebracht sind, ausführen kannst du nur die UNIX-Executable (oder was auch immer das ist) im MacOS ordner.

anschauen kannst du den ordnerinhalt mit ctrl- bzw. rechtsklick und dann auf "paketinhalt zeigen".
 
alternativ kannst du den schnellen Benutzerwechsel in den Systemeinstellungen aktivieren, dann brauchst du dich nicht abzumelden. Dann kannst du dich allerdings nicht mehr als <console einloggen.
 
Ist das nicht so daß so ein Installer automatisch nach einem Administrator-Acoount/Passwort frägt wenn man ihn von einem eingeschränkten Benutzeraccount aus startet?
 
also im Allgemeinen ist es (wie schon erwähnt) einfach
"open /Applications/Dingsda.app"

Fragen Dich denn die Installer, die erweiterte Schreibrechte brauchen, nicht nach einem Admin-Login?

(Tipp: mit "open -a /Applications/Deine.app DeinFile.txt beliebige Dateien zwingend mit einer beliebigen Anwendung öffnen")
 
open -a preview

geht auch ...
 
der_Kay schrieb:
also im Allgemeinen ist es (wie schon erwähnt) einfach
"open /Applications/Dingsda.app"

scheint zwar auf den ersten blick logisch, geht aber nicht (bei mir zumindest), wegen der erwähnten "ordner-als-programmpakete" struktur.
 
wow, das ging grad richtig flott, ich bin überwältigt.

@fiodor: danke, ich wusste gar nicht das *.app eigentl. ordner sind, mal wieder was gelernt, danke.

Dann kannst du dich allerdings nicht mehr als <console einloggen.
soll das heissen, dass ich kein Terminal mehr starten kann oder gehts da um was völlig anderes ?

@bunna...: die meisten schon, ja, aber es gibt immer ein paar ausnahmen, wie z.B. in meinem Fall gerade der KisMac-Installer

Nochmals Danke für eure schnelle Hilfe
 
Mit open -a Xy.app und mit sudo open XY.app hats leider nicht funktioniert, aber mit Hilfe des schnellen Benutzerwechsels hats wunderbar funktioniert, außerdem sieht die animation beim wechseln super aus :D
 
ich mach das Thema einfach wieder auf, weil ich genau so eine Frage habe:
Ich würde gerne Programme über ssh verwalten können. Also starten und beenden. Wie kann ich in dem Ordner, in dem ich mich gerade befinde, ein Programm starten?
Bei einigen geht das, indem ich einfach den Programmnamen eingebe: Wenn ich einfach "nano" oder "vi" oder "gnuplot" eintippe, wird an der entsprechenden Stelle das jeweilige Programm gestartet (und wenn ich "programm datei" tippe, wird die datei mit dem programm geöffnet). Was muss ich tun, damit das auch mit Adium, Skype, Safari, Pages, OOo und so weiter klappt?
Und beim Beenden dasselbe: "ps" zeigt mir nie die laufenden Programme oder Prozesse oder so an, sondern gibt z.B. als einzige Rückgabe "17593 ttys000 0:00.09 -bash" zurück (ist das ein USB-Port oder so?!). Folglich passiert auch bei "kill" nichts. Ich habe (über spotlight und die GUI) skype gestartet - und über's Terminal einfach nicht ausbekommen: "kill skype" - "-bash: kill: skype: arguments must be process or job IDs"... ja danke! :(

Ich hoffe, jemand kennt die Befehle. Alternativ würde ich mich auch über einen Link zu einem brauchbaren Tutorial voll freuen!
Grüße

Philipp
__
Mac OS 10.6.5 auf einem MacBook early 2008
 
wie bereits weiter oben steht handelt es sich bei einer normalen Mac Applikation (.app) um einen Ordner und nicht um eine ausführbare UNIX-Datei, diesen kannst du mit "open" starten. In dem Ordner liegt auch glaub ich irgendwo ne ausführbare Datei (ich glaube in Contents/MacOS/) die du direkt nutzen kannst. Aber im Normalfall sollte z.B. "open /Applications/Skype.app" genau das sein was du suchst.

um die prozesse zu finden probiers mal mit "ps aux" statt nur "ps",
dann liest du links die PID ab und killst diese

"man ps" und "man open" geben dir etwas mehr info
 
  • Gefällt mir
Reaktionen: derfopps
ein "killall Skype" sollte aber Skype aus dem Terminal heraus beenden.
 
Mit dem Befehl "open" brauchst du nicht den Pfad angeben und auch das ".app" kann entfallen. Also ein "open -a Safari" reicht aus um Safari zu starten.

Du kannst mit "open" auch die Dateizuordnung zu Programmen nutzen.

So öffnet ein "open Liesmich.html" die Datei "Liesmich.html" mit Safari, da Safari das Standardprogramm für "*.html" Dateien ist. Natürlich kannst du auch die Anwendung explizit vorgeben, mit der du eine Datei öffenen willst. So startest du mit "open -a Safari Text.pdf" Safari und lädst die Datei Test.pdf in Safari. Wohingegen ein "open Test.pdf" die Datei in Vorschau, dem Standardprogramm für *.pdf-Dateien, öffnet.
 
Mit dem Befehl "open" brauchst du nicht den Pfad angeben und auch das ".app" kann entfallen.
Das ist aber nur dann richtig wenn die Applikation die er starten will sich im Suchpfad befindet.
 
Das ist aber nur dann richtig wenn die Applikation die er starten will sich im Suchpfad befindet.

nee, geht auch an jedem anderen Ort an den du die Applikation bewegen kannst.

"open" verwendet eben nicht die PATH-Variable. OS X vermerkt unabhängig von PATH, wo sich eine Applikation befindet.

Kannst du auch einfach testen. Erstelle nen Ordner "test" in deinem Home-Verzeichnis und verschiebe dahinein "TextEdit.app" per Drag&Drop. Wenn du nun im Terminal "open -a TextEdit" eingibst, dann öffnet sich TextEdit. Und das Verzeichnis "test" liegt garantiert nicht im Suchpfad.
 
nee, geht auch an jedem anderen Ort an den du die Applikation bewegen kannst.

"open" verwendet eben nicht die PATH-Variable. OS X vermerkt unabhängig von PATH, wo sich eine Applikation befindet.

Kannst du auch einfach testen. Erstelle nen Ordner "test" in deinem Home-Verzeichnis und verschiebe dahinein "TextEdit.app" per Drag&Drop. Wenn du nun im Terminal "open -a TextEdit" eingibst, dann öffnet sich TextEdit. Und das Verzeichnis "test" liegt garantiert nicht im Suchpfad.

Eben falsch

open IntScreen
The file /Users/tobi/bin/IntScreen does not exist.

Scheinbar verstehst Du die Zusammenhänge wie das ganze funktioniert nicht, solltest Du somit etwas vorsichtiger mit solchen Tips umgehen ;)
 
Eben falsch

open IntScreen
The file /Users/tobi/bin/IntScreen does not exist.

Scheinbar verstehst Du die Zusammenhänge wie das ganze funktioniert nicht, solltest Du somit etwas vorsichtiger mit solchen Tips umgehen ;)

hhmmm, wennn "IntScreen" ein Application-Bundle ist, dann lautet der Befehl ja auch nicht "open IntScreen" sondern eben "open -a IntScreen".

Übrigens, ...

Offensichtlich - und nicht scheinbar - hast du nicht richtig gelesen wie das Ganze funktioniert, und solltest daher etwas vorsichtiger mit Deinen Antworten sein ... :D
 
Zurück
Oben Unten