Відповіді:
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.