Ответы:
Mac OS X 10.5+ хранит изображения учетной записи пользователя в Службе каталогов, за исключением учетной записи, которая не изменила свою фотографию пользователя при первом создании. При первом создании учетная запись содержит атрибут «Изображение» в своей записи пользователя, который представляет собой путь к рассматриваемому изображению. Это можно прочитать с помощью dscl
команды ( dscl . -read /Users/${USER} Picture
).
Если пользователь изменил свое пользовательское изображение в любое время, то изображение учетной записи (или, если необходимо, обрезанная версия) сохраняется в атрибуте «JPEGPhoto» его пользовательской записи.
Оригинальные файлы можно найти по адресу, /Library/User Pictures
если вы ищете предоставленную Apple картинку, а ваши личные оригинальные файлы - по адресу ~/Library/Images/iChat Recent Pictures/
. Если файлы будут удалены из iChat Recent Pictures
папки, это никак не повлияет на изображение вашей учетной записи.
Если вы хотите извлечь версию своей учетной записи, вы можете сделать это, выполнив следующую команду
dscl . -read /Users/${USER} JPEGPhoto | tail -1 |
xxd -r -p > ${HOME}/Desktop/accountImage.jpg`
Разрешение может варьироваться в зависимости от исходного размера фотографии и используемой версии операционной системы при ее сохранении.
Если вы работаете в Mac OS X 10.4, у меня не работает память, так как я не помню, была ли фотография пользователя сохранена в NetInfo или нет.
dscl . -read /Users/short_username JPEGPhoto | tail -1 | xxd -r -p > /PATH/TO/accountImage.jpg
- работает как рекламируется , просто вы получаете 256x256 пикселей версию изображения вашего аккаунта. :)
У меня были трудности с поиском кэша картинок аккаунта на Mountain Lion 10.8.3. Они не были найдены в
~/Library/Caches/com.apple.iChat/Pictures
или же
~/Library/Images/iChat Recent Pictures/
Предположительно, это связано с тем, что iChat стал «Сообщения» в Mountain Lion. Поэтому я использовал инструмент командной строки, fs_usage
чтобы найти их. Запустив команду
sudo fs_usage -w | grep .tiff
А затем, щелкнув и установив новое изображение учетной записи, вы можете увидеть путь к файлу, который записывается на диск, когда вы меняете изображения учетной записи.
Оказывается, что в горном льве 10.8.3 последние фотографии аккаунта переместились в:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
работал на Маверикс
Я нашел фотографии по умолчанию в /Library/User Pictures
В этом каталоге есть шесть подкаталогов. Вы можете поместить свой собственный набор картинок как часть коллекции по умолчанию.
Создайте новый пустой подкаталог с вашим именем, и поскольку это каталог вне вашей учетной записи, доступ к которому может получить любой пользователь, вам придется ввести пароль администратора.
Затем скопируйте и вставьте свои фотографии в этот новый подкаталог, снова введя пароль администратора.
Ваши собственные изображения теперь должны отображаться в коллекции по умолчанию. Затем вам нужно будет зайти в приложение контактов и изменить свою фотографию. Затем перейдите в раздел «Пользователи и группы» в системных настройках и измените фотографии. Чтобы изменить фотографии, выберите «Редактировать», затем «По умолчанию» и затем прокрутите вниз.
В Mac OS X 10.8.2 Mountain Lion они существуют в виде файлов, которые представляют собой смесь JPEG и TIFF на моем Mac. Таким образом, они могут быть скопированы в другое место.
Полный набор фотографий пользователя находится в двух разных местах. Однако фотография пользователя, о которой идет речь, не обязательно соотносится с соответствующей папкой пользователя. Так что это немного странно.
Посмотрите на: Macintosh HD / Users / user0 / Library / Images / iChat Recent Pictures / Под « user0 » я ссылаюсь на имя первого определенного пользователя в системе (см. Контекст ниже). В этом месте находятся 3 пользовательские фотографии для 3 из 4 моих пользователей. 3 JPEG, все хорошего качества. Интересно, что это для всех пользователей, кроме user0. Jpegs называются точными именами следующим образом: «Recent 1.jpg», «Recent 2.jpg» и «Recent 3.jpg»
Для user0 эта фотография находится в: Macintosh HD / Библиотека / Кэши / TIFF, низкого качества. TIFF называется именно «com.apple.user501picturecache.tiff»
Важно отметить, что приведенный выше системный контекст: - Apple iMac 20 "в начале 2009 года, на котором изначально работала Mac OS X 10.5 Leopard - Первым определенным пользователем был user0. Ни имя, ни фотография не были изменены. - Все остальные пользователи последовали вскоре после этого. Опять же, ни имена, ни фотографии не были изменены. - Он обновлялся с каждым новым Mac OS X после его выпуска. - В настоящее время работает Mac OS X 10.8.2 Mountain Lion.
Примечание: когда я обновляюсь до Lion, я вспоминаю, что фотография user0 выглядела не очень хорошо при входе в систему. Выглядело хуже, качество. Так что-то там произошло. Я ожидаю, что Lion переставил, где фотографии были и сделал что-то с фотографиями - у меня нет никаких доказательств этого, это просто догадка.
Вот способ найти его в OS X 10.8.3:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
Бег Снежного Барса 10.6.8
Я нашел мою захваченную фотографию для входа в систему в следующем месте. И оригинал, и обрезка были найдены в~/Library/Caches/com.apple.iChat/Pictures
Если щелкнуть значок на странице настроек «Аккаунты», появится контекстное меню, в котором в качестве самого верхнего варианта предлагается «Редактировать картинку ...». Откроется диалоговое окно, которое - по крайней мере, в моем случае - показывает увеличенную версию моего пользовательского значка. Я предполагаю, что для конкретной цели создания значка мессенджера было бы просто сделать снимок экрана с этой картинкой.
По общему признанию, без технической подготовки, чтобы ответить на фактический вопрос, я действительно не уверен, сохранены ли фактические пользовательские символы в обычном файле. Если бы этот файл находился внутри вашей учетной записи пользователя (т. Е. ˜ / Library), страница настроек должна была бы глубоко просканировать вашу учетную запись для отображения значка, если другой пользователь просто открывает страницу настроек «Аккаунт».
Если, OTOH, файл будет храниться где-то в / Library, вероятно, будет трудно установить значок индивидуально для каждого пользователя, который не имеет прав администратора. Кто-то еще пролил свет на это, пожалуйста.
dscl
Данные пользователя хранятся в Службе каталогов (доступно для - .plist файлы хранятся в /var/db/dslocal
)
Опираясь на все предыдущие ответы здесь мой:
dscl . -read ~$USER JPEGPhoto | xxd -p -r > $USER.jpg
Также здесь есть кое-что в основном оригинальное, что я нашел:
sudo plutil -convert xml1 -o - /var/db/dslocal/nodes/Default/users/$USER.plist |
vim '+/>j/+3,/>j//<\/d/-1j | .!base64 -D > $USER.jpg' '+q!' -
Даже если это намного сложнее, это может быть полезно, потому что plutil
также доступно на других платформах. Он преобразует двоичный список с пользовательской информацией в xml, затем использует vim для выбора части с изображением и, наконец, декодирует ее из base64 в jpg.