Відповіді:
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 LionSo, я використовував інструмент командного рядка, 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/працював у Mavericks
Я знайшов картинки за замовчуванням у /Library/User Pictures
У цьому каталозі є шість підкаталогів. Ви можете розмістити власний набір зображень у складі колекції за замовчуванням.
Створіть новий порожній підкаталог зі своїм іменем, і оскільки це каталог, який знаходиться поза вашим обліковим записом, і до нього може отримати доступ будь-який користувач, вам доведеться ввести пароль свого адміністратора.
Потім скопіюйте та вставте свої зображення в цей новий підкаталог, знову ввівши пароль свого адміністратора.
Ваші власні фотографії тепер мають відображатися у колекції за замовчуванням. Тоді вам доведеться зайти в додаток для контактів і змінити свою фотографію. Потім увійдіть у Користувачі та Групи в системних налаштуваннях та змініть фотографії. Щоб змінити фотографії, виберіть редагування, а потім за замовчуванням, а потім прокрутіть вниз.
У Mac OS X 10.8.2 Mountain Lion вони існують як файли, що представляють собою суміш jpegs та tiff на моєму Mac. Таким чином, їх можна скопіювати в інше місце.
Повний набір фотографій користувачів знаходиться у двох різних місцях. Однак фотографія користувача, про яку йдеться, не обов'язково співвідноситься з відповідною папкою користувача. Так що це трохи химерно.
Подивіться на: Macintosh HD / Користувачі / користувач0 / Бібліотека / Зображення / iChat Останні фотографії / Під « користувачем0 » я посилаюся на ім’я першого визначеного користувача в системі (див. Нижче контекст). У цьому місці є 3 фотографії користувача для 3 моїх 4 користувачів. 3 jpegs, все хорошої якості. Інтригуюче, це для всіх користувачів, крім user0. Точні назви jpegs називають так: 'Recent 1.jpg', 'Recent 2.jpg' та 'Recent 3.jpg'
Для користувача0 ця фотографія знаходиться в: Macintosh HD / Бібліотека / Кеші / Це тиф, низької якості. Тиф називається точно "com.apple.user501picturecache.tiff"
Важливо, що тут описаний вище системний контекст: - Apple iMac 20 "на початку 2009 року, який спочатку працював під Mac OS X 10.5 Leopard - Першим визначеним користувачем користувач0. Ні ім'я, ні фотографія не були змінені. - Всі інші користувачі невдовзі після цього. Знову ж, ні імена, ні фотографії не були змінені. - Оновлено кожен новий Mac OS X після виходу. - На даний момент працює Mac OS X 10.8.2 Mountain Lion.
Примітка: Коли я оновлювався до Лева, я пам'ятаю, що фотографія користувача0 виглядала не так добре при вході в систему. Це виглядало гіршої якості. Так щось сталося там. Я очікую, що Лев переставив там, де були фотографії, і щось зробив на фотографіях - у мене немає доказів цього, це просто придумка.
Ось як знайти його в 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
Якщо натиснути на піктограму на сторінці налаштувань «Облікові записи», з’явиться контекстне меню, яке пропонує «Редагувати малюнок ...» як найкращий варіант. Це відкриває діалогове вікно, яке - принаймні в моєму випадку - показує більшу версію піктограми мого користувача. Я думаю, для конкретної мети створення піктограми месенджера було б доцільно просто зняти цю картинку на екрані.
Правда, не маючи технічних підстав для відповіді на фактичне запитання, я дійсно не впевнений, чи фактичні піктограми користувачів зберігаються у звичайному файлі. Якби цей файл знаходився у вашому обліковому записі користувача (тобто ˜ / Бібліотека), сторінка уподобань мала б переповзти у ваш обліковий запис для відображення піктограми, якщо інший користувач просто відкриє сторінку налаштувань "Обліковий запис".
Якщо, OTOH, файл зберігався десь у бібліотеці, можливо, буде важко встановити піктограму індивідуально для кожного користувача, який не має прав адміністратора. Хтось ще пролив на це світло.
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.