web-dev-qa-db-fra.com

Comment une image persiste-t-elle dans les paramètres entre les lancements?

À la demande générale , je demande comment AppImages, qui sont en lecture seule et qui reste compressé , stocke leurs paramètres.

5
Dan Dascalescu

De le fichier README d'AppImageKit :

Annuaires spéciaux

Normalement, l'application contenue dans une AppImage stockera ses fichiers de configuration où elle les stocke normalement (le plus souvent quelque part dans $HOME). Si vous appelez une AppImage créée avec une version récente de AppImageKit et que vous avez un de ces répertoires spéciaux en place, les fichiers de configuration seront stockés à côté de AppImage. Cela peut être utile pour les cas d'utilisation portables, par exemple, le transport d'une AppImage sur une clé USB, avec ses données.

  • S'il existe un répertoire portant le même nom que AppImage plus .home, alors $HOME lui sera automatiquement attribué avant l'exécution de l'application de charge utile.
  • S'il existe un répertoire portant le même nom que AppImage plus .config, alors $XDG_CONFIG_HOME lui sera automatiquement attribué avant l'exécution de l'application de charge utile.
6
muru

La réponse de @ muru est bien sûr correcte et devrait être votée et acceptée.

Permettez-moi d'ajouter quelques points pour plus de clarté:

  • Vous pouvez faire en sorte que AppImage crée les deux répertoires lui-même en l'invoquant avec les paramètres --appimage-portable-home et --appimage-portable-config. Cela ne doit être fait qu'une fois:

    _../some/path/to/my.AppImage --appimage-portable-home
    ../some/path/to/my.AppImage --appimage-portable-config
    _

    Cela créera les répertoires respectifs (initialement vides):

    1. L'appImage pensera alors que _../some/path/to/my.AppImage.home/_ est _$HOME_.
    2. L'appImage pensera également que _../some/path/to/my.AppImage.config/_ est _$XDG_CONFIG_HOME_.

      (BTW, _$XDG_CONFIG_HOME_ très fréquemment par défaut à _$HOME/.config_.)

  • Si vous trouvez que deux paramètres sont trop difficiles à mémoriser, mémorisez-en un autre: _--appimage-help_. En utilisant cela, vous listerez et expliquerez tous les autres disponibles.

  • Toutes les applications n'utilisent pas _$HOME_ ou _$XDG_CONFIG_HOME_. Dans ce cas, vos répertoires nouvellement créés resteront vides. Sinon, ils seront renseignés par la charge utile d'AppImage au moment de l'exécution et lors de la sortie vers tous les paramètres à mémoriser.

  • De nombreuses applications utilisent une seule des deux variables d'environnement, _$HOME_ ou _$XDG_CONFIG_HOME_ (et donc de _my.AppImage.home/_ resp. _my.AppImage.config/_), et non les deux.

  • Certaines les applications peuvent même devenir confuses si les deux des répertoires de paramètres portables existent ...

  • Si vous renommez les noms _old.AppImage_ à _new.AppImage_, les répertoires _old.AppImage.home/_ et _old.AppImage.config/_ cessent immédiatement de fonctionner. Vous devez renommer les deux répertoires en conséquence: _new.AppImage.home/_ et _new.AppImage.config/_.

  • Si vous renommez awesome.AppImage simplement awesome, vous devez également renommer le répertoire _awesome.AppImage.home/_: à savoir, à _awesome.home/_.

  • Si vous déplacez AppImage vers un nouvel emplacement et souhaitez conserver les répertoires config et home précédemment utilisés, vous devez également les déplacer.

  • Si vous souhaitez vous débarrasser de l'ancienne configuration et que vous voulez que AppImage utilise à nouveau les chemins "standard" pour _$HOME_ pour _$XDG_CONFIG_HOME_, supprimez simplement à nouveau ces répertoires.

  • Si vous souhaitez que la nouvelle charge utile d'AppImage utilise les mêmes paramètres que la version de l'application de charge utile installée sur votre système, vous devez:

    1. Créez d'abord le répertoire vide approprié;
    2. Localisez le répertoire de configuration respectif de l'application installée par le système.
    3. Copiez tout le contenu de ce répertoire dans le nouveau répertoire vide.
5
Kurt Pfeifle