如何在gnome中获取桌面的path

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

我还没有测试,但尝试echo echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} ,这个CMD也许做的工作。

还有一种方法可以做到这一点:

 dir=$(xdg-user-dir DESKTOP) 

用户目录的位置在xdg-user-dirs规范中描述。 他们在这里提供了一些你可以复制的代码,从你的代码中查找桌面目录的名字。

如果你正在使用Glib,你可以做

 const char *desktop_dir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP); 

这正确地关注XDG环境变量和所有这一切。

 echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} 

在本地linux驱动器上工作正常,并且/home/<user>映射到nfs驱动器时也是如此。

实际上,这是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}