Lui*_*ano 8 directory freedesktop home
环境:Debian 7,gnome-shell。
我不喜欢有桌面文件夹和主文件夹。我喜欢所有应用程序都使用我的主文件夹。具体来说,我关注nautilus
和gnome-terminal
。
我将 nautilus 设置为使用 Home 作为桌面 usingdconf-editor
和 property org.gnome.nautilus.preferences.desktop-is-home-dir==true
。
这很好用。
但是当我启动时,gnome-terminal
它会在/home/username/Desktop
. 这非常烦人,因为我不使用该目录。
我确定我的主目录设置正确:
$ grep username /etc/passwd
username:x:1000:1000:username,,,:/home/username:/bin/bash
$ echo $HOME
/home/username
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变这种行为,让 shell 从 开始/home/username
?
您实际上想要禁用该Desktop
目录并阻止 DE 自动重新创建它。
简短回答:
编辑~/.config/user-dirs.dirs
并将XDG_DESKTOP_DIR
值更改为$HOME
:
XDG_DESKTOP_DIR="$HOME"
Run Code Online (Sandbox Code Playgroud)
长答案:
如何禁用/重新定位用户目录(桌面、图片、文档等)?
在freedesktop
兼容的 DE 上,这是通过XDG
用户目录配置文件完成的,即$(XDG_CONFIG_HOME)/user-dirs.dirs
:
$(XDG_CONFIG_HOME)/user-dirs.dirs 指定用户的当前目录集。
如果未设置或为空,则XDG_CONFIG_HOME
默认为~/.config
so,对于大多数用户而言,有问题的文件是~/.config/user-dirs.dirs
.
应用程序读取此文件以查找这些目录。该文件由key=value
成对组成,每行一个。
默认位置是:
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_TEMPLATES_DIR="$HOME/.Templates"
XDG_VIDEOS_DIR="$HOME/Videos"
Run Code Online (Sandbox Code Playgroud)
要重新定位某个目录,请编辑配置文件并将当前值替换为您选择的位置,例如
XDG_DOCUMENTS_DIR="/run/media/mybackupdrive/documents"
Run Code Online (Sandbox Code Playgroud)
要禁用某个目录,将其指向主目录:
XDG_DESKTOP_DIR="$HOME"
Run Code Online (Sandbox Code Playgroud)
对于那些喜欢 CLI 工具的人,XDG 提供了xdg-user-dirs:
搬迁视频:
xdg-user-dirs-update --set VIDEOS /media/bkdrive/myvideos
Run Code Online (Sandbox Code Playgroud)
查询视频当前位置:
xdg-user-dir VIDEOS
/media/bkdrive/myvideos
Run Code Online (Sandbox Code Playgroud)
注:
经过配置user-dirs.dirs
,如果一些用户的DIR是在不是在启动时访问驱动器,你可能要禁用/etc/xdg/user-dirs.conf
(如果您的系统上),即编辑的enabled
行改为:
enabled=False
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅此讨论。