Hinweisfenster bei Shutdown! wie realisieren?

M

masdeirf

Mitglied
Thread Starter
Dabei seit
25.12.2003
Beiträge
24
Reaktionspunkte
1
Hallo zusammen,

folgendes schwebt mir vor: Beim ausschalten des PB sollt eine Meldung/Hinweisfester aufpoppen "USB Stick mitnehmen!" falls möglich die delux Variante mit Prüfung ob ein Stick überhaupt steckt und wenn ja Meldung machen.

Hintergrund: ich arbeite an mehreren Arbeitsplätzen wo jedes mal LCD, Tastatur, Maus, USB Hub vorhanden ist. Ich schlisse das PB nur an den USB HUB an, wo auch der Stick hinkommt. Es ist mir nun ein paar mal passiert das ich ohne Stick weg bin obwohl ich den gebraucht hätte.

Ich habe schon nach Lösungen gesucht mit AppleScript ist scheinbar nicht zu machen.
Nun habe ich was bei Apple gefunden: -LogoutHook:
http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/index.html
Nur habe ich keine Ahnung davon.

Hat jemand ein Lösungsvorschlag dazu?? DANKE

Gruss masdeirf
 
Muss es beim Shutdown sein? Wie fährst Du den Rechner für gewöhnlich runter? Darf es auch der folgende Weg sein?
Also bspw. ein Icon auf dem Desktop das Du klickst wenn Du den Rechner runterfahren willst. Dahinter verbirgt sich dann einfach schlicht ein AS das den Dialog aufpoppt, und nach Bestätigung des Dialogs den Rechner runterfährt/schlafen legt...
Wenn das so für Dich praktikabel wäre, würde ich mal basteln.

Grüße,
Flo
 
Ich kann es ja nicht lassen wenn mich mal was interessiert...also habe ich mal gebastelt:

Code:
set a to do shell script "ls /Volumes/"

if a contains "Name des Sticks" then
	set b to "Name des Sticks"
	display dialog ("Stick wird aus dem System entfernt, mitnehmen nicht vergessen, oder: Den Stick nicht vergessen, oder ein anderer Text, nach Belieben: 

 " & b)
	do shell script "hdiutil unmount /Volumes/Name des Sticks"
	
else if a is not equal to "Name des Sticks" then
	display dialog "Stick nicht angeschlossen"
	
end if

delay 10
tell application "Finder" to shut down

Wenn das Skript feststellt das der Stick noch "an Bord" ist, wird er automatisch ge-unmountet (es empfiehlt sich den Dialogbox-text entsprechend anzupassen damit man nicht versehentlich dem unmount-Prozess manuell dazwischen greift).
Ist der Stick schon nicht mehr "an Bord" kommt die lapidare Meldung "Stick nicht angeschlossen".
Egal welcher Fall eingetreten ist, das Script wartet dann noch 10 Sekunden (delay 10 bei Bedarf verändern, Angabe in Sekunden) und fährt dann den Rechner runter.
Am besten das Script über Ablage, Sichern unter im Dateiformat Programm (Nur ausführbar, kein Startdialog) abspeichern, und an geeigneter Stelle platzieren, und statt wie gewohnt, den Rechner nun über das Script runterfahren.
Evtl. via Tastaturkürzel z.B. mit Quicksilver.

Grüße,
Flo
 
Ist es möglich, ein AppleScript auf irgendwelchen Pfaden (nicht wörtlich nehmen) in das DiensteMenü einzuklinken? Dann könnte es mit einer Taste systemweit belegt werden.

ED: Obwohl, wenn man sich jedesmal an die Tastenkombination erinnern muss, dann kann man auch gleich an den USB-Stick denken. Ok, das war wohl nichts.
 
@lengsel: ein wahrer Freak!
respekt.gif
 
Tollschock schrieb:
Ist es möglich, ein AppleScript auf irgendwelchen Pfaden (nicht wörtlich nehmen) in das DiensteMenü einzuklinken? Dann könnte es mit einer Taste systemweit belegt werden.

ED: Obwohl, wenn man sich jedesmal an die Tastenkombination erinnern muss, dann kann man auch gleich an den USB-Stick denken. Ok, das war wohl nichts.

Einfacher als das Dienstemenü ist das AS-Menü in die Menüleiste aufzunehmen (wer das nicht eh schon hat). Und dann in den Systemeinstellungen eine entsprechende Taste zu definieren. Ich würde aber trotzdem einen QS-Trigger vorziehen.
Die Frage des Erinnerns ist nicht das Problem. Du erinnerst Dich ja so auch wie Du den Rechner auskriegst, nach einer gewissen Eingewöhnungsphase erinnerst Du Dich dann halt an das Tastenkürzel. Bei der Wahl desselben sollte man übrigens möglichst eine Kombination nehmen die man nicht versehentlich (oder die Katzen) drücken kann, wäre blöd. Vielleicht ist es mit einem Doppelklick auf ein Totenkopficon (um andere abzuschrecken) auf dem Desktop doch am sichersten... :)

@held: Danke :)

Grüße,
Flo
 
@lengsel: SUPER DANKE

ich nütze eh Butler und habe das Script ins Menü eingebunden und eine Tastenkombination zugewiesen: Klappt soweit wunderbar bis auf:

do shell script "hdiutil unmount /Volumes/2 GB"

da kommt: AppleScript Fehler:
hdiutil: unmount: Only a single file can be specified.

-----
Und weil es für mich zum gleich Thema gehört:
Ich habe auf dem gleichen Stick eine verschlüsseltes Image das Automatisch gemountet werden soll wenn ich den Stick anschliesse.

