Контактная информация на Mac разблокировала панель

У кого-либо есть способ включать контактную информацию в Mac, разблокировали панель? Что-то как:

Если найдено, свяжитесь с Моим Именем по телефону (555) 555-555 или myname@example.com

Таким образом, если бы я должен был положить свой ноутбук не на место, то это было бы представлено при открытии.

Unlock after screensaver

Мне записали на ленту визитную карточку к нижней части также, но это было бы дополнительной мерой.

Щедрость для идентификации, как к любому редактированию разблокировать .nib файл для добавления контактной информации

5
задан 08.09.2011, 08:03

5 ответов

Отредактировать текст разблокировать окна в Mac OS X 10,6 Snow Leopard

Текст по умолчанию разблокировать окна, "Для доступа к этому компьютеру необходимо ввести пароль". содержится в одном из .nib файлов в loginwindow.app и может быть изменен с определенными ограничениями.

Во-первых, cd к надлежащему каталогу:

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

.nib, который мы хотим отредактировать, keyedobjects.nib. Существует два способа отредактировать файл.

Редактирование .nib файла с редактором простого текста

Сначала мы должны преобразовать закодированный .nib файл двоичного файла в XML:

sudo plutil -convert xml1 keyedobjects.nib

Теперь отредактируйте keyedobjects.nib с любым редактором простого текста; я использовал vi. Не забудьте иметь корневые полномочия при редактировании его через sudo или безотносительно:

sudo vi keyedobjects.nib

К сожалению, нет отличного способа окончательно перейти непосредственно к надлежащей записи. Мы интересуемся объектом 40, но объекты просто вводятся последовательно без индексов. К счастью, то, что мы ищем, оказывается, первое вхождение строки "пароль". Поэтому просто поиск "пароля". Вы найдете текущий текст внутри <string> теги.

На самом деле, если Вы хотите быть vi фанатом, можно ввести следующую последовательность команд vi:

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

(Не нажимайте возврат нигде, но в конце.)

То, что это делает, является движением к верхней части документа, и затем ищите 41-е возникновение строки, которая запускается с двух вкладок и открывающей угловой скобки, которая не сопровождается наклонной чертой. Это только работает потому что plutil отформатированный xml конкретным способом. Мы ищем 41-е вместо 40-го, потому что это - основанный на нуле массив.

Редактирование .nib файла с XCode

Можно также отредактировать .nib файлы непосредственно с XCode, но, IMO это и не действительно, что намного легче в этом экземпляре, и тяжелее работать с корневым разрешением, хотя это выполнимо, если Вы боитесь vi:

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

Как указано выше мы интересуемся объектом 40, и XCode действительно показывает Вам индексы объекта, таким образом, можно просто прокрутить прямо вниз к объекту 40, и Вы нашли его.

XCode действительно требует, чтобы .nib были в binary1 формате, тем не менее, для него, чтобы интерпретировать его как .nib и дать Вам необычный интерфейс, поэтому если Вы хотите сделать это тот путь, опустите весь из"plutil -convert"направления.

Редактирование файла, не получая корневые разрешения

Ну, у Вас все еще должны быть корневые полномочия, но можно изменить полномочия файла и не должными быть давать корневые полномочия редактору при нахождении этого легче иметь дело с.

Любое изменение (и позже возвращаются), полномочия файла из командной строки:

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

Или измените их со Средством поиска, Получают Информационную панель. Необходимо будет щелкнуть правой кнопкой, и "Показывают Содержание" на loginwindow и BuiltInAuth.nib для получения до файла через Средство поиска, все же.

Затем можно использовать редактора, XCode, vi, или что бы то ни было, без него бывший должный иметь корневые полномочия.

Изменение текста

Изменение самого текста довольно очевидно. Просто измените его.

Кажется, существует предел на то, сколько текста разблокировать окно отобразится — это не пойдет вне этих двух строк, которые Вы видите со значением по умолчанию, хотя можно заполнить вторую строку — так быть краткими.

Кроме того, если текстовая строка является слишком длинной, это, кажется, повреждает разблокирование в целом; это не отобразит разблокировать окно вообще. Например, 447 символьных строк сделали это мне. Я не знаю, где поломка запускается, все же.

Если Вы хотите запустить новую строку в конкретном месте, нет никакого управляющего кода или чего-либо; просто поместите новую строку прямо там:

        <string>line1
line2</string>

Доказательство находится в пудинге или некоторых такой:

enter image description here

Изменение шрифта (дополнительно)

