Información de contacto en el panel de desbloqueo de Mac

Información de contacto en el panel de desbloqueo de Mac

¿Alguien tiene alguna manera de incluir información de contacto en el panel de desbloqueo de Mac? Algo como:

Si lo encuentra, comuníquese con Mi Nombre al (555) 555-555 o[correo electrónico protegido]

Entonces, si extraviara mi computadora portátil, esta se presentaría al abrirla.

Desbloquear después del salvapantallas

También tengo una tarjeta de visita pegada con cinta adhesiva en la parte inferior, pero esto sería una medida adicional.

Generosidadpara identificar cómo editar el archivo .nib de desbloqueo para agregar la información de contacto

Respuesta1

Para editar el texto de la ventana de desbloqueo en Mac OS X 10.6 Snow Leopard

El texto predeterminado de la ventana de desbloqueo, "Para acceder a esta computadora, debe ingresar su contraseña", está contenido en uno de los archivos .nib en loginwindow.app y se puede modificar con ciertas limitaciones.

Primero, cdal directorio adecuado:

cd /System/Library/CoreServices/loginwindow.app/\
Contents/Resources/English.lproj/BuiltInAuth.nib

El .nib que queremos editar es keyedobjects.nib. Hay dos formas de editar el archivo.

Editar el archivo .nib con un editor de texto sin formato

Primero tenemos que convertir el archivo .nib codificado en binario a XML:

sudo plutil -convert xml1 keyedobjects.nib

Ahora edite keyedobjects.nib con cualquier editor de texto sin formato; Yo usé vi. Recuerda tener permisos de root al editarlo, vía sudo o lo que sea:

sudo vi keyedobjects.nib

Desafortunadamente, no existe una buena manera de ir definitivamente directamente a la entrada adecuada. Estamos interesados ​​en el elemento 40, pero los objetos simplemente se ingresan secuencialmente sin índices. Afortunadamente, lo que estamos buscando es la primera aparición de la cadena "contraseña". Así que simplemente busque "contraseña". Encontrarás el texto actual dentro de <string>las etiquetas.

En realidad, si quieres ser un experto en vi, puedes ingresar la siguiente secuencia de comandos vi:

1G41/^\t\t<[^/]

(No presione regresar en ningún lugar excepto al final).

Lo que esto hace es ir a la parte superior del documento y luego buscar la aparición número 41 de una línea que comienza con dos pestañas y un corchete angular izquierdo que no va seguido de una barra. Esto solo funciona porque plutilformateó el xml de una manera particular. Estamos buscando el número 41 en lugar del 40 porque es una matriz de base cero.

Editando el archivo .nib con Xcode

También puedes editar archivos .nib directamente con Xcode, pero, en mi opinión, no es mucho más fácil en este caso y más difícil de ejecutar con permiso de root, aunque es factible si le tienes miedo a vi:

sudo /Developer/Applications/Xcode.app/Contents/MacOS/Xcode \
/System/Library/CoreServices/loginwindow.app/Contents/Resources/\
English.lproj/BuiltInAuth.nib/keyedobjects.nib

Como se indicó anteriormente, estamos interesados ​​en el elemento 40, y Xcode le muestra los índices de los elementos, por lo que puede desplazarse hacia abajo hasta el elemento 40 y lo habrá encontrado.

Sin embargo, Xcode requiere que el .nib esté en formato binario1 para que lo interprete como un .nib y le brinde una interfaz elegante, por lo que si desea hacerlo de esa manera, omita todas las plutil -convertinstrucciones " ".

Editar el archivo sin obtener permisos de root

Bueno, todavía tienes que tener permisos de root, pero puedes cambiar los permisos del archivo y no necesitas darle permisos de root a tu editor, si te resulta más fácil de manejar.

Cambie (y luego vuelva a cambiar) los permisos del archivo desde la línea de comando:

chmod o+w keyedobjects.nib
chmod o-w keyedobjects.nib

O cámbielos con el panel Obtener información del Finder. Sin embargo, tendrás que hacer clic derecho y "Mostrar contenido" en la ventana de inicio de sesión y en BuiltInAuth.nib para acceder al archivo a través del Finder.

