我使用的是中文语言的gnome / Ubuntu-10.10,桌面路径不是“〜/ Desktop”而是“〜/ XXXX”,其中XXXX代表“桌面”的中文翻译。那么,如何编写代码来获取桌面的正确路径,而不管系统语言如何?我注意到Qt SDK在桌面上正确添加了一个快捷方式,所以我猜有一种方法。非常感谢!
答案 0 :(得分:16)
另一种方法:
dir=$(xdg-user-dir DESKTOP)
答案 1 :(得分:4)
xdg-user-dirs规范中描述了用户目录的位置。它们提供了一些您可以复制的代码here,用于在代码中查找桌面目录的名称。
答案 2 :(得分:2)
echo ${XDG_DESKTOP_DIR:-$HOME/Desktop}
在本地Linux驱动器上以及/home/<user>
映射到nfs驱动器时都可以正常工作。
答案 3 :(得分:2)
如果您正在使用Glib,则可以
const char *desktop_dir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
这正确地关注了XDG环境变量以及所有这些。
答案 4 :(得分:1)
我还没有测试过,但尝试使用echo echo ${XDG_DESKTOP_DIR:-$HOME/Desktop}
,这个cmd也许可以完成这项工作。
答案 5 :(得分:1)
实际上,这是xdg-user-dirs specs提供的最佳答案:
test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
echo ${XDG_DESKTOP_DIR:-$HOME/Desktop}
echo ${XDG_DOWNLOAD_DIR:-$HOME}