Можно даже изменить размер шрифта и размер точки от значения по умолчанию LucidaGrande-полужирных 13 ПБ. Объект изменения 42 (для текстового редактора, ищите "LucidaGrande-полужирный") назвать безотносительно шрифта, которого Вы желаете. (Книжное приложение Шрифта покажет Вам доступные шрифты; формат, кажется, Толщина шрифта с разделенными пробелами.) Размер точки содержится в ключе NSSize незадолго до объявления шрифта в объекте 41.

Вот пример в Futura-CondensedMedium на 8 ПБ:

enter image description here

Это изображение имело бы тенденцию подразумевать, что предел высоты является на самом деле не двумя строками, но особой пиксельной высотой. (Похож приблизительно на 34 пикселя.) Так, умозрительно, если можно найти шрифт с меньшей высотой и меньшим продвижением, Вы смогли соответствовать большему количеству сплошных линий. (Мог бы даже быть ключ в .nib файле для изменения высоты области дисплея. Я не посмотрел, все же.)

Последние мысли

Именно; Вы сделаны. Не требуется, но если Вы преобразовали его в xml, и Вы действительно хотите, можно преобразовать .nib назад в двоичную форму:

sudo plutil -convert binary1 keyedobject.nib

Необходимо будет выйти из системы и въехать задним ходом, чтобы заставить это вступать в силу.

codesign проверка

Это редактирование действительно влияет на проверку элемента кода, хотя:

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

Я не знаю, какой эффект, который будет иметь, в конечном счете, но я копирую ссылку Arjan на возможные эффекты неудавшейся проверки правильности выполнения приложения.

