Câu trả lời:
Mac OS X 10.5+ lưu trữ ảnh tài khoản của người dùng trong Dịch vụ thư mục ngoại trừ tài khoản chưa sửa đổi ảnh người dùng của họ từ khi được tạo lần đầu tiên. Khi lần đầu tiên được tạo, một tài khoản chứa thuộc tính 'Hình ảnh' trong hồ sơ người dùng của họ, đó là đường dẫn đến hình ảnh được đề cập. Điều này có thể được đọc bằng cách sử dụng dscl
lệnh ( dscl . -read /Users/${USER} Picture
).
Nếu người dùng đã sửa đổi ảnh người dùng của họ bất cứ lúc nào thì ảnh tài khoản (còn gọi là phiên bản đã cắt nếu thích hợp) được lưu trữ trong thuộc tính 'JPEGPhoto' trong hồ sơ người dùng của họ.
Có thể tìm thấy các tệp gốc /Library/User Pictures
nếu bạn đang tìm kiếm một bức ảnh do Apple cung cấp, trong khi các tệp gốc cá nhân của bạn nên được tìm thấy tại ~/Library/Images/iChat Recent Pictures/
. Nếu các tệp đã bị xóa khỏi iChat Recent Pictures
thư mục, nó sẽ không ảnh hưởng đến hình ảnh tài khoản người dùng của bạn.
Nếu bạn muốn trích xuất một phiên bản ảnh tài khoản của mình, bạn có thể làm như vậy bằng cách chạy lệnh sau
dscl . -read /Users/${USER} JPEGPhoto | tail -1 |
xxd -r -p > ${HOME}/Desktop/accountImage.jpg`
Độ phân giải có thể thay đổi tùy thuộc vào kích thước gốc của ảnh và phiên bản hệ điều hành bạn đang sử dụng khi được lưu.
Nếu bạn đang chạy Mac OS X 10.4, bộ nhớ của tôi sẽ bị lỗi vì tôi không nhớ là ảnh người dùng có được lưu trong NetInfo hay không.
dscl . -read /Users/short_username JPEGPhoto | tail -1 | xxd -r -p > /PATH/TO/accountImage.jpg
- hoạt động như quảng cáo , chỉ cần bạn có được một phiên bản 256x256 px của hình ảnh tài khoản của bạn. :)
Tôi gặp khó khăn khi tìm bộ nhớ cache hình ảnh tài khoản trên Mountain Lion 10.8.3. Họ không được tìm thấy trong
~/Library/Caches/com.apple.iChat/Pictures
hoặc là
~/Library/Images/iChat Recent Pictures/
Có lẽ điều này là do iChat trở thành Tin nhắn trong Mountain LionSo Tôi đã sử dụng công cụ dòng lệnh fs_usage
để tìm chúng. Bằng cách chạy lệnh
sudo fs_usage -w | grep .tiff
Và sau đó nhấp và đặt ảnh tài khoản mới, bạn có thể thấy đường dẫn đến tệp được ghi vào đĩa khi bạn thay đổi ảnh tài khoản.
Hóa ra trong sư tử núi 10.8.3, hình ảnh tài khoản gần đây đã chuyển sang:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
làm việc cho Mavericks
Tôi tìm thấy những hình ảnh mặc định trong /Library/User Pictures
Có sáu thư mục con trong thư mục này. Bạn có thể đặt bộ ảnh của riêng mình vào một phần của bộ sưu tập mặc định.
Tạo một thư mục con trống mới với tên của bạn và vì đây là thư mục bên ngoài tài khoản của bạn và có thể được truy cập bởi bất kỳ người dùng nào, bạn sẽ phải nhập mật khẩu quản trị viên của mình.
Sau đó sao chép và dán hình ảnh của bạn vào thư mục con mới này, nhập lại mật khẩu quản trị viên của bạn.
Hình ảnh của riêng bạn bây giờ sẽ hiển thị trong bộ sưu tập mặc định. Sau đó, bạn sẽ phải vào ứng dụng danh bạ và thay đổi ảnh của bạn. Sau đó đi vào Người dùng và Nhóm theo tùy chọn hệ thống và thay đổi ảnh. Để thay đổi ảnh, chọn chỉnh sửa và sau đó mặc định và sau đó cuộn xuống.
Trên Mac OS X 10.8.2 Mountain Lion, chúng tồn tại dưới dạng các tệp là sự pha trộn giữa jpeg và tiff trên máy Mac của tôi. Vì vậy, chúng có thể được sao chép sang một vị trí khác.
Toàn bộ ảnh người dùng ở hai vị trí khác nhau. Tuy nhiên, ảnh người dùng trong câu hỏi, không nhất thiết phải tương quan với thư mục người dùng tương ứng. Vì vậy, nó là một chút kỳ quặc.
Nhìn vào: Macintosh HD / Users / user0 / Library / Images / iChat Hình ảnh gần đây / Bởi ' user0 ' Tôi đề cập đến tên của người dùng được xác định đầu tiên trên hệ thống (xem ngữ cảnh bên dưới). Ở vị trí này là 3 ảnh người dùng, cho 3 trong số 4 người dùng của tôi. 3 jpeg, tất cả chất lượng tốt. Thú vị thay, nó dành cho tất cả người dùng ngoại trừ user0. Các jpeg được gọi là tên chính xác như sau: 'Recent 1.jpg', 'Recent 2.jpg' và 'Recent 3.jpg'
Đối với user0, ảnh này nằm trong: Macintosh HD / Library / Caches / Đây là một tiff, chất lượng kém. Tiff được gọi chính xác là 'com.apple.user501picturecache.tiff'
Điều quan trọng, đây là bối cảnh hệ thống ở trên: - Apple iMac 20 "đầu năm 2009 chạy Mac OS X 10.5 Leopard - Người dùng được xác định đầu tiên là user0. Không phải tên, cũng không phải ảnh, đã bị thay đổi. Người dùng đã theo dõi ngay sau đó. Một lần nữa, cả tên và hình ảnh cũng không được thay đổi - Nó đã được cập nhật với mọi Mac OS X mới khi được phát hành. - Hiện đang chạy Mac OS X 10.8.2 Mountain Lion.
Lưu ý: Khi tôi cập nhật lên Lion, tôi nhớ rằng ảnh user0 trông không đẹp lắm khi đăng nhập. Nó trông kém chất lượng hơn. Vì vậy, một cái gì đó đã xảy ra ở đó. Tôi hy vọng rằng Lion sắp xếp lại các bức ảnh ở đâu và làm gì đó cho các bức ảnh - tôi không có bằng chứng nào về điều này, đó chỉ là một linh cảm.
Đó là cách để tìm thấy nó trên OS X 10.8.3:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
Chạy báo tuyết 10.6.8
Tôi đã tìm thấy hình ảnh chụp của tôi để đăng nhập người dùng ở vị trí sau. Cả hai bản gốc và cắt được tìm thấy trong~/Library/Caches/com.apple.iChat/Pictures
Nếu bạn nhấp vào biểu tượng trong trang tùy chọn "Tài khoản", menu ngữ cảnh sẽ xuất hiện cung cấp "Chỉnh sửa ảnh ..." dưới dạng tùy chọn trên cùng. Điều này sẽ mở một hộp thoại - ít nhất là trong trường hợp của tôi - hiển thị phiên bản lớn hơn của biểu tượng người dùng của tôi. Tôi đoán với mục đích cụ thể là tạo một biểu tượng nhắn tin, việc chụp ảnh màn hình này là khả thi.
Phải thừa nhận rằng, không có nền tảng kỹ thuật để trả lời câu hỏi thực tế, tôi thực sự không chắc liệu các biểu tượng người dùng thực tế có được lưu trữ trong một tệp thông thường hay không. Nếu tệp này được đặt trong tài khoản người dùng của bạn (ví dụ ˜ / Thư viện), trang tùy chọn sẽ phải thu thập dữ liệu sâu trong tài khoản của bạn để hiển thị biểu tượng nếu người dùng khác chỉ mở trang tùy chọn "Tài khoản".
Nếu, OTOH, tệp được lưu trữ ở đâu đó trong / Thư viện, có thể khó đặt biểu tượng riêng cho từng người dùng không có quyền quản trị viên. Một số người khác làm sáng tỏ về điều này, xin vui lòng.
dscl
các tệp - .plist được lưu trữ tại /var/db/dslocal
)
Dựa trên tất cả các câu trả lời trước đây là của tôi:
dscl . -read ~$USER JPEGPhoto | xxd -p -r > $USER.jpg
Ngoài ra đây là một cái gì đó chủ yếu là bản gốc tôi đã tìm thấy:
sudo plutil -convert xml1 -o - /var/db/dslocal/nodes/Default/users/$USER.plist |
vim '+/>j/+3,/>j//<\/d/-1j | .!base64 -D > $USER.jpg' '+q!' -
Ngay cả khi nó phức tạp hơn, nó có thể hữu ích, bởi vì plutil
nó cũng có sẵn trên các nền tảng khác. Nó chuyển đổi số nhị phân với thông tin người dùng thành xml, sau đó sử dụng vim để chọn phần có hình ảnh và cuối cùng giải mã nó từ base64 thành jpg.