Dazu nütze ich in Pheripheral Version die Funktion Automount mit folgendem Script:

tell application "Finder"
activate
delay 15
open "Stick Name:ImageName.dmg"
end tell

Grüsse Horst
 
masdeirf schrieb:
...
do shell script "hdiutil unmount /Volumes/2 GB"

da kommt: AppleScript Fehler:
hdiutil: unmount: Only a single file can be specified.

Habe das jetzt mal mit einem Volume gleichen Namens nachgestellt, und seltsamerweise funktioniert der Befehl im Terminal, nur via AS leider nicht.
Entweder es wissen da evtl. die AS-Chefs was, oder Du gibst dem Volume einfach einen Namen der weniger Probleme macht wie "Bigstick" o.ä.
Ich habe es leider nicht geschafft das mit dem jetzigen Namen hinzubiegen.

masdeirf schrieb:
Und weil es für mich zum gleich Thema gehört:
Ich habe auf dem gleichen Stick eine verschlüsseltes Image das Automatisch gemountet werden soll wenn ich den Stick anschliesse.

Dazu nütze ich in Pheripheral Version die Funktion Automount mit folgendem Script:

tell application "Finder"
activate
delay 15
open "Stick Name:ImageName.dmg"
end tell

Hier verstehe ich die Frage nicht, bzw. kann keine entdecken. Offensichtlich hast Du bereits ein funktionierendes Script welches das sich auf dem Stick befindliche verschlüsselte Volume mountet. Vielleicht check ich es einfach gerade nicht...hilf mir vom Schlauch... ? :)

Grüße,
Flo
 
lengsel schrieb:
Habe das jetzt mal mit einem Volume gleichen Namens nachgestellt, und seltsamerweise funktioniert der Befehl im Terminal, nur via AS leider nicht.
Entweder es wissen da evtl. die AS-Chefs was, oder Du gibst dem Volume einfach einen Namen der weniger Probleme macht wie "Bigstick" o.ä.
Ich habe es leider nicht geschafft das mit dem jetzigen Namen hinzubiegen.

scheint am Lesezeichen im Namen zu liegen, werde es mal gründlich ausprobieren und nochmals berichten. Mal sehen ob der unmount mit beiden (Stick und mit dem verschlüsseltem Image das auf dem Stick ist) klappt

lengsel schrieb:
Hier verstehe ich die Frage nicht, bzw. kann keine entdecken. Offensichtlich hast Du bereits ein funktionierendes Script welches das sich auf dem Stick befindliche verschlüsselte Volume mountet. Vielleicht check ich es einfach gerade nicht...hilf mir vom Schlauch... ? :)

Grüße,
Flo

...war auch keine Frage. Wollte ich einfach nur zu Verfügung stellen vielleicht hat ja jemand Bedarf.

Gruss Horst
 
Habe gerade nix zum testen hier, aber vielleicht hilft es, wenn das Leerzeichen maskiert wird?!

Also in etwa so:

do shell script "hdiutil unmount /Volumes/2\ GB"
 
masdeirf schrieb:
...Mal sehen ob der unmount mit beiden (Stick und mit dem verschlüsseltem Image das auf dem Stick ist) klappt...

Oh... das habe ich natürlich nicht bedacht. Bin gespannt was passiert. Evtl. muss man beide einzeln unmounten.

Grüße,
Flo
 
McGyver schrieb:
Habe gerade nix zum testen hier, aber vielleicht hilft es, wenn das Leerzeichen maskiert wird?!

Also in etwa so:

do shell script "hdiutil unmount /Volumes/2\ GB"

Leider nicht, das habe ich probiert.

Grüße,
Flo
 
habe nun eine paar Versuche gemacht mit diesem Script:
Code:
set a to do shell script "ls /Volumes/"

if a contains "USBStick" then
	set b to "USBStick"
	display dialog ("Stick wird aus dem System entfernt, mitnehmen nicht vergessen: 

 " & b)
	do shell script "hdiutil unmount /Volumes/ImageaufUSBSTick.dmg" 
	delay 10
	do shell script "hdiutil unmount /Volumes/USBStick"
	
else if a is not equal to "USBStick" then
	display dialog "Stick nicht angeschlossen"
	
end if

delay 10
tell application "Finder" to shut down
das Image wird ausgeworfen jedoch bei dem Stick kommt es zu folgender Fehlermeldung:
hdiutil: unmount: "disk1s3" failed to unmount due to error 16 (dissenter -1)
und ich kann den Stick auf normalem Weg auch nicht mehr auswerfen. Es klappt nur mit dem Festplattendienstprogramm. Es scheint als ob do shell script "hdiutil unmount den Stick noch in Benützung hällt.

Nach eine paar erneuten Versuchen scheint es damit zu klappen:
Code:
set a to do shell script "ls /Volumes/"

if a contains "USBStick" then
	set b to "USBStick"
	display dialog ("Stick wird aus dem System entfernt, mitnehmen nicht vergessen: 

 " & b)
	do shell script "hdiutil unmount /Volumes/ImageaufUSBSTick.dmg -force" 
	delay 10
	do shell script "hdiutil unmount /Volumes/USBStick -force"
	
else if a is not equal to "USBStick" then
	display dialog "Stick nicht angeschlossen"
	
end if

delay 10
tell application "Finder" to shut down
Habe es aus Zeitmangel nur zwei mal testen können

Gruss Horst
 
masdeirf schrieb:
...Habe es aus Zeitmangel nur zwei mal testen können

Wenn es zweimal funktioniert hat, bleibt das meistens auch so. :)

Grüße,
Flo
 
Zurück
Oben Unten