发布之间的appimage如何保持设置?

根据大众的要求 ,我问的是AppImages,它是只读的并保持压缩状态 ,可以存储它们的设置。

从AppImageKit自述文件 :

特殊目录

通常,包含在AppImage中的应用程序会将其配置文件存储在通常存储它们的位置(最常见于$HOME内的某个位置)。 如果您调用使用最新版本的AppImageKit构建的AppImage并且具有其中一个特殊目录,则配置文件将与AppImage一起存储。 这对于便携式使用情况非常有用,例如,在USB记忆棒上携带AppImage及其数据。

  • 如果有一个与AppImage plus .home同名的目录,那么在执行有效负载应用程序之前会自动将$HOME设置为它
  • 如果存在与AppImage plus .config同名的目录,则在执行有效负载应用程序之前会自动将$XDG_CONFIG_HOME设置为它

@ muru的答案当然是正确的,应该被投票和接受。

为清楚起见,我想补充几点:

  • 您可以通过使用--appimage-portable-home--appimage-portable-config参数调用它来使AppImage自己创建两个目录。 这只需要做一次:

     ../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

      (顺便说一下, $XDG_CONFIG_HOME经常默认为$HOME/.config 。)

  • 如果您发现上述两个参数难以记住,请记住另一个参数:– --appimage-help 。 使用它将列出并解释所有其他可用的。

  • 并非每个应用程序都使用$HOME$XDG_CONFIG_HOME 。 在这种情况下,新创建的目录将保持为空。 否则,它们将在运行时由AppImage的有效负载填充,并在退出到它想要记住的所有设置时。

  • 许多应用程序只使用两个环境变量中的一个, $HOME$XDG_CONFIG_HOME (因此也是my.AppImage.home/ my.AppImage.config/ ),而不是两者。

  • 如果两个可移植设置目录都存在, 某些应用程序甚至可能会混淆…

  • 如果将old.AppImage重命名为new.AppImage ,则old.AppImage.home/old.AppImage.config/目录将立即停止工作。 您需要相应地重命名这两个目录: new.AppImage.home/new.AppImage.config/

  • 如果你将awesome.AppImage重命名为awesome ,你必须重命名awesome.AppImage.home/目录:即awesome.home/

  • 如果将AppImage移动到新位置并希望保留以前使用的配置和主目录,则还必须移动它们。

  • 如果你想摆脱旧的配置并想再次使用AppImage为$XDG_CONFIG_HOME使用$HOME “标准”路径,那么只需再次删除这些目录。

  • 如果您希望新的AppImage的有效负载使用与系统安装的有效负载应用程序版本相同的设置,那么您应该:

    1. 首先创建相关的空目录;
    2. 找到系统安装的应用程序的相应config目录;
    3. 将该目录的所有内容复制到新的空目录。