如何防止用户主目录中的文件夹显示在他的桌面上?

如何防止用户主目录中的文件夹显示在他的桌面上?

在之前运行 Xubuntu 18.04 的笔记本电脑上安装 Xubuntu 22.04 后(不改变其现有分区/home,我只是/home在安装期间指定其现有分区),我必须重复所有配置(面板、桌面外观、Firefox 配置、快捷方式、自动启动应用程序……)。我还必须像以前在旧系统上一样创建用户和组(我希望这样做时没有为他们创建新的主目录)。

为了节省第二个用户的配置工作量,我只需.config从第一个用户的主目录中复制隐藏文件夹即可,我已经为第一个用户建立了所有这些设置。当然,在继续操作之前,我调整了用户主目录的所有者和访问权限。

该方法在其他情况下效果很好,其他用户只需要进行少量的微调操作(比如修改桌面背景外观和其他用户特定的内容)。

但有一件事真的很奇怪,我不知道该如何应对:

该用户主目录中的所有基本文件夹都显示在桌面上就像它们是该用户目录的一部分一样 ~/Arbeitsfläche(桌面)!这些目录没有显示为链接,而是好像它们真的位于他的个人文件夹中desktop,但它们并不在那里,正如 Thunar 所显示的那样。但是,如果我将其中一个目录删除到垃圾箱,它也会从该用户的主目录中删除!

在德语本地化中,文件夹桌面有时被称为Arbeitsfläche,在其他情况下被称为Schreibtisch。我已经提交了问题1466339真正定义该文件夹名称的是什么。

我不知道是什么导致了这种奇怪的行为,也不知道如何防止像、、、、、……这样的文件夹Bilder显示在那里Dokumente,而文件夹的内容不显示,而是显示文件夹本身!DownloadsMusikÖffentlichsnapVorlagenArbeitsflächeSchreibtisch

我怎样才能解决这个问题?

答案1

罪魁祸首是文件~/.config/user-dirs.dirs。其内容是(正确的情况下):

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/Schreibtisch"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Vorlagen"
XDG_PUBLICSHARE_DIR="$HOME/Öffentlich"
XDG_DOCUMENTS_DIR="$HOME/"
XDG_MUSIC_DIR="$HOME/"
XDG_PICTURES_DIR="$HOME/Bilder"
XDG_VIDEOS_DIR="$HOME/"

关于 XDG_DESKTOP_DIR 的行读取

XDG_DESKTOP_DIR=“$HOME/”

正如文件的前缀所示,对它的所有更改都是保留在下次启动时,但我观察到它们回滚。有人遇到语言障碍了吗?评论首先提到xdg-user-dirs-update。查看它的手册页,它会更新文件 的当前状态user-dirs.dir。如果在调用它之前不存在,则根据系统默认值创建一个,或者如果存在这样的目录,则返回到旧的未翻译文件名。使用的旧目录列表为~/Desktop~/Templates~/Public

Schreibtisch在我的情况下,该行中缺少该单词XDG_DESKTOP_DIR="$HOME/Schreibtisch"。删除后~/.config/user-dirs.dirs,调用xdg-user-dirs-update会创建一个新版本,其中包含相应的行

XDG_DESKTOP_DIR="$HOME/Schreibtisch"

在采用此成功方法之前,我曾遵循以下建议:注销,更改此行并再次登录。但此方法无效:更改已消失,因为xdg-user-dirs-update在登录过程的早期就已调用。

为了将文件重置为默认值,我首先将其重命名~/.config/user-dirs.dirsuser-dirs.dir.bak,然后调用xdg-user-dirs-update。我检查了桌面目录的名称。在我的情况下,它已经变成了Schreibtisch(不同于Arbeitsfläche安装 Xubuntu 22.04 后自动赋予第一个配置用户的目录)。因此,我将第二个用户的桌面文件夹重命名为Schreibtisch

(安装后,第一个用户的桌面文件夹的德文名称是Arbeitsfläche。为了使其与已安装的系统一致,我将Schreibtsch第二个用户的现有桌面文件夹重命名为Arbeitsfläche。令我惊讶的是,它花费的时间比预期的要长。在修复~/.config/user-dirs.dirs文件夹名称变为之后Schreibtisch,我不得不恢复我最初对文件夹的重命名。)

将其重命名为与放入的内容一致user-dirs.dir,注销并再次登录后,新创建的文件user-dirs.dir生效。 前一个文件夹的内容Schreibtisch显示为桌面,第二个用户的标准文件夹已从其桌面上消失。 我删除了它user-dirs.dir.bak,对结果很满意。

~/.config不建议将一个配置良好的用户克隆到另一个用户。我搜索了~/.config包含字符串的文件/home/<first user>并将其替换为/home/<second user>。有几个文件需要进行这样的更改。

相关内容