Luego puedes usar un editor, Xcode, vi o lo que sea, sin necesidad de tener permisos de root.

Cambiando el texto

Cambiar el texto en sí es bastante obvio. Sólo cámbialo.

Parece haber un límite en la cantidad de texto que mostrará la ventana de desbloqueo: no irá más allá de las dos líneas que ves con el valor predeterminado, aunquepoderComplete la segunda línea, así que sea conciso.

Además, si la cadena de texto es demasiado larga, parece que se interrumpe el desbloqueo por completo; No mostrará la ventana de desbloqueo en absoluto. Por ejemplo, una cadena de 447 caracteres me hizo esto. Aunque no sé dónde empieza la rotura.

Si desea comenzar una nueva línea en un lugar en particular, no hay código de escape ni nada; simplemente coloque una nueva línea directamente allí:

        <string>line1
line2</string>

La prueba está en el pudín, o algo así:

ingrese la descripción de la imagen aquí

Cambiar la fuente (opcional)

Incluso puedes cambiar la fuente y el tamaño en puntos del valor predeterminado de 13 puntos LucidaGrande-Bold. Cambie el elemento 42 (para un editor de texto, busque "LucidaGrande-Bold") para nombrar la fuente que desee. (La aplicación Font Book le mostrará las fuentes disponibles; el formato parece ser TypeFace-Weight con espacios eliminados). El tamaño en puntos está contenido en la clave NSSize justo antes de la declaración de fuente, en el elemento 41.

Aquí hay un ejemplo en 8pt Futura-CondensedMedium:

ingrese la descripción de la imagen aquí

Esta imagen tendería a implicar que el límite de altura en realidad no es dos líneas, sino una altura de píxel particular. (Parece unos 34 píxeles). Entonces, teóricamente, si puede encontrar una fuente con una altura más pequeña y un interlineado más pequeño, es posible que pueda incluir más líneas completas. (Puede que incluso haya una clave en el archivo .nib para cambiar la altura del área de visualización. Sin embargo, no he mirado).

Pensamientos finales

Eso es todo; ya terminaste. No es necesario, pero si lo convertiste a xml y realmente lo deseas, puedes volver a convertir el .nib al formato binario:

sudo plutil -convert binary1 keyedobject.nib

Tendrás que cerrar sesión y volver a iniciarla para que surta efecto.

codesignverificación

Sin embargo, esta edición afecta la verificación del código:

% codesign -vvvv /System/Library/CoreServices/loginwindow.app
/[...]/loginwindow.app: a sealed resource is missing or invalid
/[...]/loginwindow.app/[...]/keyedobjects.nib: resource modified

No sé qué efecto tendrá eso en última instancia, pero duplicaré el enlace de Arjan aPosibles efectos de la verificación fallida de la solicitud..

Respuesta2

Para 10.6, la única forma de cambiar el panel de desbloqueo parece ser cambiando la punta, como se describe muy bien.en la respuesta de wfaulk.

Entonces, esta respuesta solo es útil para aquellos en 10.5 o para aquellos que desean cambiar el mensaje en la ventana de inicio de sesión (en lugar del panel de desbloqueo). La ventana de inicio de sesión también se utiliza en el cambio rápido de usuario, peronopara un protector de pantalla protegido con contraseña.

Para 10.5, en realidad es muy fácil. Cómo agregar un mensaje de texto a la ventana de inicio de sesión (después de despertarse)en macosxhints.com explica:

Puede editar la última [primera, AvB] oración de ese cuadro de diálogo editando el archivo "loginwindow.strings" ubicado en /System/Library/CoreServices/loginwindow.app/Contents/Resources/English.lproj. Deberá hacer control y hacer clic en loginwindow.app para "Mostrar contenido del paquete" (el ".app" normalmente está oculto).

El área para editar se ve así:

/********** Contraseña de bloqueo de pantalla **********/
/* Mensaje para desbloquear el diálogo modal de bloqueo de pantalla */
/* No debe mencionar nada sobre el MÉTODO de autenticación */
/* como ingresar como contraseña. Instrucciones sobre el método para */
/* para la autenticación será agregado por SecurityAgent */
"Ingresa tu contraseña para desbloquear la pantalla."="Debes [..] pantalla.";

