Mit IPS ein AppleScript unter OSx starten..

Hallo ich habe da mal wieder eine Frage :slight_smile:

IPS läuft bei mir auf einem MacMini über Parallels. Ist es möglich aus IPS nun, mittels Script oder so, auf dem MacMini ein Apple Script zu starten?

Und wenn ja wie…

Ja, das geht.
Ein Weg ist beispielsweise:

  • unter ips ein PHP-Skript anlegen, das eine
  • Verbindung zum Mac über ssh, z.b. per phpseclib, herstellt
  • dann z.B. in der Art

$ssh-exec->('osascript -e „tell application „EyeTv“ to channel up“);

Damit wird auf dem Mac ein Shellscript ausführt und per osascript Applescript ausgeführt.

Ich habe das einmal früher so gemacht, es hat funktioniert, nur hat mich der Auf- und Abbau der ssh-Verbindung gestört, da ich schnelles Schalten benötigte.

Ein anderer Weg ist per UDP und den IPS Socket Befehlen. Man muss dafür auf dem Mac ein UDP-Server laufen lassen.
Beispiele hierzu gibt es im Netz. Mit Groovy ist das mit wenigen Zeilen Source erledigt (z.B. Sockets).

Oder Du startes den Web-Server auf dem Mac, der kann auch PHP und rufst dort dein Applescript auf. Leider habe ich kein Code-Beispiel zur Hand, aber hier ist der Weg beschrieben:
http://www.phillips321.co.uk/2012/04/04/quick-itunes-web-based-remote-control/

HTH Johannes

Danke für die Anregungen.
Hab mich jetzt mal auf den Weg gemacht das über einen Lokalen Webserver zu gestalten.

Hab mich dabei an folgende Anleitung gehalten:

http://blog.root-of-all-evil.com/2010/08/mac-os-x-zur-webentwicklung-nutzen-schnell-und-einfach-apache-php-mysql-und-svn-einrichten/

Wenn ich nun mit „http://server-macmini.fritz.box/~user/test.php“ eine Datei mit PHP Script aufrufen will bekomme immer folgende Anzeige:

{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf510 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red38\green38\blue38;} \paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0 \deftab720 \pard\pardeftab720\sa200 \f0\fs28 \cf2 }

Was kann das sein?

In der Anleitung ist die Rede davon in „/etc/apache2/httpd.conf“ in der Zeile

#LoadModule php5_module libexec/apache2/libphp5.so

das Kommentarzeichen (#) zu entfernen… War bei mir allerdings bereits entfernt…

Eine PHP.ini gibt es bei mir auch schon… und so wie es aussieht wird diese von Parallels in beschlag genommen. Zumindest kann ich sie nicht ändern. In einer anderen Anleitung wird die PHP.ini gar nicht erwähnt…

Kann mir da jemand weiterhelfen?

Hab den Webserver jetzt mit hilfe von MAMP eingerichtet. Das ging einfacher und schneller.
Aber jetzt fehlt mir der passende Befehl um auf dem MacMini dann das Applescript / das daraus entstandene Programm aufzurufen.

Hab dazu folgenden Befehl gefunden und in die Datei „test.php“ geschrieben.

<?php echo exec(“osascript test.scpt”);?>

Wenn ich allerdings nun den Link

IPMacMini:8888/test.php

aufrufe, startet das Script, aber es passiert nix… Ein eingefügtes

echo "hallo";

fürt zumindest schon mal zu einer Textausgabe. Zum anderen stellt sich mir die Frage ob ich das Script so überhaupt lokal auf dem MacMini starte oder auf dem Rechner mit dem ich den Link aufrufe…

Test.scpt befindet sich im selben Verzeichnis wie test.php…

Hallo Frank,
das Skript liegt auf dem WebServer des MacMini und probiere einmal folgende Syntax (Anführungszeichen!):
exec(‚osascript „deinAppleScript.scpt“‘);

HTH Johannes

Hi es geht viel einfacher :slight_smile:

Du kannst per SSH einfach über script verbinden, Befehl absenden und Verbindung wird sofort nach getrennt :slight_smile:

Wenn dir diese Lösung gefällt schreibe mir einfach eine PM und schicke dir mal Beispiele…

Wär an einer solchen Lösung auch interessiert.
Könntest du hier mal ein Beispiel posten?

Danke

ich mach das über ein programm namens saywhat das ist über http und sehr schnell.
kostet aber was
mit freundlichen Grüßen