Wo speichert der Mac Kontobilder?

79

Ich habe ein Foto aufgenommen, um es meinem Mac-Konto hinzuzufügen.

Jetzt möchte ich es für Messenger verwenden, kann es aber nicht finden. In der Kontokonfiguration ist es zu klein. Ich muss das Original finden.

Wo werden die Kontobilder auf einem Mac gespeichert?

Zote
quelle

Antworten:

95

In Mac OS X 10.5+ werden die Kontobilder der Benutzer im Verzeichnisdienst gespeichert, mit Ausnahme eines Kontos, dessen Benutzerbild bei der ersten Erstellung nicht geändert wurde. Beim erstmaligen Erstellen eines Kontos enthält sein Benutzerdatensatz das Attribut "Bild", das den Pfad zum betreffenden Bild darstellt. Dies kann mit der Taste gelesen werden dscl Befehl ( dscl . -read /Users/${USER} Picture ).

Wenn ein Benutzer sein Benutzerbild zu einem beliebigen Zeitpunkt geändert hat, wird das Kontobild (ggf. auch als beschnittene Version) im Attribut "JPEGPhoto" seines Benutzerdatensatzes gespeichert.

Originaldateien finden Sie unter /Library/User Pictures Wenn Sie ein von Apple bereitgestelltes Bild suchen, finden Sie Ihre persönlichen Originaldateien unter ~/Library/Images/iChat Recent Pictures/. Wenn die Dateien jemals von der entfernt werden iChat Recent Pictures Ordner wirkt sich nicht auf das Bild Ihres Benutzerkontos aus.

Wenn Sie eine Version Ihres Kontobilds extrahieren möchten, können Sie dazu den folgenden Befehl ausführen