3
ответ дан 07.12.2019, 17:15
  • 1
    Хорошая находка, это сделает Doug счастливым! И я никогда не знал, что можно было просто использовать утилиты списка свойств для заглядывания вокруг в тех перьях. Единственная вещь я задаюсь вопросом о: почему Apple поместила бы переводы в перья? Кажется настоящим кошмаром обслуживания мне. – Arjan 27.09.2009, 12:28
  • 2
    OOOPS, мой codesign команда была неправильной! Используя --display ничего не проверяет; удаление той опции даже находит мой измененный значок. Я изменился codesign команда в моем ответе; см. также superuser.com/questions/47504 / …, который я надеюсь, разрешит вещи, если отвечено. Прямо сейчас я НЕ знаю, является ли это проблемой. (И, конечно, Ваш ответ все еще, что попросил Doug!) – Arjan 27.09.2009, 17:22
  • 3
    О, ничего себе, то, что очень хороший тест Вы сделали: Кроме того, если это слишком длинно, это, кажется, повреждает разблокирование в целом; это не отобразит разблокировать окно вообще. Я предполагаю использование XCode, можно было изменить размер диалогового окна в целом? (Никакая потребность выполнить XCode как корень, временно изменяя полномочия файла.) – Arjan 28.09.2009, 01:18
  • 4
    Heh. Я просто пытался протестировать шрифт и скопировал некоторый lorem ipsum с где-нибудь. Должен был пойти полностью наверх, чтобы войти в систему удаленно и уничтожить loginwindow.:( Я ненавижу реальный мир. – wfaulk 28.09.2009, 01:30
  • 5
    Ага, Вы говорите о выполнении XCode для редактирования пера способом списка свойств (который действительно не намного лучше, чем использование vi). Когда я упомянул XCode, я предположил, что преобразованное перо могло быть открыто в Интерфейсном Разработчике (который до Вашего plutil- волшебство жаловалось бы, что не может открыть скомпилированные перья. Но это не имеет место, я предполагаю. – Arjan 28.09.2009, 01:45

Вы могли бы быть более обеспеченным помещением, что информация о самой машине (записывают на ленту карту к нижней части или чему-то). Разблокировать экран не может быть видим человеку, который находит его, в зависимости от последнего состояния ноутбука. Если батарея перестала работать, они не смогут видеть что-либо на экране. Даже если они включаются, это в нем могло бы просто загрузиться до экрана входа в систему (в зависимости от того, если бы это успешно было в спящем режиме, который не всегда происходит).

Необходимо было бы поместить информацию в несколько мест, если Вы делаете это в программном обеспечении. Это будет намного более надежно для создания "аппаратного" решения.

2
ответ дан 07.12.2019, 17:15
  • 1
    , это - awesomest опечатка все же на SU :) – warren 25.09.2009, 14:29

Первое, что пришло на ум я думаю, что должно быть возможно отредактировать фон по умолчанию экрана входа в систему (это находится в /System/Library/CoreServices/DefaultDesktop.jpg), и добавьте контактную информацию к нему. Я думаю, что это работало бы в повышении.

1
ответ дан 07.12.2019, 17:15

Да, это определенно выполнимо (это - то, если мы думаем о том же самом).

Можно использовать VisageLogin для настройки большого количества различных аспектов экрана входа в систему, включая текст, который отображается.

0
ответ дан 07.12.2019, 17:15

Для 10,6, единственный способ изменить разблокировать панель, кажется, путем изменения пера, как описанный очень хорошо в ответе wfaulk.

Так, этот ответ только полезен для тех, которые на 10,5, или для тех, кто хочет изменить сообщение на окне входа в систему (а не разблокировать панель). Окно входа в систему также используется в Быстром переключении между пользователями, но не для защищенной паролем экранной заставки.

Для 10,5, это на самом деле очень легко. Как добавить, что текстовое сообщение для входа в систему в окно (после пробуждения от сна) на macosxhints.com объясняет:

Можно отредактировать последнее [сначала, AvB] предложение того диалогового окна путем редактирования файла "loginwindow.strings" расположенный в/System/Library/CoreServices/loginwindow.app/Contents/Resources/English.lproj. Вам будет нужно к щелчку управления loginwindow.app для "Показа Содержания Пакета" (".app" обычно скрыт).

Область для редактирования похожа на это:

/********** Screen Lock Password **********/
/* Message for unlocking the screen lock modal dialog */
/* It should not mention anything about the METHOD for authentication */
/* such as entering as password. Instructions regarding the method for */
/* for authentication will be appended by the SecurityAgent */
"Enter your password to unlock the screen."="You must [..] screen.";

Текст синего цвета ["Необходимо пройти проверку подлинности для разблокирования экрана". AvB] - то, что Вы хотите изменить. Всего хорошего, чтобы только работать с копией loginwindow приложения, таким образом, можно легко восстановить в случае, если Вы делаете ошибку.

Действительно, это хорошо работает на 10.5.8. (Удостоверьтесь для сохранения как UTF-16 с обратным порядком байтов. Выйдите из системы необходим после внесения изменений, и OS X будет всегда добавлять, что текст "Mac OS X требует, чтобы Вы ввели свой пароль" или независимо от того, что строка применима.)

Не так в 10,6.

Строка все еще там, но не используемый в качестве диалогового окна теперь только говорит, "Для доступа к этому компьютеру, необходимо ввести пароль". Полужирным шрифтом добавление строки как следующее не работает:

"To access this computer, you need to enter your password."="Call me! Doug.";

Используя strings или hexdump -C, текст может быть найден в (скомпилированном) пере keyedobjects.nib, в/System/Library/CoreServices/loginwindow.app/Contents/Resources/English.lproj/BuiltInAuth.nib/Создание совершенно нового файла BuiltInAuth.strings с вышеупомянутой строкой не помогает. И для других локализаций, скомпилированное перо отличается также:

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

grep -iR \
  "U moet uw wachtwoord opgeven om toegang te krijgen tot deze computer." *
Binary file Dutch.lproj/BuiltInAuth.nib/keyedobjects.nib matches

Как отмеченный выше: см. ответ wfaulk для изменения текстов в перьях.

Для 10,6, можно изменить изображение Security.icns в той же самой папке Resources. (Протестированный в 10.6.1. Снова, выйдите из системы, необходим после внесения изменений.), К сожалению, значку масштабируют для соответствия в его исходное место, и это оставляет тот очень небольшим количеством комнаты для проигрывания в:

   Unlock screen with custom item

Однако это повреждает Подписывание кода, которое могло бы влиять на настройки брандмауэра и возможно также обновление программного обеспечения. Я не знаю, является ли это действительно проблемой; посмотрите больше деталей в том, Если в подписывание кода Mac вмешиваются, что могло бы перестать работать?

codesign -vvv /System/Library/CoreServices/loginwindow.app

/[..]/loginwindow.app: a sealed resource is missing or invalid
/[..]/Contents/Resources/Security.icns: resource modified

Когда каждый привык к ручной блокировке экрана, затем в 10,6, обходное решение могло бы быть должно использовать Быстрое переключение между пользователями. И для 10,5 и для 10.6, текст легко добавляется к окну входа в систему (который не является тем же как разблокировать панелью):

sudo defaults write /Library/Preferences/com.apple.loginwindow \
  LoginwindowText -string \
  'If found, please contact My Name at (555) 555-555 or myname@example.com'

И, в 10,6, Быстрое переключение между пользователями может легко быть добавлено к меню Services и присвоено сочетание клавиш. Однако, это только работало бы, вручную блокируя компьютер.

3
ответ дан 07.12.2019, 17:15

Теги

Похожие вопросы