2010-12-05 108 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}