Jawaban:
Mac OS X 10.5+ menyimpan gambar akun pengguna dalam Layanan Direktori dengan pengecualian akun yang belum mengubah gambar pengguna mereka sejak pertama kali dibuat. Saat pertama kali dibuat, sebuah akun berisi atribut 'Gambar' dalam catatan pengguna mereka yang merupakan jalur ke gambar yang dimaksud. Ini bisa dibaca menggunakan dscl
perintah ( dscl . -read /Users/${USER} Picture
).
Jika seorang pengguna telah memodifikasi gambar pengguna mereka kapan saja gambar akun (alias versi yang dipotong jika sesuai) disimpan dalam atribut 'JPEGPhoto' dari catatan pengguna mereka.
File asli dapat ditemukan di /Library/User Pictures
jika Anda mencari gambar yang disediakan Apple, sedangkan file asli pribadi Anda dapat ditemukan di ~/Library/Images/iChat Recent Pictures/
. Jika file pernah dihapus dari iChat Recent Pictures
folder itu tidak akan mempengaruhi gambar akun pengguna Anda sama sekali.
Jika Anda ingin mengekstraksi versi gambar akun Anda, Anda dapat melakukannya dengan menjalankan perintah berikut
dscl . -read /Users/${USER} JPEGPhoto | tail -1 |
xxd -r -p > ${HOME}/Desktop/accountImage.jpg`
Resolusi dapat bervariasi tergantung pada ukuran asli foto dan versi sistem operasi yang Anda gunakan saat disimpan.
Jika Anda menjalankan Mac OS X 10.4, memori saya gagal karena saya tidak ingat apakah gambar pengguna disimpan di NetInfo atau tidak.
dscl . -read /Users/short_username JPEGPhoto | tail -1 | xxd -r -p > /PATH/TO/accountImage.jpg
- berfungsi seperti yang diiklankan , hanya saja Anda mendapatkan versi 256x256 px dari gambar akun Anda. :)
Saya mengalami kesulitan menemukan cache gambar akun di Mountain Lion 10.8.3. Mereka tidak ditemukan di
~/Library/Caches/com.apple.iChat/Pictures
atau
~/Library/Images/iChat Recent Pictures/
Agaknya ini karena iChat menjadi Pesan di Mountain LionSehingga saya menggunakan alat baris perintah fs_usage
untuk menemukannya. Dengan menjalankan perintah
sudo fs_usage -w | grep .tiff
Dan kemudian mengklik dan mengatur gambar akun baru Anda dapat melihat path ke file yang ditulis ke disk ketika Anda mengubah gambar akun.
Ternyata di gunung singa 10.8.3 gambar akun baru-baru ini telah pindah ke:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
bekerja untuk Mavericks
Saya menemukan gambar default di /Library/User Pictures
Ada enam subdirektori di bawah direktori ini. Anda dapat menempatkan set gambar Anda sendiri sebagai bagian dari koleksi default.
Buat subdirektori kosong baru dengan nama Anda dan karena ini adalah direktori di luar akun Anda dan dapat diakses oleh pengguna mana pun, Anda harus memasukkan kata sandi administrator Anda.
Kemudian salin dan tempel gambar Anda ke subdirektori baru ini, lalu masukkan lagi kata sandi admin Anda.
Gambar Anda sendiri sekarang akan muncul di koleksi default. Maka Anda harus masuk ke aplikasi kontak dan mengubah foto Anda. Lalu buka Pengguna dan Grup di bawah preferensi sistem dan ubah foto. Untuk mengubah foto, pilih edit dan kemudian default lalu gulir ke bawah.
Pada Mac OS X 10.8.2 Mountain Lion, mereka ada sebagai file yang merupakan campuran dari jpeg dan tiff pada Mac saya. Dengan demikian, mereka dapat disalin ke lokasi lain.
Set lengkap foto pengguna berada di dua lokasi berbeda. Namun, foto pengguna yang dimaksud, tidak serta merta berkorelasi dengan folder pengguna masing-masing. Jadi agak aneh.
Lihatlah: Macintosh HD / Users / user0 / Library / Images / iChat Recent Pictures / By ' user0 ' Saya merujuk pada nama pengguna yang didefinisikan pertama pada sistem (lihat konteks di bawah). Di lokasi ini ada 3 foto pengguna, untuk 3 dari 4 pengguna saya. 3 jpegs, semua berkualitas baik. Menariknya, ini untuk semua pengguna kecuali untuk pengguna0 . Jpeg disebut nama persisnya sebagai berikut: 'Recent 1.jpg', 'Recent 2.jpg' dan 'Recent 3.jpg'
Untuk pengguna0, foto ini ada di: Macintosh HD / Library / Caches / Kualitasnya buruk, buruk. Tiff disebut persis 'com.apple.user501picturecache.tiff'
Yang penting, ini adalah konteks sistem di atas: - Apple iMac 20 "awal 2009 yang awalnya menjalankan Mac OS X 10.5 Leopard - Pengguna yang pertama kali ditentukan adalah pengguna0. Nama, maupun foto, telah diubah. - Semua lainnya pengguna mengikuti segera setelah itu. Sekali lagi, nama-nama atau, atau foto-foto, telah diubah. - Telah diperbarui dengan setiap Mac OS X baru ketika dirilis -. Saat ini menjalankan Mac OS X 10.8.2 Mountain Lion.
Catatan: Ketika saya memperbarui ke Lion, saya ingat bahwa foto pengguna0 tidak terlihat begitu bagus saat masuk. Itu terlihat kualitas yang lebih buruk. Jadi sesuatu terjadi di sana. Saya berharap Lion mengatur ulang di mana foto-foto itu berada dan melakukan sesuatu pada foto-foto itu - saya tidak punya bukti tentang ini, itu hanya dugaan.
Itulah cara menemukannya di OS X 10.8.3:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
Menjalankan Snow Leopard 10.6.8
Saya telah menemukan gambar yang saya ambil untuk login pengguna di lokasi berikut. Baik yang asli maupun yang dipotong ditemukan di~/Library/Caches/com.apple.iChat/Pictures
Jika Anda mengklik ikon di halaman preferensi "Akun", menu konteks akan muncul yang menawarkan "Edit gambar ..." sebagai opsi paling atas. Ini membuka dialog yang - setidaknya dalam kasus saya - menunjukkan versi yang lebih besar dari ikon pengguna saya. Saya kira untuk tujuan khusus membuat ikon messenger, layak untuk melakukan screen-shot gambar ini.
Memang, tanpa memiliki latar belakang teknis untuk menjawab pertanyaan yang sebenarnya, saya benar-benar tidak yakin apakah ikon pengguna yang sebenarnya disimpan dalam file biasa. Jika file ini berada di dalam akun pengguna Anda (yaitu ˜ / Perpustakaan) halaman preferensi harus merangkak dalam-dalam di akun Anda untuk menampilkan ikon jika pengguna lain hanya membuka halaman preferensi "Akun".
Jika, OTOH, file disimpan di suatu tempat di / Library, mungkin akan sulit untuk mengatur ikon secara individual untuk setiap pengguna yang tidak memiliki hak administrator. Tolong, ada orang lain yang menjelaskan hal ini.
dscl
-. File daftar disimpan di /var/db/dslocal
)
Membangun semua jawaban sebelumnya di sini adalah milik saya:
dscl . -read ~$USER JPEGPhoto | xxd -p -r > $USER.jpg
Di sini juga ada sesuatu yang sebagian besar asli yang saya temukan:
sudo plutil -convert xml1 -o - /var/db/dslocal/nodes/Default/users/$USER.plist |
vim '+/>j/+3,/>j//<\/d/-1j | .!base64 -D > $USER.jpg' '+q!' -
Sekalipun jauh lebih rumit, itu bisa berguna, karena plutil
juga tersedia di platform lain. Itu mengkonversi daftar biner dengan info pengguna ke xml, kemudian menggunakan vim untuk memilih bagian dengan gambar dan akhirnya menerjemahkannya dari base64 ke jpg.