Dialog auf entferntem Rechner anzeigen.

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
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?
 
Ü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
 
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.
 
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
 
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
 
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.
 
(Komisch, meine Antwort an lengsel und chebfarid ist irgendwie verschütt gegangen)

Snow schrieb:
Display dialog auf einer remote Maschine geht seit AppleScript 1.10 nicht mehr - und zwar absichtlich.
...
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.
 
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 ?
 
Zurück
Oben Unten