El texto en azul ["Debes autenticarte para desbloquear la pantalla.", AvB] es lo que deseas cambiar. Tenga cuidado de trabajar sólo con una copia de la aplicación de la ventana de inicio de sesión para poder restaurarla fácilmente en caso de que cometa un error.

De hecho, esto funciona bien en 10.5.8. (Asegúrese de guardar como big-endian UTF-16. Es necesario cerrar sesión después de realizar cambios, y OS X siempre agregará el texto "Mac OS X requiere que escriba su contraseña" o cualquier línea que corresponda).

No tanto en 10.6.

La cadena todavía está allí, pero no se usa ya que el cuadro de diálogo ahora solo dice "Para acceder a esta computadora, debe ingresar su contraseña". Agregar audazmente una línea como la siguiente hacenotrabajar:

"Para acceder a esta computadora, necesita ingresar su contraseña."="¡Llámame! Doug.";

Usando stringso hexdump -C, el texto se puede encontrar en la plumilla (compilada) keyedobjects.nib, dentro de /System/Library/CoreServices/loginwindow.app/Contents/Resources/English.lproj/BuiltInAuth.nib/ Crear un archivo nuevo BuiltInAuth.stringscon la línea anterior no ayuda . Y para otras localizaciones, la punta compilada también es diferente:

CD /System/Library/CoreServices/loginwindow.app/Contents/Resources/

grep-ir\
  "U moet uw wachtwoord opgeven om toegang te krijgen tot deze computer." *
El archivo binario Dutch.lproj/BuiltInAuth.nib/keyedobjects.nib coincide

Como se señaló anteriormente: verla respuesta de wfaulkpara cambiar los textos en las plumillas.

Para 10.6, se puede cambiar la imagen.Security.icnsdentro de esa misma carpeta de Recursos. (Probado en 10.6.1. Nuevamente, es necesario cerrar sesión después de realizar cambios). Desafortunadamente, el ícono está escalado para caber en su lugar original y eso deja muy poco espacio para jugar:

      Desbloquear pantalla con elemento personalizado

Sin embargo, esto se rompeFirma de código, cualpodríaafectarconfiguración del cortafuegos, ytal veztambién actualización de software. No sé si esto es realmente un problema; ver más detalles enSi se altera la firma del código de Mac, ¿qué podría fallar?

diseño de código -vvv /System/Library/CoreServices/loginwindow.app

/[..]/loginwindow.app: falta un recurso sellado o no es válido
/[..]/Contents/Resources/Security.icns: recurso modificado

Cuando uno está acostumbrado a bloquear manualmente la pantalla, entoncesen 10.6, una solución alternativa podría ser utilizar el cambio rápido de usuario. Tanto para 10.5 como para 10.6, el texto se agrega fácilmente a la ventana de inicio de sesión (que no es lo mismo que el panel de desbloqueo):

sudo defaults write /Library/Preferences/com.apple.loginwindow \
  LoginwindowText -string \
  'If found, please contact My Name at (555) 555-555 or [email protected]'

Y, en 10.6, el cambio rápido de usuario puede ser fácilmenteañadido al menú Serviciosy se le asignará un método abreviado de teclado. Aún así, esto seríasolofunciona al bloquear manualmente la computadora.

Respuesta3

Quizás sea mejor que coloques esa información en la propia máquina (pegue una tarjeta en la parte inferior o algo así). Es posible que la pantalla de desbloqueo no sea visible para la persona que la encuentre, dependiendo del último estado de la computadora portátil. Si se agotó la batería no podrán ver nada en la pantalla. Incluso si lo conectan, es posible que simplemente se inicie en la pantalla de inicio de sesión (dependiendo de si hibernó con éxito, lo que no siempre sucede).

Tendrías que poner la información en varios lugares si lo haces en software. Será mucho más confiable crear una solución de "hardware".

Respuesta4

Sí, esto es definitivamente factible (si estamos pensando en lo mismo).

Puedes usarVisageIniciar sesiónpara personalizar muchos aspectos diferentes de la pantalla de inicio de sesión, incluido el texto que se muestra.

información relacionada