当前用户桌面目录的路径存放在哪里?

Sha*_*375 3 command-line filesystems desktop-environment

我对 linux 很陌生,正在学习所有基础知识。当我这样做时,我意识到操作系统以不同的方式对待某些文件是多么奇怪 - 如果它们碰巧是与当前登录用户关联的桌面文件,则通过在 GUI 桌面环境中显示它们来命名。操作系统如何知道当前用户桌面目录的路径变量?对于黑客娱乐,是否可以更改为在 GUI 桌面上显示任意目录?

Arn*_*e97 6

桌面目录的默认路径因语言而异。因此,如果您的系统中存在,则比$HOME/Desktop可以从中获取更好的猜测xdg-user-dirs

$ xdg-user-dirs DESKTOP
/home/arnie97/??
Run Code Online (Sandbox Code Playgroud)

xdg-user-dirs主页还有另一种方式:

以下是如何找到桌面和下载目录的 shellscript 示例:

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}
Run Code Online (Sandbox Code Playgroud)

对于应用程序代码,希望各种桌面能够集成它并有一个很好的 API 来查找这些目录。


gra*_*us1 1

一般来说,在GNU/Linux(如Unix)中,用户的桌面目录可以用~/Desktop. 简写~/将扩展到主目录的任何内容,例如/path/to/home/username.

我应该澄清的是,大多数shell(例如 bash、ksh、csh 等)都会扩展~到主目录,但不是全部(例如 rc)。波形符是一个文字字符,因此您可以拥有一个文件~filename;因此,外壳的设计必须能够在一定条件下扩展波浪线。