Dialog auf entferntem Rechner anzeigen.

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von maceis, 21.12.2005.

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.647
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo zusammen,

    Ich möchte gerne in einem Skript eine Warnmeldung auf einem entfernten Rechner ausgeben.
    Das habe ich so versucht:
    Code:
    tell application "System Events" of machine "eppc://192.168.100.13"
    	say "Hello"
    	display dialog "Ich bin eine Warnmeldung" with icon 0
    end tell
    Der `say' Teil wird ausgeführt, ich komme also auf den anderen Rechner.
    Beim `display' Teil erhalte ich:
    Code:
    [B]Apple Skript Fehler[/B]
    „System Events“ hat einen Fehler erhalten: Keine
    Aktion vom Benutzer erlaubt."
    Geht so etwas grundsätzlich nicht, oder mache ich etwas falsch?
     
  2. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.551
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Überrascht mich dass überhaupt etwas möglich ist, weil ich immer dachte dass man sich auf der entfernten Maschine auch "ausweisen" muss, also die Syntax so sein muss:
    Code:
    set remMachine to "eppc://Username:Passwort@Host"
    Abgesehen davon könnte ich mir schon vorstellen dass Dialoge nicht funktionieren, weil für eine potentielle Eingabe kein "Rückkanal" bekannt ist.
    Wenn es nur um eine Anzeige geht lässt sich das auch z.B. mit Quicksilver (
    Code:
    tell application "Quicksilver"
    	show large type d
    
    )lösen.

    Grüße,
    Flo
     
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.647
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Die Syntax ist eigentlich weit verbreitet (zumindest wenn man danach googelt).
    Man kann sogar schreiben:
    Code:
    tell application "eppc://192.168.100.13/System Events"
    ...
    Mit google findet man auch jede Menge Skripte mit
    Code:
    tell application "Finder" of machine eppc://192.168.100.13/
    display dialog ...
    ...
    die anscheinend so funktionieren :confused:

    Ein zusätzliches Programm möchte ich eigentlich nicht installieren müssen.
    Wäre also schön, wenn jemand noch einen Tip parat hat.
     
  4. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.551
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Syntax hin, Google her, so gehts auf alle Fälle:

    Code:
    set remMachine to "eppc://Username:Passwort@Host"
    tell application "System Events" of machine remMachine to do shell script "osascript -e 'tell Application \"Finder\" to display dialog \"Was auch immer zu sagen ist, es sollte hier stehen\"'"
    
    Grüße,
    Flo
     
  5. chebfarid

    chebfarid MacUser Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    MacUser seit:
    05.10.2005
    Die Syntax war soweit ganz richtig, das Problem ist, dass die Anwendung "System Events" keine Userinteraktion zulaesst (wie z.B. einen Dialog mit Buttons anzeigen...) Es ist aber auch ueberhaupt nicht noetig, SE zu bemuehen, weil die Kommandos "say ..." und "display dialog" z.B. auch ohne weiteres vom Finder verstanden werden und mit dem scheint's ja zu funktionieren ;)

    Frohes Scripten
    Farid
     
  6. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Display dialog auf einer remote Maschine geht seit AppleScript 1.10 nicht mehr - und zwar absichtlich.

    Auszug aus den Release-Notes:

    The choose application, choose from list, choose URL, and display dialog commands will no longer present dialogs on remote machines.

    Man findet deshalb noch viele Skripte im Netz, die das benutzen - schließlich funktionierte es bis AppleScript 1.9 - und das liegt ja noch nicht allzu lange zurück.
     
  7. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.647
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    (Komisch, meine Antwort an lengsel und chebfarid ist irgendwie verschütt gegangen)

    So etwas ähnliches habe ich mir schon gedacht, auch wenn mir der Grund dafür nicht auf Anhieb klar ist.

    Warum aber geht so etwas:
    Code:
    tell application "System Events" of machine "eppc://192.168.100.13"
    	do shell script "osascript -e 'tell Application \"Finder\" display dialog \"Text\"'"
    end tell
    nicht aber:
    Code:
    tell application "System Events" of machine "eppc://192.168.100.13"
    	do shell script "osascript -e 'tell Application \"System Events\" display dialog \"Text\"'"
    end tell
    Obwohl auch das zweite osascript lokal sehr wohl ausgeführt wird.
     
  8. Flupp

    Flupp MacUser Mitglied

    Beiträge:
    1.707
    Zustimmungen:
    15
    MacUser seit:
    27.07.2004
    Ich möchte einen Dialog ausgeben, aber:
    "Syntaxfehler - Der Benutzer kann nicht identifiziert werden"

    Andere Anweisungen funktionieren einwandfrei, z.B.
    tell application "C4D Client" of machine "eppc://x.x.x.x" to quit


    Keines der obigen Beispiele funktioniert, kann es sein dass Finder, System Events und Terminal gesperrt sind ?

    Alternativen ?
     
Die Seite wird geladen...

Diese Seite empfehlen