Ubuntu 14.04 中 $XDG_DATA_HOME 的默认值是多少?我得到一个空行:
echo $XDG_DATA_HOME
Run Code Online (Sandbox Code Playgroud)
根据Free Desktop Specifications,它可能等于 $HOME/.local/share
我正在制作一个读取/写入 ~/.config 文件夹中文件的应用程序;但是,我想确保它在所有系统下都能正常工作。.config
对于不同的系统语言是否称为其他东西?有没有比使用硬编码.config
字符串更好的方法来访问它的值?(一个环境变量)
这方面的最佳做法是什么?如果没有既定的最佳实践,那么保证预期结果的最简单方法是什么?
我的 Ubuntu 是 10.10。
感谢致敬!
据我了解,XDG 指南建议应用程序将其配置存储在$XDG_CONFIG_HOME/APP
(通常~/.config/APP
)而不是~/.APP
(我不确定是否也有 Debian/Ubuntu 指南?)。但是,我发现了许多使用旧~/.APP
约定的配置文件和文件夹。
有没有办法全局强制非确认应用程序使用 XDG 文件夹约定?
还是我只需要为每个项目记录一张票?:D
configuration configuration-management xdg xdg-base-directory
例如,在英语中,默认用户文件夹将是:
$HOME/Desktop
....
$HOME/Videos
Run Code Online (Sandbox Code Playgroud)
在西班牙语中,默认用户文件夹将是:
$HOME/Escritorio
....
$HOME/Vídeos
Run Code Online (Sandbox Code Playgroud)
该文件 ~/.config/user-dirs.dirs
具有默认文件夹的本地化名称。(总是?)。
我需要从 python 脚本中获取这些名称。我不想解析那个文件。还有其他优雅的方式吗?我发现了这个:
from xdg.BaseDirectory import *
print xdg_cache_home
print xdg_config_dirs
print xdg_config_home
print xdg_data_dirs
print xdg_data_home
Run Code Online (Sandbox Code Playgroud)
但它不会返回这些文件夹。
提前致谢!
我正在寻找文件“file.odt”,所以我使用了 find 命令:
sudo find / -name "file.odt"
Run Code Online (Sandbox Code Playgroud)
虽然我的计算机提供了指向同一文件的多个副本的多个路径,但它还提供了一个如下所示的路径:
/home/user/.cache/.fr-ShFl2I/file.odt
不用说, “user”中没有名为“.cache”的文件夹。这是什么意思?