如何让 gnome 使用我的主文件夹作为桌面文件夹?

Lui*_*ano 8 directory freedesktop home

环境:Debian 7,gnome-shell。

我不喜欢有桌面文件夹和主文件夹。我喜欢所有应用程序都使用我的主文件夹。具体来说,我关注nautilusgnome-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

don*_*sti 9

您实际上想要禁用该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默认为~/.configso,对于大多数用户而言,有问题的文件是~/.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)

有关更多详细信息,请参阅讨论。