如何在gnome中获取Desktop的路径

时间:2010-12-05 09:12:57

标签: linux ubuntu internationalization gnome

我使用的是中文语言的gnome / Ubuntu-10.10,桌面路径不是“〜/ Desktop”而是“〜/ XXXX”,其中XXXX代表“桌面”的中文翻译。那么,如何编写代码来获取桌面的正确路径,而不管系统语言如何?我注意到Qt SDK在桌面上正确添加了一个快捷方式,所以我猜有一种方法。非常感谢!

6 个答案:

答案 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}