dscl . -read /Users/${USER} JPEGPhoto | tail -1 |
    xxd -r -p > ${HOME}/Desktop/accountImage.jpg`

Die Auflösung kann abhängig von der Originalgröße des Fotos und der Version des Betriebssystems, das Sie beim Speichern verwenden, variieren.

Wenn Sie mit Mac OS X 10.4 arbeiten, kann ich mich nicht erinnern, ob das Benutzerbild in NetInfo gespeichert wurde oder nicht.

Chealion
quelle
Seltsamerweise befindet sich mein benutzerdefiniertes Benutzerbild NICHT in ~ / Library / Images / iChat Recent Pictures.
Uwe Honekamp
@Uwe Honekamp - Wenn dieser Ordner jemals gelöscht wird, hilft dies nicht, da das tatsächliche Bild im JPEGPhoto-Attribut Ihres Benutzerdatensatzes gespeichert ist.
Chealion
1
Ich habe diesen Befehl verwendet: -read / Users / short_username JPEGPhoto | tail -1 | xxd -r -p & gt; /PATH/TO/accountImage.jpg Ty Chealion
Zote
10
Gehen Sie einfach direkt zu dscl . -read /Users/short_username JPEGPhoto | tail -1 | xxd -r -p > /PATH/TO/accountImage.jpg - funktioniert wie beworben , nur dass du einen kriegst 256 x 256 px Version Ihres Kontobildes. :)
Marius Butuc
1
@MariusButuc: Mein Heimcomputer gibt mir eine 96x96 px-Version eines sehr alten Bildes, aber auf meinem Arbeitscomputer gibt es mir die 512x512 px-Version eines der Standardbilder von Apple. Ich bin mir nicht sicher, was und wo entscheidet, welche Größe tatsächlich gespeichert wird.
Chealion
25

Ich hatte Probleme, den Account-Bild-Cache in Mountain Lion 10.8.3 zu finden. Sie wurden nicht gefunden in

~/Library/Caches/com.apple.iChat/Pictures

oder

~/Library/Images/iChat Recent Pictures/

Vermutlich, weil iChat zu Messages in Mountain Lion wurde. Also habe ich das Kommandozeilen-Tool benutzt fs_usage um sie zu finden. Durch Ausführen des Befehls

sudo fs_usage -w | grep .tiff

Wenn Sie dann auf ein neues Kontobild klicken und es festlegen, wird der Pfad zu der Datei angezeigt, die beim Ändern der Kontobilder auf die Festplatte geschrieben wird.

Es stellt sich heraus, dass in Mountain Lion 10.8.3 die letzten Kontobilder verschoben wurden in:

   ~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
jackslash
quelle
2
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/ arbeitete für Mavericks
tolitius
Auch Yosemite. Das Schöne an dieser Lösung ist, dass Sie nur auf das Dateisystem zugreifen müssen, nicht auf den Live-Verzeichnisdienst.
Poulsbo
Dies scheint die richtige Antwort für neuere OSX-Versionen zu sein
ForeverWintr
Bestätigung, dass es auch auf El Capitan funktioniert.
Lloeki
Bestätigt unter OS X Yosemite
Daniel Griscom
10

Ich habe die Standardbilder in gefunden /Library/User Pictures

In diesem Verzeichnis befinden sich sechs Unterverzeichnisse. Sie können Ihre eigenen Bilder als Teil der Standardsammlung hinzufügen.

Erstellen Sie ein neues leeres Unterverzeichnis mit Ihrem Namen. Da dies ein Verzeichnis außerhalb Ihres Kontos ist und von jedem Benutzer aufgerufen werden kann, müssen Sie Ihr Administratorkennwort eingeben.

Kopieren Sie dann Ihre Bilder und fügen Sie sie in dieses neue Unterverzeichnis ein, indem Sie erneut Ihr Administratorkennwort eingeben.

Ihre eigenen Bilder sollten jetzt in der Standardkollektion angezeigt werden. Dann müssen Sie in die Kontakte-App gehen und Ihr Foto ändern. Gehen Sie dann in die Benutzer und Gruppen unter den Systemeinstellungen und ändern Sie die Fotos. Um die Fotos zu ändern, wählen Sie Bearbeiten und dann Standard und scrollen Sie nach unten.

Spencer Star
quelle
Hat für mich gearbeitet. Warum ist das so aus dem Weg !?
TJ Biddle
4

Unter Mac OS X 10.8.2 Mountain Lion sind sie als Dateien vorhanden, die eine Mischung aus JPEGs und TIFFs auf meinem Mac darstellen. Somit können sie an einen anderen Ort kopiert werden.

Der vollständige Satz der Benutzerfotos befindet sich an zwei verschiedenen Orten. Das betreffende Benutzerfoto muss jedoch nicht unbedingt mit dem jeweiligen Benutzerordner korrelieren. Es ist also ein bisschen schrullig.

Ansehen: Macintosh HD / Benutzer / user0 / Bibliothek / Bilder / iChat Recent Pictures / Durch ' user0 'Ich beziehe mich auf den Namen des zuerst definierten Benutzers im System (siehe unten im Kontext). An dieser Stelle befinden sich 3 Benutzerfotos für 3 meiner 4 Benutzer. 3 JPEGs, alle von guter Qualität. Interessanterweise ist es für alle Benutzer ausser für user0. Die JPEGs werden die genauen Namen wie folgt genannt: "Recent 1.jpg", "Recent 2.jpg" und "Recent 3.jpg"

Für user0 ist dieses Foto in: Macintosh HD / Bibliothek / Caches / Es ist ein tiff, schlechte qualität. Das tiff heißt genau 'com.apple.user501picturecache.tiff'

Wichtig ist hier der obige Systemkontext: - Ein Apple iMac 20 "Anfang 2009, auf dem ursprünglich Mac OS X 10.5 Leopard ausgeführt wurde - Der zuerst definierte Benutzer war user0. Weder der Name noch das Foto wurden geändert. - Alle anderen Benutzer folgten kurz darauf. Auch hier wurden weder die Namen noch die Fotos geändert. - Es wurde bei Veröffentlichung mit jedem neuen Mac OS X aktualisiert. - Derzeit läuft Mac OS X 10.8.2 Mountain Lion.

Hinweis: Bei der Aktualisierung auf Lion habe ich festgestellt, dass das Foto von user0 beim Anmelden nicht so gut aussah. Es sah von schlechterer Qualität aus. Da ist also etwas passiert. Ich gehe davon aus, dass Lion die Fotos neu arrangiert hat und etwas mit den Fotos gemacht hat - ich habe keinen Beweis dafür, es ist nur eine Ahnung.

user36379
quelle
3

So finden Sie es unter OS X 10.8.3:

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

Wolfango
quelle
Kein solches Verzeichnis in meinem 10.8.3
Mark
@Mark Interessant ... dem angegebenen Pfad folgend, finde ich es auf meinem 10.8.3
Buscar웃
Ich bin auf einem Mac Mini ohne Kamera, daher wurde das Bild aus einer Datei kopiert. Ich habe eine Kopie in /Library/Caches/com.apple.user501pictureCache.tiff gefunden
Mark
1
@Mark - Ja, ich denke, dieser Ordner ist nur für die mit der Kamera aufgenommenen Bilder.
Wolfango
1

Running Snow Leopard 10.6.8

Ich habe mein aufgenommenes Bild für die Benutzeranmeldung an der folgenden Stelle gefunden. Sowohl das Original als auch das beschnittene wurden in gefunden ~/Library/Caches/com.apple.iChat/Pictures

volkswagner
quelle
1

Schauen Sie rein ~/Library/Images/iChat/Recent Pictures.

Jason
quelle
0

Wenn Sie auf das Symbol auf der Einstellungsseite "Konten" klicken, wird ein Kontextmenü mit der Option "Bild bearbeiten ..." angezeigt. Dies öffnet einen Dialog, der - zumindest in meinem Fall - eine größere Version meines Benutzersymbols anzeigt. Ich denke, für den speziellen Zweck der Erstellung eines Messenger-Symbols wäre es möglich, dieses Bild einfach per Screenshot zu erstellen.

Zugegeben, ohne den technischen Hintergrund für die Beantwortung der eigentlichen Frage zu haben, bin ich mir wirklich nicht sicher, ob die eigentlichen Benutzersymbole in einer regulären Datei gespeichert sind. Wenn sich diese Datei in Ihrem Benutzerkonto (d. H. ˜ / Bibliothek) befände, müsste die Einstellungsseite gründlich durchsucht werden Ihre Konto für die Anzeige des Symbols, wenn Ein weiterer Der Benutzer öffnet lediglich die Einstellungsseite "Konto".

Wenn die Datei, OTOH, irgendwo in / Library gespeichert wäre, wäre es wahrscheinlich schwierig, das Symbol für jeden Benutzer, der nicht über Administratorrechte verfügt, einzeln festzulegen. Jemand anderes beleuchtet das bitte.

Uwe Honekamp
quelle
1
Benutzerdetails werden im Verzeichnisdienst gespeichert (zugänglich für dscl - .plist Dateien gespeichert unter /var/db/dslocal )
Chealion
-1

Aufbauend auf all den vorherigen Antworten hier ist meins:

dscl . -read ~$USER JPEGPhoto | xxd -p -r > $USER.jpg

Auch hier ist etwas größtenteils Originelles, das ich gefunden habe:

sudo plutil -convert xml1 -o - /var/db/dslocal/nodes/Default/users/$USER.plist |
    vim '+/>j/+3,/>j//<\/d/-1j | .!base64 -D > $USER.jpg' '+q!' -

Auch wenn es viel komplizierter ist, kann es nützlich sein, weil plutil ist auch auf anderen Plattformen verfügbar. Es konvertiert die Binärliste mit den Benutzerinformationen in xml, wählt dann mit vim den Teil mit dem Bild aus und decodiert ihn schließlich von base64 in jpg.

dardo82
quelle