Kennt jemand eine Möglichkeit, Kontaktinformationen in das Mac-Entsperrfenster einzufügen? So etwas wie:
Wenn Sie etwas finden, kontaktieren Sie bitte My Name unter (555) 555-555 oder[email geschützt]
Wenn ich also meinen Laptop verlegen sollte, würde dies beim Öffnen angezeigt.
Ich habe unten auch noch eine Visitenkarte festgeklebt, das wäre aber eine zusätzliche Maßnahme.
Kopfgeldzum Ermitteln, wie Sie die Entsperr-NIB-Datei bearbeiten, um die Kontaktinformationen hinzuzufügen
Antwort1
So bearbeiten Sie den Text des Entsperrfensters in Mac OS X 10.6 Snow Leopard
Der Standardtext des Entsperrfensters „Um auf diesen Computer zuzugreifen, müssen Sie Ihr Kennwort eingeben.“ ist in einer der .nib-Dateien in loginwindow.app enthalten und kann mit gewissen Einschränkungen geändert werden.
Zuerst cd
in das richtige Verzeichnis:
cd /System/Library/CoreServices/loginwindow.app/\
Contents/Resources/English.lproj/BuiltInAuth.nib
Die .nib-Datei, die wir bearbeiten möchten, ist keyedobjects.nib
. Es gibt zwei Möglichkeiten, die Datei zu bearbeiten.
Bearbeiten der .nib-Datei mit einem einfachen Texteditor
Zuerst müssen wir die binär codierte .nib-Datei in XML konvertieren:
sudo plutil -convert xml1 keyedobjects.nib
Bearbeiten Sie nun keyedobjects.nib mit einem beliebigen Texteditor. Ich habe vi verwendet. Denken Sie daran, beim Bearbeiten Root-Berechtigungen zu haben, über sudo oder was auch immer:
sudo vi keyedobjects.nib
Leider gibt es keine gute Möglichkeit, definitiv direkt zum richtigen Eintrag zu gelangen. Uns interessiert das Element 40, aber die Objekte sind einfach sequenziell ohne Indizes eingetragen. Glücklicherweise ist das, wonach wir suchen, zufällig das erste Vorkommen der Zeichenfolge „Passwort“. Suchen Sie also einfach nach „Passwort“. Sie finden den aktuellen Text innerhalb <string>
der Tags.
Wenn Sie ein vi-Freak sein möchten, können Sie tatsächlich die folgende Folge von vi-Befehlen eingeben:
1G41/^\t\t<[^/]
(Drücken Sie die Eingabetaste nirgendwo außer am Ende.)
Dabei wird zum Anfang des Dokuments gegangen und dann nach dem 41. Vorkommen einer Zeile gesucht, die mit zwei Tabulatoren und einer linken spitzen Klammer beginnt, auf die kein Schrägstrich folgt. Dies funktioniert nur, weil plutil
die XML auf eine bestimmte Weise formatiert ist. Wir suchen nach dem 41. statt dem 40., weil es sich um ein nullbasiertes Array handelt.
Bearbeiten der .nib-Datei mit Xcode
Sie können .nib-Dateien auch direkt mit Xcode bearbeiten, aber meiner Meinung nach ist das in diesem Fall nicht wirklich viel einfacher und schwieriger mit Root-Berechtigung auszuführen, obwohl es machbar ist, wenn Sie Angst vor vi haben:
sudo /Developer/Applications/Xcode.app/Contents/MacOS/Xcode \
/System/Library/CoreServices/loginwindow.app/Contents/Resources/\
English.lproj/BuiltInAuth.nib/keyedobjects.nib
Wie oben angegeben, sind wir an Element 40 interessiert, und Xcode zeigt Ihnen die Elementindizes an, sodass Sie einfach direkt nach unten zu Element 40 scrollen können und es schon gefunden haben.
Xcode erfordert allerdings, dass die .nib-Datei im Binärformat 1 vorliegt, damit es sie als .nib-Datei interpretieren und Ihnen die schicke Schnittstelle bieten kann. Wenn Sie es also auf diese Weise machen möchten, lassen Sie alle " plutil -convert
"-Anweisungen weg.
Bearbeiten der Datei ohne Rootberechtigung
Nun, Sie müssen noch immer über Root-Berechtigungen verfügen, Sie können aber die Berechtigungen der Datei ändern und müssen Ihrem Editor keine Root-Berechtigungen erteilen, wenn Sie das einfacher finden.
Ändern Sie die Dateiberechtigungen entweder über die Befehlszeile (und ändern Sie sie später wieder zurück):
chmod o+w keyedobjects.nib
chmod o-w keyedobjects.nib
Oder ändern Sie sie im Bereich „Informationen“ des Finders. Sie müssen jedoch mit der rechten Maustaste auf das Anmeldefenster und BuiltInAuth.nib klicken und „Inhalt anzeigen“ auswählen, um über den Finder zur Datei zu gelangen.
Anschließend können Sie einen Editor, Xcode, vi oder was auch immer verwenden, ohne dass dafür Root-Berechtigungen erforderlich sind.
Ändern des Textes
Das Ändern des Textes selbst ist ziemlich offensichtlich. Ändern Sie ihn einfach.
Es scheint eine Begrenzung zu geben, wie viel Text im Entsperrfenster angezeigt wird. Es wird nicht mehr als die zwei Zeilen anzeigen, die Sie in der Standardeinstellung sehen.dürfenFüllen Sie die zweite Zeile aus – seien Sie also prägnant.
Wenn die Textzeichenfolge zu lang ist, scheint das Entsperren außerdem ganz zu fehlschlagen; das Entsperrfenster wird dann überhaupt nicht angezeigt. Bei mir war das beispielsweise bei einer 447 Zeichen langen Zeichenfolge der Fall. Ich weiß allerdings nicht, wo das Problem beginnt.
Wenn Sie an einer bestimmten Stelle eine neue Zeile beginnen möchten, gibt es keinen Escape-Code oder ähnliches. Fügen Sie einfach direkt dort eine neue Zeile ein:
<string>line1
line2</string>
Probieren geht über Studieren, oder so ähnlich:
Ändern der Schriftart (optional)
Sie können sogar die Schriftart und -größe vom Standardwert 13pt LucidaGrande-Bold ändern. Ändern Sie Punkt 42 (suchen Sie in einem Texteditor nach „LucidaGrande-Bold“), um die gewünschte Schriftart zu benennen. (Die Anwendung „Font Book“ zeigt Ihnen die verfügbaren Schriftarten an; das Format scheint TypeFace-Weight ohne Leerzeichen zu sein.) Die Punktgröße ist im Schlüssel NSSize direkt vor der Schriftartdeklaration in Punkt 41 enthalten.
Hier ist ein Beispiel in 8pt Futura-CondensedMedium:
Dieses Bild würde eher darauf hindeuten, dass die Höhenbegrenzung tatsächlich nicht zwei Zeilen, sondern eine bestimmte Pixelhöhe beträgt. (Sieht aus wie etwa 34 Pixel.) Wenn Sie also theoretisch eine Schriftart mit geringerer Höhe und kleinerem Zeilenabstand finden, können Sie möglicherweise mehr volle Zeilen unterbringen. (Es könnte sogar einen Schlüssel in der .nib-Datei geben, um die Höhe des Anzeigebereichs zu ändern. Ich habe allerdings nicht nachgeschaut.)
Abschließende Gedanken
Das war's. Sie sind fertig. Es ist nicht erforderlich, aber wenn Sie es in XML konvertiert haben und es wirklich wollen, können Sie die .nib-Datei wieder in die Binärform konvertieren:
sudo plutil -convert binary1 keyedobject.nib
Sie müssen sich ab- und wieder anmelden, damit die Änderungen wirksam werden.
codesign
Überprüfung
Diese Bearbeitung wirkt sich jedoch auf die Codesign-Verifizierung aus:
% codesign -vvvv /System/Library/CoreServices/loginwindow.app
/[...]/loginwindow.app: a sealed resource is missing or invalid
/[...]/loginwindow.app/[...]/keyedobjects.nib: resource modified
Ich weiß nicht, welche Auswirkungen das letztendlich haben wird, aber ich werde Arjans Link duplizieren zuMögliche Auswirkungen einer fehlgeschlagenen Antragsüberprüfung.
Antwort2
Bei 10.6 scheint die einzige Möglichkeit, das Entsperrfeld zu ändern, darin zu bestehen, die Spitze zu ändern, wie sehr gut beschriebenin wfaulks Antwort.
Diese Antwort ist also nur für Benutzer von 10.5 nützlich oder für diejenigen, die die Nachricht im Anmeldefenster (anstatt im Entsperrfeld) ändern möchten. Das Anmeldefenster wird auch beim schnellen Benutzerwechsel verwendet, abernichtfür einen passwortgeschützten Bildschirmschoner.
Für 10.5 ist es eigentlich ganz einfach. So fügen Sie dem Anmeldefenster eine Textnachricht hinzu (nach dem Aufwachen aus dem Ruhezustand)auf macosxhints.com erklärt:
Sie können den
letztenSatz [erster, AvB] dieses Dialogs bearbeiten, indem Sie die Datei „loginwindow.strings“ bearbeiten, die sich in /System/Library/CoreServices/loginwindow.app/Contents/Resources/English.lproj befindet. Sie müssen bei gedrückter Strg-Taste auf loginwindow.app klicken, um „Paketinhalte anzuzeigen“ (die „.app“ ist normalerweise ausgeblendet).Der zu bearbeitende Bereich sieht folgendermaßen aus:
/********** Passwort für Bildschirmsperre **********/ /* Meldung zum Entsperren des modalen Dialogs für die Bildschirmsperre */ /* Es sollte nichts über die METHODE zur Authentifizierung erwähnt werden */ /* wie z.B. als Passwort eingeben. Hinweise zur Vorgehensweise bei */ /* zur Authentifizierung wird vom SecurityAgent angehängt */ "Geben Sie Ihr Passwort ein, um den Bildschirm zu entsperren."="Sie müssen den Bildschirm [..].";Der blaue Text ["Sie müssen sich authentifizieren, um den Bildschirm zu entsperren.", AvB] ist das, was Sie ändern möchten. Achten Sie darauf, nur mit einer Kopie der Loginwindow-Anwendung zu arbeiten, damit Sie diese im Fehlerfall problemlos wiederherstellen können.
Tatsächlich funktioniert das unter 10.5.8 einwandfrei. (Stellen Sie sicher, dass Sie als Big-Endian UTF-16 speichern. Nach dem Vornehmen von Änderungen ist eine Abmeldung erforderlich, und OS X fügt immer den Text „Mac OS X erfordert die Eingabe Ihres Kennworts“ oder eine andere zutreffende Zeile hinzu.)
In 10.6 ist das nicht so sehr der Fall.
Die Zeichenfolge ist immer noch da, wird aber nicht verwendet, da der Dialog jetzt nur noch sagt: "Um auf diesen Computer zuzugreifen, müssen Sie Ihr Passwort eingeben." Das Hinzufügen einer Zeile wie der folgenden funktioniertnichtarbeiten:
"Um auf diesen Computer zuzugreifen, müssen Sie Ihr Passwort eingeben."="Rufen Sie mich an! Doug.";
Mit strings
oder hexdump -C
kann der Text in der (kompilierten) Nib unter /System/Library/CoreServices/loginwindow.app/Contents/Resources/English.lproj/BuiltInAuth.nib/ gefunden werden. keyedobjects.nib
Das Erstellen einer brandneuen Datei BuiltInAuth.strings
mit der obigen Zeile hilft nicht. Und für andere Lokalisierungen ist die kompilierte Nib ebenfalls anders:
cd /System/Library/CoreServices/loginwindow.app/Contents/Resources/ grep -iR \ „Sie müssen Ihr Passwort eingeben, um diesen Computer starten zu können.“ * Binärdatei Dutch.lproj/BuiltInAuth.nib/keyedobjects.nib stimmt überein
Wie oben erwähnt: siehewfaulks Antwortum die Texte in den Federn zu ändern.
Für 10.6 kann man das Bild ändernSecurity.icns
im selben Ressourcenordner. (Getestet in 10.6.1. Auch hier ist nach dem Vornehmen von Änderungen eine Abmeldung erforderlich.) Leider ist das Symbol so skaliert, dass es an seinen ursprünglichen Platz passt, und das lässt nur sehr wenig Spielraum:
Dies bricht jedochCode-Signierung, welchekönntebeeinflussenFirewall-Einstellungen, UndVielleichtauch Software-Update. Ich weiß nicht, ob das wirklich ein Problem ist; weitere Details finden Sie unterWelche Fehler können auftreten, wenn die Code-Signierung auf dem Mac manipuliert wird?
codesign -vvv /System/Library/CoreServices/loginwindow.app /[..]/loginwindow.app: eine versiegelte Ressource fehlt oder ist ungültig /[..]/Contents/Resources/Security.icns: Ressource geändert
Wenn man es gewohnt ist, den Bildschirm manuell zu sperren, dannIn 10.6 könnte ein Workaround darin bestehen, Fast User Switching zu verwenden. Sowohl bei 10.5 als auch bei 10.6 lässt sich dem Anmeldefenster (das nicht dasselbe ist wie das Entsperrfenster) ganz einfach Text hinzufügen:
sudo defaults write /Library/Preferences/com.apple.loginwindow \
LoginwindowText -string \
'If found, please contact My Name at (555) 555-555 or [email protected]'
Und in 10.6 kann Fast User Switching ganz einfachzum Menü „Dienste“ hinzugefügtund mit einer Tastenkombination versehen werden. Trotzdem wäre diesnurfunktioniert beim manuellen Sperren des Computers.
Antwort3
Es wäre vielleicht besser, diese Informationen auf dem Gerät selbst anzubringen (kleben Sie eine Karte auf die Unterseite oder so etwas). Der Entsperrbildschirm ist für die Person, die ihn findet, möglicherweise nicht sichtbar, je nach letztem Zustand des Laptops. Wenn die Batterie leer ist, können sie nichts auf dem Bildschirm sehen. Selbst wenn sie ihn anschließen, bootet er möglicherweise nur bis zum Anmeldebildschirm (je nachdem, ob er erfolgreich in den Ruhezustand versetzt wurde, was nicht immer der Fall ist).
Wenn Sie dies per Software tun, müssen Sie die Informationen an mehreren Stellen eingeben. Eine „Hardware“-Lösung ist wesentlich zuverlässiger.
Antwort4
Ja, das ist definitiv machbar (sofern wir das Gleiche meinen).
Sie könnenVisageAnmeldungum viele verschiedene Aspekte des Anmeldebildschirms anzupassen, einschließlich des angezeigten Textes.