Как appimage сохраняет настройки между запусками?

Популярным запросом я спрашиваю, как делают AppImages, которые только для чтения и остаются сжатыми, хранят их настройки.

6
задан 26 February 2018 в 01:59

3 ответа

От AppImageKit README:

Специальные каталоги

Обычно приложение, содержавшее в AppImage, сохранит свои конфигурационные файлы везде, где оно обычно хранит их (наиболее часто где-нибудь внутри $HOME). Если Вы будете вызывать AppImage, созданный с последней версией AppImageKit, и будете иметь в распоряжении один из этих специальных каталогов, то конфигурационные файлы будут сохранены вместе с AppImage. Это может быть полезно для портативных вариантов использования, например, неся AppImage на карте с интерфейсом USB, наряду с ее данными.

  • Если существует каталог с тем же именем как AppImage плюс .home, затем $HOME будет автоматически установлен на него прежде, чем выполнить приложение полезной нагрузки
  • Если существует каталог с тем же именем как AppImage плюс .config, затем $XDG_CONFIG_HOME будет автоматически установлен на него прежде, чем выполнить приложение полезной нагрузки
7
ответ дан 23 November 2019 в 07:23

Ответ @muru, конечно, корректен и должен быть upvoted и принятый.

Позвольте мне добавить несколько точек для ясности:

  • Можно заставить AppImage создать эти два каталога совершенно отдельно путем вызова его с --appimage-portable-home и --appimage-portable-config параметры. Это должно быть сделано только однажды:

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

    Это создаст соответствующее (первоначально пустой) каталоги:

    1. AppImage будет затем думать это ../some/path/to/my.AppImage.home/ $HOME.
    2. AppImage будет также думать это ../some/path/to/my.AppImage.config/ $XDG_CONFIG_HOME.

      (BTW, $XDG_CONFIG_HOME очень часто значения по умолчанию к $HOME/.config.)

  • Если Вы находите выше двух параметров слишком трудный помнить, то запомните другой: --appimage-help. Используя это перечислит и объяснит все другие, которые доступны.

  • Не каждое приложение использует $HOME или $XDG_CONFIG_HOME. В этом случае Ваши недавно созданные каталоги останутся пустыми. Иначе они будут заполнены полезной нагрузкой AppImage во времени выполнения и при выходе ко всем настройкам, которые это хочет помнить.

  • Много приложений используют только одну из этих двух переменных среды, $HOME или $XDG_CONFIG_HOME (и поэтому my.AppImage.home/ resp. my.AppImage.config/), не оба.

  • Некоторые приложения могут даже запутаться, если оба из портативных каталогов настроек существуют...

  • Если Вы переименовываете old.AppImage кому: new.AppImage, old.AppImage.home/ и old.AppImage.config/ каталоги сразу прекращают работать. Необходимо переименовать эти два каталога соответственно: new.AppImage.home/ и new.AppImage.config/.

  • Если Вы переименовываете потрясающий. AppImage только к потрясающему, необходимо переименовать awesome.AppImage.home/ каталог также: а именно, к awesome.home/.

  • Если Вы перемещаете AppImage в новое местоположение и хотите сохранить ранее используемую конфигурацию и корневые каталоги, необходимо переместить их также.

  • Если Вы хотите избавиться от старой конфигурации и хотеть заставить AppImage снова использовать "стандартные" пути для $HOME для $XDG_CONFIG_HOME затем просто удалите эти каталоги снова.

  • Если Вы хотите, чтобы полезная нагрузка нового AppImage использовала те же настройки в качестве Вашей системной установленной версии приложения полезной нагрузки, то Вы должны:

    1. Создайте соответствующий пустой каталог сначала;
    2. Найдите соответствующий каталог конфигурации установленного на системе приложения;
    3. Скопируйте все содержание того каталога к новому пустому.
6
ответ дан 23 November 2019 в 07:23

в Ubuntu, AppImage сохранит настройки по умолчанию в:

  • /home/user_name/.config/my_App_name
  • /home/lwbaqueros/.my_App_name

Если вы удалите эти папки, у вас будет свежая версия вашего приложения AppImage

1
ответ дан 8 April 2020 в 12:44

Другие вопросы по тегам:

Похожие вопросы: