发布之间的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
这将创建相应的(最初为空)目录:
- 然后AppImage认为
../some/path/to/my.AppImage.home/
是$HOME
。 -
AppImage也会认为
../some/path/to/my.AppImage.config/
是$XDG_CONFIG_HOME
。(顺便说一下,
$XDG_CONFIG_HOME
经常默认为$HOME/.config
。)
- 然后AppImage认为
-
如果您发现上述两个参数难以记住,请记住另一个参数:–
--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的有效负载使用与系统安装的有效负载应用程序版本相同的设置,那么您应该:
- 首先创建相关的空目录;
- 找到系统安装的应用程序的相应config目录;
- 将该目录的所有内容复制到新的空目录。