Fichiers non enregistrés dans OS X Lion

14

Où vont les fichiers non enregistrés dans Lion?

J'ai quitté TextEdit sans enregistrer car je n'avais pas l'intention d'enregistrer, mais avec la sauvegarde automatique, le fichier a quand même été sauvegardé quelque part car lorsque je rouvre TextEdit, le fichier sur lequel je travaillais est là (même si j'ai désactivé la reprise>. <). Je me demandais donc si ce fichier avait été enregistré?

Samantha Catania
la source
2
Pouvons-nous nous en tenir à la façon dont Text Edit fonctionne - il peut ne pas suivre l'idiome général de Lion et il y a clairement beaucoup de complexité déjà entre les fichiers temporaires, les fichiers non enregistrés et ce qui se passe une fois que vous avez réellement enregistré le fichier en dehors de la bibliothèque et que vous avez ensuite des révisions à ce même "fichier".
bmike
Je l'ai trouvé !! ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information / Unsaved TextEdit Document.rtf
Samantha Catania

Réponses:

12

~ / Bibliothèque / Conteneurs

Ce répertoire sert à plusieurs fins, dont certaines ne sont peut-être pas encore documentées par Apple.

Documents sans titre et non enregistrés pour la prise en charge des applications

Des applications telles que Aperçu et TextEdit.

Exemple

Copiez une image dans votre presse-papiers. Ouvrez Aperçu, fermez toutes les fenêtres, utilisez la commande Nouveau depuis le presse-papiers , quittez.

Ouvrez TextEdit, fermez toutes les fenêtres, tapez quelque chose dans une nouvelle fenêtre, quittez.

Dans Terminal, exécutez deux commandes:

ls -@l ~/Library/Containers/com.apple.Preview/Data/Library/Autosave\ Information

ls -@l ~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave\ Information

Les fichiers non enregistrés… seront répertoriés.

Versions enregistrées par le système de fichiers enregistrés par l'utilisateur, où le système de fichiers ou le volume ne prend pas en charge le stockage de version permanent

Systèmes de fichiers tels que MS-DOS (FAT); volumes montés en utilisant AFP 3.3 ou SMB; etc.

Exemple

Établissez une connexion AFP ou SMB avec un serveur de fichiers. Utilisez Aperçu pour ouvrir une image sur ce serveur, modifiez cette image, quittez sans enregistrer de version, déconnectez-vous du serveur.

Dans Terminal, exécutez une commande:

ls -lrt ~/Library/Containers/com.apple.Preview/Data/Library/Autosave\ Information

Au bas de la liste se trouve un répertoire contenant la version automatiquement enregistrée par le système.

Dans le même environnement réseau: si vous rouvrez Preview, le système peut se reconnecter au serveur de fichiers. Ensuite, dans une vue du navigateur de versions du fichier distant , la chronologie comprendra un fichier local .

(Je pourrais entrer dans les détails, mais ce serait hors sujet par rapport à la question d'ouverture.)

Autres fins

Au-delà des deux finalités susmentionnées, ~/Library/Containerspeut avoir d'autres finalités.

Allusion

Autorisez le système à gérer les fichiers dans ces zones.

Évitez les pertes de données; ne pas tenter des changements inutiles pour ~/Libraryou ses sous - répertoires.

Graham Perrin
la source
Graham - le nœud de ma réponse est un double exact de la vôtre, mais pardonnez-moi si je l'écris avec beaucoup plus de mots et d'une manière très différente d'arriver à la réponse. Les informations de sauvegarde automatique et les systèmes de fichiers alternatifs semblaient trop blesser mon cerveau et je voulais une base - c'est toute une réponse mac en plus de la vôtre.
bmike
@bmike aucune excuse nécessaire mais merci :-) et j'ai oublié /private/var/folderset cetera, donc votre réponse a un vote positif de ma part. C'est certainement une question où un mélange de réponses, courtes ou longues, ajoute de la valeur.
Graham Perrin
7

Le principal endroit où rechercher les modifications non enregistrées pour TextEdit est ~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/

Cela dépend de l'état du document, et c'est compliqué (car des modifications non enregistrées peuvent également exister une fois que le fichier a été enregistré et nommé la première fois).


Documents non enregistrés

Le premier type - les fichiers de démarrage «en coulisses» - commencent en tant que fichiers temporaires dans /private/var/folders/… et sont finalement stockés dans ~/Library/Containers/. Ils sont nommés sans titre et sans titre 2 et ainsi de suite . Chaque application obtient son propre répertoire, et pour TextEdit - vous chercherez un fichier comme~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information/Unsaved TextEdit Document.rtf

Ces documents sans titre n'ont pas d' icône de proxy dans la barre de titre - juste le nom choisi par TextEdit:

capture d'écran d'un document sans titre dans TextEdit

Vous n'obtenez aucune version, verrouillage ou notification de modifications autres que le tampon d'annulation / rétablissement normal avec ces fichiers non enregistrés.

+S

Le premier enregistrement active le stockage versionné et tout ce qui va avec. C'est lorsque le fichier obtient un emplacement plus familier dans le système de fichiers, une chance pour un nom autre que X sans titre . L'icône proxy est l'indice qu'il ne s'agit plus d'un document d'enregistrement automatique.

capture d'écran d'un document enregistré, sans édition, dans TextEdit

Le fichier n'est plus stocké uniquement dans ~/Library/Containers/- la première édition est enregistrée où l'utilisateur le souhaite dans la boîte de dialogue d'ouverture / d'enregistrement de fichier.

Édition (s) vers un document enregistré

Toute modification d'un document enregistré fera apparaître le mot Edité dans sa barre de titre:

capture d'écran d'une édition dans TextEdit

Le fichier ci-dessus a:

  • la version que vous avez explicitement enregistrée
  • plus l'édition qui est automatiquement enregistrée par le système .

À ce stade, vous disposez de la gamme complète d'outils pour annuler les modifications avec ce fichier:

  • le tampon d'annulation
  • les données d'enregistrement automatique ou de versions dans ~/Library/Containers/
  • le dernier état enregistré dans le système de fichiers
  • les versions stockent à partir de /.DocumentRevisions-V100

L'enregistrement d'une version entraînera la disparition du mot Modifié dans la barre de titre. C'est là qu'un menu des versions sera affiché si vous survolez le nom du fichier et qu'une infrastructure de versions entière prend le relais. Je vais laisser la mécanique de cela pour une autre réponse - c'est assez long.

capture d'écran du menu des versions dans TextEdit


De nombreux autres fichiers sont mis à jour lorsque TextEdit crée et modifie des fichiers:

  • la liste des fichiers récents
  • la liste des fichiers actuellement ouverts lorsque l'application se ferme
  • l'état de l'application à rejouer en cas de redémarrage du Mac (même de manière inattendue).

Les approches système de sauvegarde automatique et les versions doivent garantir que:

  • les données ne sont jamais perdues lorsque TextEdit se ferme normalement
  • pas plus de quelques secondes d'édition sont perdues si l'application se ferme de façon inattendue.
bmike
la source
Je n'ai pas de dossier ~ / Library / Contents / PS Mes dossiers de bibliothèque ne sont pas cachés
Samantha Catania
1
@Samantha, j'ai corrigé /Library/Contentspour lire /Library/Containers… bmike, j'ai fait d'autres changements, j'espère ne pas casser l'essence de votre original. Nous avons des styles d'écriture différents, donc les annulations, etc. ne causeront aucune offense. D'un intérêt particulier (sans donner d'exemples): parfois lorsque Edited apparaît dans la barre de titre, ~/Library/Containerscontiendra au moins une version explicitement enregistrée par l'utilisateur mais pas l'édition automatiquement enregistrée par le Système. Un film dans le cadre d'une réponse (à une question différente mais qui se chevauchent) devrait aider à rendre les choses plus claires, mais sans précipitation.
Graham Perrin
@Samantha montrant ~/Librarytemporairement est inoffensif (c'est une option de touche alt / option dans le menu Aller du Finder). Le montrer en permanence est, je le suggère avec prudence, la fin d'un coin. À d'autres épaisseurs dans ce coin, il y a des notions telles que la prévention des écritures dans certaines zones ( exemple ), dont certaines notions peuvent certainement causer des problèmes quand on s'y attend le moins, donc j'encourage les gens à respecter le comportement du système à l'extrémité la plus mince du coin ... quoi que ce soit au-delà est généralement aux risques des utilisateurs. J'espère que cela pourra aider.
Graham Perrin
1
Je rend le dossier Bibliothèque et tous les fichiers cachés visibles car en tant que développeur, j'ai parfois besoin d'afficher le contenu de ces fichiers, mais je ne recommande vraiment pas de jouer avec des fichiers cachés à l'utilisateur moyen, car s'ils gâchent quelque chose, ils vont du mal à le réparer>. <
Samantha Catania
5

Selon l'avis de John Siracusa sur Lion, il est enregistré dans /.DocumentRevisions-V100

user151019
la source
le fichier est là (à condition que vous ayez les fichiers cachés), et vous pouvez accéder au fichier (à condition de vous connecter en tant qu'utilisateur root), il y a un tas de dossiers vides dans le dossier que vous avez mentionné, l'un des rares fichiers qu'il y a est un fichier plist mais il ne semble pas contenir de fichiers non enregistrés.
Samantha Catania, le
Vous pouvez également accéder à ce fichier via le terminal, mais toujours pas de chance de trouver mon fichier non enregistré>. <
Samantha Catania
1
@Samantha, vous devriez y explorer la base de données SQLite. De la revue: "… ( /.DocumentRevisions-V100/db-V1/db.sqlite) contenant des tableaux pour le suivi des fichiers, les versions individuelles de ces fichiers (que Apple appelle" générations "), et l'emplacement de stockage des données."
Jari Keinänen
2
Jetez un œil à fseventer [ fernlightning.com/doku.php?id=software:fseventer:start] , il pourrait être utile de le retrouver!
Agos
2
Cette page de la revue Ars Technica est plus axée sur les révisions des fichiers enregistrés; la question concerne les fichiers non enregistrés.
Graham Perrin
5

Selon la documentation du développeur d' Apple , tous les nouveaux documents que vous n'avez pas encore enregistrés explicitement sont enregistrés automatiquement dans ~/Library/Autosave Information:

L'enregistrement automatique des documents est pris en charge par l'implémentation de l' enregistrement automatique en place . La sauvegarde automatique en place et la sauvegarde automatique ailleurs protègent contre la perte de travail de l'utilisateur en raison de plantages d'application, de paniques du noyau et de pannes de courant. Cependant, l'enregistrement automatique en place diffère de l'enregistrement automatique ailleurs en ce qu'il écrase le fichier de document réel plutôt que d'écrire un nouveau fichier à côté de lui contenant le contenu du document enregistré automatiquement. (L'enregistrement automatique sur place effectue une sauvegarde en toute sécurité en écrivant d'abord dans un nouveau fichier, puis en le déplaçant à l'emplacement du fichier de document une fois terminé.)

L'architecture de document utilise toujours la sauvegarde automatique ailleurs pour enregistrer des documents sans titre qui ont du contenu mais qui n'ont pas été explicitement enregistrés et nommés par l'utilisateur. Dans ce cas, les documents sans titre sont enregistrés automatiquement ~/Library/Autosave Information. En outre, NSDocumentenregistre les révisions antérieures des documents ailleurs, donnant à l'utilisateur l'accès aux versions précédentes.

La partie qui dit «En outre, NSDocumentenregistre les révisions antérieures de documents ailleurs» fait référence au .DocumentRevisions-V100dossier caché que je suppose.

Donc, si vous avez ouvert le nouveau document suffisamment longtemps pour qu'il ait été enregistré automatiquement plus d'une fois, tout cela devrait impliquer que la dernière version est stockée dans un fichier ~/Library/Autosave Informationtandis que les versions antérieures ont été stockées dans le .DocumentRevisions-V100dossier (à la racine de le lecteur sur lequel réside votre dossier de départ).

Remarque: cela me laisse me demander si les fichiers sont ~/Library/Autosave Informationégalement supprimés automatiquement à un moment donné, pour éviter d'accumuler ces types de documents TextEdit rapides que vous n'aviez pas l'intention d'enregistrer. La bibliothèque n'est pas un dossier dans lequel les utilisateurs inexpérimentés devraient se cacher; et d'après ce que j'ai compris, Lion le cache même par défaut. Je suppose que son contenu n'apparaît pas non plus dans Spotlight. Si les fichiers ne sont pas supprimés automatiquement, le bureau ou le dossier Documents aurait semblé être de meilleures destinations pour l'enregistrement automatique.

Rinzwind
la source
Intéressant. Dans ~/Library/Autosave InformationJe ne trouve rien relatif à TextEdit, mais dans cette application j'ai de nombreux sans titre ... fenêtres résumé. Peut-être vaut-il la peine de chercher dans / autour des réponses sous Puis-je changer la fréquence à laquelle la fonction "Versions" de Lion enregistre les fichiers? .
Graham Perrin
Le plus important est ce à quoi le tilde ~/Library/Autosave Informationfait référence. Pour les applications normales, il s'agit du dossier de départ de l'utilisateur. Mais pour les applications en bac à sable (par exemple TextEdit), c'est en fait ~/Library/Containers/com.company.AppIdentifier/Data, ce qui donne un résultat final dans le cas de TextEdit:~/Library/Containers/com.apple.TextEdit/Data/Library/Autosave Information
Mike Abdullah
3

Il semble que l'emplacement des fichiers sans titre et non enregistrés varie d'une application à l'autre. Utilisez Spotlight pour rechercher votre fichier temporaire non enregistré, quelle que soit l'application activée pour la sauvegarde automatique que vous avez utilisée pour le créer.

  1. Démarrez l'application activée pour l'enregistrement automatique
  2. Accédez à la fenêtre du document sans titre que vous souhaitez localiser dans le système de fichiers
  3. Ajoutez une chaîne distincte (par exemple, zyzyx)
  4. Quittez l'application
  5. Dans le projecteur (commande + espace), tapez zyzyx
  6. votre fichier modifié devrait apparaître. Passez la souris dessus pour voir un aperçu. Cliquez sur le fichier de commande pour accéder au dossier inclus dans le Finder.
Adam Tauen
la source
Utilisation impressionnante des projecteurs! Quels endroits autres que ceux ~/Library/Containersque vous avez découverts?
bmike
Keynote, Numbers, Pages: ~ / Library / Autosave \ Information
Adam Tauen
0

J'ai trouvé mes fichiers en effectuant une sauvegarde TM et j'ai pu récupérer certaines de ces modifications non enregistrées (mais pas celle que je cherchais). J'ai trouvé les fichiers dans le dossier ~ / Library / Containers / com.apple.TextEdit / Data / Library / Autosave Information /.

Little T
la source
Cela a déjà été mentionné dans un commentaire il y a 1 an.
guwac