Где на Mac хранятся фотографии аккаунта?


88

Я сделал фотографию, чтобы добавить ее в свой аккаунт на Mac.

Теперь я хочу использовать его в мессенджере, но не могу его найти. На конфиге аккаунта он слишком маленький. Мне нужно найти оригинал.

Где хранятся картинки с аккаунтом на Mac?

Ответы:


106

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 или нет.


Странно, но мое пользовательское изображение НЕ находится в ~ / Library / Images / iChat Recent Pictures.
Уве Хонекамп

@ Uwe Honekamp - если эта папка когда-либо будет очищена, это не поможет, поскольку фактическое изображение хранится в атрибуте JPEGPhoto вашей пользовательской записи.
Chealion

1
Я использовал эту команду: -read / Users / short_username JPEGPhoto | хвост -1 | xxd -r -p> /PATH/TO/accountImage.jpg Ty Chealion
Zote

11
Просто перейдите прямо dscl . -read /Users/short_username JPEGPhoto | tail -1 | xxd -r -p > /PATH/TO/accountImage.jpg- работает как рекламируется , просто вы получаете 256x256 пикселей версию изображения вашего аккаунта. :)
Мариус Бутук

1
@MariusButuc: Мой домашний компьютер выдает мне версию очень старого изображения размером 96x96 пикселей, но на моем рабочем компьютере он дает мне версию одного из стандартных изображений Apple для 512x512 пикселей. Я не уверен, что и где решает, какой размер на самом деле сохранен.
Chealion

25

У меня были трудности с поиском кэша картинок аккаунта на 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/

2
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/работал на Маверикс
Толиций

Также Йосемити. Хорошая особенность этого решения в том, что вам просто необходим доступ к файловой системе, а не к действующей службе каталогов.
Пулсбо

Это, кажется, правильный ответ для более поздних версий OSX
ForeverWintr

Подтверждение того, что это работает на Эль-Капитан тоже.
Lloeki

Подтверждено на OS X Yosemite
Даниэль Гриском

11

Я нашел фотографии по умолчанию в /Library/User Pictures

В этом каталоге есть шесть подкаталогов. Вы можете поместить свой собственный набор картинок как часть коллекции по умолчанию.

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

Затем скопируйте и вставьте свои фотографии в этот новый подкаталог, снова введя пароль администратора.

Ваши собственные изображения теперь должны отображаться в коллекции по умолчанию. Затем вам нужно будет зайти в приложение контактов и изменить свою фотографию. Затем перейдите в раздел «Пользователи и группы» в системных настройках и измените фотографии. Чтобы изменить фотографии, выберите «Редактировать», затем «По умолчанию» и затем прокрутите вниз.


Работал на меня. Почему это так далеко !?
TJ Biddle

Для меня ключевым было убить приложение «Настройки» и перезапустить его после добавления фотографии в / Library / User Pictures
Sterling Bourne

4

В 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 переставил, где фотографии были и сделал что-то с фотографиями - у меня нет никаких доказательств этого, это просто догадка.


3

Вот способ найти его в OS X 10.8.3:

~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/


На моем 10.8.3 такого каталога нет
user151019

@Mark Интересно ... следуя указанному пути, я нахожу его на своем 10.8.3
Ruskes

Я использую Mac Mini без камеры, поэтому изображение было скопировано из файла. Я нашел копию в /Library/Caches/com.apple.user501pictureCache.tiff
user151019

1
@ Марк - Да, я думаю, что эта папка предназначена только для изображений, снятых камерой.
Вольфанго

1

Бег Снежного Барса 10.6.8

Я нашел мою захваченную фотографию для входа в систему в следующем месте. И оригинал, и обрезка были найдены в~/Library/Caches/com.apple.iChat/Pictures



0

Если щелкнуть значок на странице настроек «Аккаунты», появится контекстное меню, в котором в качестве самого верхнего варианта предлагается «Редактировать картинку ...». Откроется диалоговое окно, которое - по крайней мере, в моем случае - показывает увеличенную версию моего пользовательского значка. Я предполагаю, что для конкретной цели создания значка мессенджера было бы просто сделать снимок экрана с этой картинкой.

По общему признанию, без технической подготовки, чтобы ответить на фактический вопрос, я действительно не уверен, сохранены ли фактические пользовательские символы в обычном файле. Если бы этот файл находился внутри вашей учетной записи пользователя (т. Е. ˜ / Library), страница настроек должна была бы глубоко просканировать вашу учетную запись для отображения значка, если другой пользователь просто открывает страницу настроек «Аккаунт».

Если, OTOH, файл будет храниться где-то в / Library, вероятно, будет трудно установить значок индивидуально для каждого пользователя, который не имеет прав администратора. Кто-то еще пролил свет на это, пожалуйста.


1
dsclДанные пользователя хранятся в Службе каталогов (доступно для - .plist файлы хранятся в /var/db/dslocal)
Chealion

-1

Опираясь на все предыдущие ответы здесь мой:

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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.