2010-12-05 28 views
7

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

+1

这个问题应该是超级用户 – 2010-12-05 09:20:36

+2

“?如何编写代码,以获得桌面的正确的路径,无论系统语言的” - 听起来像编程给我。 – 2010-12-05 17:20:23

回答

1

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

+0

它的工作原理。谢谢! – FlareCat 2010-12-05 09:35:27

4

用户目录的位置在xdg-user-dirs规范中有描述。它们提供了一些代码here,您可以复制该代码以从代码中查找桌面目录的名称。做

13

另一种方式:

dir=$(xdg-user-dir DESKTOP) 
2
echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} 

正常工作在本地的Linux驱动器上,也当/home/<user>被映射到NFS驱动器。

2

如果使用的是油腔滑调,你可以做

const char *desktop_dir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP); 

这正常注重XDG环境变量和所有。

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}