Linux 用户特殊目录:中文改英文 完整指南(比如“桌面”->“Desktop”)

Linux 用户特殊目录:中文改英文 完整指南

适用场景:安装 Linux 时选择了中文环境,导致"桌面""下载""文档"等文件夹变成了中文名称。
目标:将这些文件夹恢复为英文(Desktop、Downloads 等),同时保留系统的中文显示和输入能力。
适用系统:Debian系列/ RHEL系列 / Linux Mint 等使用 xdg-user-dirs 的发行版。


一、为什么会产生中文文件夹?

1.1 背后的机制:xdg-user-dirs

Linux 桌面系统(GNOME、KDE、XFCE 等)使用一个叫做 xdg-user-dirs 的工具来管理用户的"特殊目录"——也就是桌面、下载、文档、音乐、图片、视频这些常用文件夹。

它的工作流程是这样的:

用户登录
  → xdg-user-dirs-update 自动运行
    → 读取 /etc/xdg/user-dirs.defaults(英文默认名)
    → 读取 /etc/xdg/user-dirs.conf(开关配置)
    → 读取 /usr/share/xdg-user-dirs/<locale>.txt(翻译表)
    → 如果启用了翻译,就把英文目录名"翻译"成中文
    → 写入 ~/.config/user-dirs.dirs(实际路径)
    → 写入 ~/.config/user-dirs.locale(记录当前语言)

简单来说:系统默认存的是英文名,但你登录后,xdg-user-dirs-update 发现你的语言是中文(zh_CN),就会自动把目录名"翻译"成中文。

1.2 一个具体例子

假设 /etc/xdg/user-dirs.defaults 中写着:

DESKTOP=Desktop
DOWNLOAD=Downloads

中文翻译文件 /usr/share/xdg-user-dirs/zh_CN.txt 中写着:

Desktop 桌面
Downloads 下载
Documents 文档

那么当你用中文环境登录时:

  • 系统本应创建 Desktop 文件夹
  • 但翻译机制把它变成了 桌面
  • 并且记录到你的个人配置中

二、关键文件和目录详解

2.1 全局配置文件(影响所有用户)

文件路径 作用 示例
/etc/xdg/user-dirs.defaults 定义特殊目录的英文默认名称 DESKTOP=Desktop
/etc/xdg/user-dirs.conf 全局开关,控制是否启用翻译 enabled=True
/usr/share/xdg-user-dirs/zh_CN.txt 中文翻译对照表 Desktop 桌面
/etc/skel/ 新用户骨架目录,新用户创建时自动复制 包含 .bashrc 等模板文件

/etc/xdg/user-dirs.defaults 详解

这个文件定义了 8 个标准用户目录的英文名称:

DESKTOP=Desktop
DOWNLOAD=Downloads
TEMPLATES=Templates
PUBLICSHARE=Public
DOCUMENTS=Documents
MUSIC=Music
PICTURES=Pictures
VIDEOS=Videos

原理:这些是"根名称",系统会基于它们创建实际的文件夹。如果启用了翻译,系统会拿着这些英文名去翻译表里查找对应的中文名。

💡 类比理解:这就像一个字典的"原文"部分,翻译时查表找到对应的"译文"。

/etc/xdg/user-dirs.conf 详解

enabled=True
filename_encoding=UTF-8
  • enabled=True:表示登录时自动执行翻译,把英文目录名翻译成本地语言。
  • enabled=False:表示不翻译,保持英文名称。

这就是控制"中文/英文文件夹"的总开关!

/usr/share/xdg-user-dirs/zh_CN.txt 翻译表

内容格式为 英文名 中文名,每行一对:

Desktop 桌面
Download 下载
Templates 模板
Publicshare 公共
Documents 文档
Music 音乐
Pictures 图片
Videos 视频

⚠️ 注意:你不需要修改这个文件。它是系统的翻译字典,我们只是告诉系统"不要使用这个翻译"。

/etc/skel/ 骨架目录

$ ls -la /etc/skel/
.bash_logout
.bashrc
.face
.profile

原理:当你用 adduseruseradd 创建新用户时,系统会把 /etc/skel/ 里的所有文件复制到新用户的家目录。这就是为什么新用户会有默认的 .bashrc 等配置文件。

💡 延伸知识:如果你想让所有新用户都自带某些配置文件,就把文件放到 /etc/skel/ 里。


2.2 用户个人配置文件(每个用户独立)

文件路径 作用
~/.config/user-dirs.dirs 记录每个特殊目录的实际路径
~/.config/user-dirs.locale 记录该用户上次使用的语言环境

~/.config/user-dirs.dirs 详解

XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下载"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_PUBLICSHARE_DIR="$HOME/公共"
XDG_DOCUMENTS_DIR="$HOME/文档"
XDG_MUSIC_DIR="$HOME/音乐"
XDG_PICTURES_DIR="$HOME/图片"
XDG_VIDEOS_DIR="$HOME/视频"

原理:这是 xdg-user-dirs-update 运行后生成的结果文件。桌面环境(如 GNOME 的文件管理器)会读取这个文件来知道"桌面"文件夹到底在哪里。

💡 XDG 是什么:XDG 是 freedesktop.org 制定的一组桌面系统标准规范,目的是让不同的 Linux 桌面环境能兼容。类似的还有 XDG_CONFIG_HOME(配置目录)、XDG_DATA_HOME(数据目录)等。

~/.config/user-dirs.locale 详解

zh_CN

原理:这个文件只有一行,记录了上次运行翻译时使用的语言代码。当用户下次登录时,xdg-user-dirs-update 会检查这个文件:

  1. 如果内容是 zh_CN → 使用中文翻译
  2. 如果内容是 en_US → 不翻译,保持英文
  3. 如果文件不存在 → 使用系统当前 locale

💡 关键点:把这个文件改成 en_US 或删除它,就能阻止系统把目录名翻译成中文。


三、Locale(语言环境)基础

3.1 什么是 Locale?

Locale 是 Linux 系统中定义语言和区域设置的机制,包括:

  • 系统界面语言
  • 日期格式
  • 数字格式
  • 货币符号
  • 字符排序规则
  • 编码方式

3.2 查看当前 Locale

$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
...

或者查看配置文件:

$ cat /etc/default/locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_ALL=zh_CN.UTF-8

3.3 重要概念

变量 含义
LANG 默认的语言环境
LANGUAGE 程序界面语言的优先级列表
LC_ALL 覆盖所有 LC_* 设置(优先级最高)
LC_CTYPE 字符分类和编码
LC_MESSAGES 系统消息语言

⚠️ 关键理解:我们只需要把用户目录名改成英文,不需要修改系统的 Locale
系统的 zh_CN.UTF-8 保持不变,中文输入法、中文字体、中文界面都不受影响。


四、实施步骤

4.1 第一步:阻止新用户自动生成中文目录

编辑全局配置文件 /etc/xdg/user-dirs.conf

sudo nano /etc/xdg/user-dirs.conf

enabled=True 改为 enabled=False

# 修改前
enabled=True

# 修改后
enabled=False

原理enabled=False 后,xdg-user-dirs-update 在用户登录时不会再自动翻译目录名
此时它会直接使用 /etc/xdg/user-dirs.defaults 中定义的英文名称(Desktop、Downloads 等)。

效果

  • ✅ 之后创建的新用户,登录时自动创建英文目录(Desktop、Downloads 等)
  • ⚠️ 已有用户不受影响(因为他们已经有 ~/.config/user-dirs.dirs 个人配置了)

4.2 第二步:修改当前用户的配置

以下步骤针对每个已有用户分别执行。以 recode 用户为例:

2.1 修改 user-dirs.locale

# 方法一:将语言改为英文
echo "en_US" > ~/.config/user-dirs.locale

# 方法二:直接删除这个文件(效果相同)
rm ~/.config/user-dirs.locale

原理xdg-user-dirs-update 下次运行时,看到这个文件是 en_US(或文件不存在),就不会再把目录名翻译成中文了。

2.2 修改 user-dirs.dirs

nano ~/.config/user-dirs.dirs

将所有中文路径替换为英文:

# 修改前
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下载"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_PUBLICSHARE_DIR="$HOME/公共"
XDG_DOCUMENTS_DIR="$HOME/文档"
XDG_MUSIC_DIR="$HOME/音乐"
XDG_PICTURES_DIR="$HOME/图片"
XDG_VIDEOS_DIR="$HOME/视频"

# 修改后
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

原理:桌面环境读取这个文件来定位用户的特殊目录。修改后,系统就会去寻找英文名称的文件夹。

2.3 重命名实际的文件夹

cd ~
mv 桌面 Desktop
mv 下载 Downloads
mv 模板 Templates
mv 公共 Public
mv 文档 Documents
mv 音乐 Music
mv 图片 Pictures
mv 视频 Videos

原理解释 mv 命令

  • mv 是 move(移动)的缩写
  • 在同一个文件系统内,mv 本质上是重命名,而不是复制+删除
  • 所以即使文件夹里有大量文件,这个操作也几乎是瞬间完成

💡 验证一下mv 桌面 Desktop 后,原来的 桌面 文件夹就不存在了,内容完全保留在 Desktop 中。

2.4 重新登录

修改完成后,注销并重新登录(或者重启),让桌面环境重新读取配置文件。

2.5 ⚠️ 重要:重新登录后的检查和修复

重新登录后,立即检查桌面。你可能会遇到以下问题:

问题 A:桌面图标和文件全部消失,出现一个中文"桌面"文件夹

原因:某些桌面环境(如 XFCE)在 ~/Desktop/ 内部又自动创建了一个中文子文件夹,把原来的桌面文件都"包"在里面,而桌面环境只渲染 ~/Desktop/ 根目录,导致桌面看起来空白。

排查方法

ls -la ~/Desktop/

如果你看到类似这样的结构:

Desktop/
├── 桌面/          ← 你的文件都在这里面
│   ├── 1111.txt
│   ├── firefox-esr.desktop
│   └── ...
└── .directory

修复方法

# 1. 把文件移回 Desktop 根目录
cp ~/Desktop/桌面/* ~/Desktop/
cp ~/Desktop/桌面/.* ~/Desktop/ 2>/dev/null  # 复制隐藏文件

# 2. 删除多余的中文子文件夹
rm -rf ~/Desktop/桌面

# 3. 如果用了 root 操作,修正文件所有者
sudo chown $USER:$USER ~/Desktop/* ~/Desktop/.* 2>/dev/null
问题 B:桌面快捷方式点击无效

原因:桌面上的 .desktop 快捷方式原本是符号链接(symlink),指向 /usr/share/applications/ 下的原始文件。如果操作过程中使用了 cp 复制,符号链接会被"解引用"变成普通文件,导致点击异常。

排查方法

ls -la ~/Desktop/*.desktop

正常的符号链接应该是这样(带 -> 箭头):

lrwxrwxrwx 1 recode recode 38 4月 11 12:54 cursor.desktop -> /usr/share/applications/cursor.desktop

如果显示的是普通文件(没有 ->),则需要恢复为符号链接。

修复方法(以 firefox-esr.desktop 为例):

cd ~/Desktop
# 删除错误的普通文件
rm firefox-esr.desktop
# 重新创建符号链接
ln -s /usr/share/applications/firefox-esr.desktop firefox-esr.desktop

批量恢复所有快捷方式:

cd ~/Desktop
for f in *.desktop; do
    target=$(grep -oP 'Exec=\K.*' "$f" 2>/dev/null || echo "")
    # 更简单的方法:直接检查原链接是否存在
    [ -f "/usr/share/applications/$f" ] && rm -f "$f" && ln -s "/usr/share/applications/$f" "$f"
done
问题 C:文件所有者变为 root

原因:如果用 sudo 或 root 用户执行了 cpmv 等操作,文件所有者会变成 root,导致桌面环境无法正确读取文件(图标显示为空白)。

排查方法

ls -la ~/Desktop/

如果看到文件所有者是 root 而不是你的用户名:

修复方法

# 把 $USER 替换为你的用户名
sudo chown $USER:$USER ~/Desktop/*
sudo chown $USER:$USER ~/Desktop/.* 2>/dev/null

💡 提示:重启桌面环境后如果图标仍不显示,可以尝试:

xfdesktop --reload    # XFCE 桌面
# 或
killall plasmashell && plasmashell &  # KDE 桌面

4.3 第三步(可选):如果有其他用户

如果系统上还有其他用户,需要对每个用户重复第二步的操作。

可以用脚本批量处理(以用户名为 user2 为例):

# 切换到目标用户的家目录
cd /home/user2

# 修改配置
echo "en_US" > .config/user-dirs.locale

# 替换 user-dirs.dirs 中的中文路径为英文
sed -i 's|/桌面|/Desktop|g; s|/下载|/Downloads|g; s|/模板|/Templates|g; s|/公共|/Public|g; s|/文档|/Documents|g; s|/音乐|/Music|g; s|/图片|/Pictures|g; s|/视频|/Videos|g' .config/user-dirs.dirs

# 重命名文件夹
[ -d "桌面" ] && mv 桌面 Desktop
[ -d "下载" ] && mv 下载 Downloads
[ -d "模板" ] && mv 模板 Templates
[ -d "公共" ] && mv 公共 Public
[ -d "文档" ] && mv 文档 Documents
[ -d "音乐" ] && mv 音乐 Music
[ -d "图片" ] && mv 图片 Pictures
[ -d "视频" ] && mv 视频 Videos

# 修正文件所有者(因为是用 root 操作的)
chown user2:user2 .config/user-dirs.locale .config/user-dirs.dirs Desktop Downloads Templates Public Documents Music Pictures Videos

⚠️ 注意:如果用户当前正在登录,需要先注销他们,或者以 root 身份操作。


五、验证

重新登录后,运行以下命令验证:

# 查看用户目录,应该看到英文名称
ls ~/

# 查看配置,路径应该是英文的
cat ~/.config/user-dirs.dirs

# 查看 locale,应该仍然是中文(这是正常的)
locale

此时:

  • ✅ 文件夹名称是英文的(Desktop、Downloads 等)
  • ✅ 系统界面仍然是中文
  • ✅ 中文输入法正常工作
  • ✅ 中文字体正常显示

六、常见问题

Q1:改了之后桌面上的东西不见了?

原因 1:桌面文件夹从 ~/桌面 变成了 ~/Desktop,桌面上的图标和文件都在新位置里。

原因 2:某些桌面环境(如 XFCE)可能在 ~/Desktop/ 内部又创建了一个中文子文件夹,把文件"包"了进去。

解决

  1. 先检查文件是否在 ~/Desktop/桌面/ 里:ls ~/Desktop/
  2. 如果是,按照文档 2.5 节 问题 A 的方法修复
  3. 如果桌面仍然空白,尝试重启桌面环境:xfdesktop --reload

Q1-1:桌面快捷方式点击无效?

按照文档 2.5 节 问题 B 的方法,恢复符号链接即可。

Q1-2:桌面图标显示为空白?

按照文档 2.5 节 问题 C 的方法,修正文件所有者即可。

Q2:会不会影响中文输入法?

不会。 中文输入法依赖的是 LANG=zh_CN.UTF-8 和输入法框架(如 fcitx、ibus),和目录名称无关。

Q3:软件还能找到我的下载文件夹吗?

能。 浏览器和其他软件通过读取 ~/.config/user-dirs.dirs 来定位下载目录,我们更新了这个文件里的路径,所以它们会正确地找到 ~/Downloads

Q4:我能不能只改某几个目录?比如只改"桌面"和"下载"?

可以。 只需要修改 ~/.config/user-dirs.dirs 中对应的行,并且 mv 重命名对应的文件夹即可。不需要全部改。


七、其他 Linux 发行版的情况

7.1 使用 xdg-user-dirs 的发行版(同样适用)

以下发行版默认使用 xdg-user-dirs,本方案完全适用

发行版家族 发行版
Debian 系 Debian、Ubuntu、Linux Mint、Pop!_OS、Deepin、UOS
Red Hat 系 Fedora、RHEL、CentOS、Rocky Linux
Arch 系 Arch Linux、Manjaro(安装了 xdg-user-dirs 时)
openSUSE openSUSE Leap / Tumbleweed

判断方法:

# 检查是否安装了 xdg-user-dirs
dpkg -l | grep xdg-user-dirs     # Debian/Ubuntu
rpm -qa | grep xdg-user-dirs     # Fedora/RHEL/openSUSE
pacman -Q | grep xdg-user-dirs   # Arch/Manjaro

7.2 不适用 xdg-user-dirs 的情况

如果系统没有安装 xdg-user-dirs,那中文文件夹可能是以下原因产生的:

情况 说明 解决方案
桌面环境自带 某些桌面环境有自己的目录管理机制 查看对应桌面环境的文档
手动创建 用户自己创建了中文名的文件夹 直接 mv 重命名即可
其他工具 gtk 的一些工具 通常直接重命名文件夹即可

7.3 没有 xdg-user-dirs 怎么办?

如果没装这个工具,反而更简单——直接重命名文件夹即可:

mv ~/桌面 ~/Desktop
mv ~/下载 ~/Downloads
# ... 其他同理

然后确保各软件的配置指向新路径即可。


八、Red Hat 系列(CentOS / RHEL / Fedora / Rocky Linux)完整指南

8.1 原理是否相同?

完全相同。 Red Hat 系列发行版同样使用 xdg-user-dirs 来管理用户特殊目录,核心机制与 Debian 完全一致:

  • 配置文件路径相同:/etc/xdg/user-dirs.conf~/.config/user-dirs.dirs
  • 翻译文件路径相同:/usr/share/xdg-user-dirs/<locale>.txt
  • 工作流程相同:登录时 xdg-user-dirs-update 自动运行并翻译目录名

所以前面的所有章节(原理、配置文件、操作步骤、问题排查)对 Red Hat 系列同样适用

8.2 与 Debian 的主要差异

差异点 Debian/Ubuntu CentOS/RHEL/Fedora/Rocky
包管理器 apt / dpkg yum / dnf / rpm
检查安装命令 dpkg -l | grep xdg-user-dirs rpm -qa | grep xdg-user-dirs
安装命令 sudo apt install xdg-user-dirs sudo dnf install xdg-user-dirs(Fedora/Rocky 9+)
sudo yum install xdg-user-dirs(CentOS 7/8)
Locale 配置文件 /etc/default/locale /etc/locale.conf
默认桌面环境 GNOME / XFCE(因版本而异) GNOME(默认)/ KDE / XFCE(可选)
重启 GNOME 桌面命令 gnome-shell --replace & killall -3 gnome-shell 或重新登录

💡 关键提示/etc/locale.conf 是 Red Hat 系列的 Locale 配置文件(对应 Debian 的 /etc/default/locale),但我们不需要修改它

8.3 CentOS/RHEL/Fedora 操作步骤

检查 xdg-user-dirs 是否已安装

rpm -qa | grep xdg-user-dirs

如果没有任何输出,说明未安装:

# Fedora / Rocky Linux 9+
sudo dnf install xdg-user-dirs

# CentOS 7/8 / RHEL 7/8
sudo yum install xdg-user-dirs

执行修改(与 Debian 完全相同)

# 1. 全局开关(影响新用户)
sudo nano /etc/xdg/user-dirs.conf
# 将 enabled=True 改为 enabled=False

# 2. 当前用户的语言设置
echo "en_US" > ~/.config/user-dirs.locale

# 3. 修改目录路径配置
nano ~/.config/user-dirs.dirs
# 将所有中文路径替换为英文(参见文档 2.2 节)

# 4. 重命名实际文件夹
cd ~
mv 桌面 Desktop
mv 下载 Downloads
mv 模板 Templates
mv 公共 Public
mv 文档 Documents
mv 音乐 Music
mv 图片 Pictures
mv 视频 Videos

8.4 CentOS/RHEL 特有的桌面环境问题

GNOME 桌面的额外注意事项

CentOS/RHEL 默认使用 GNOME 桌面环境。GNOME 对 xdg-user-dirs 的依赖非常强,但它的桌面渲染方式与 XFCE 有所不同:

GNOME 桌面图标管理

  • GNOME 40+(Fedora / Rocky 9+):桌面图标由 GNOME Shell 扩展 管理,默认可能不显示桌面图标
  • GNOME 3.x(CentOS 7/8):桌面图标由 Nautilus(文件管理器)管理

如果修改后桌面图标不显示,尝试:

# 方法 1:重启 GNOME Shell(按 Alt+F2,输入 r,回车)
# 这是 GNOME 的软重启,不会关闭已打开的程序

# 方法 2:如果命令行操作
killall -3 gnome-shell
# 或者
gnome-shell --replace &

GNOME 桌面图标扩展

如果 GNOME 默认不显示桌面图标,可以安装扩展:

# Fedora
sudo dnf install gnome-extensions-app

# 然后启用 "Desktop Icons" 扩展

检查 GNOME 是否正确识别了新的桌面路径

# 查看 GNOME 的 XDG 目录配置
cat ~/.config/user-dirs.dirs | grep DESKTOP

# 应该显示:XDG_DESKTOP_DIR="$HOME/Desktop"

8.5 CentOS 7 特别注意:可能默认未安装 xdg-user-dirs

CentOS 7 的最小安装可能不包含 xdg-user-dirs。如果 rpm -qa | grep xdg-user-dirs 没有输出:

情况 1:未安装,但文件夹仍然是中文的

这说明中文文件夹是安装桌面环境时手动创建的,或者其他工具生成的。此时直接 mv 重命名即可:

mv ~/桌面 ~/Desktop
mv ~/下载 ~/Downloads
# ... 其他同理

然后手动创建配置文件:

mkdir -p ~/.config
cat > ~/.config/user-dirs.dirs << 'EOF'
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
EOF

echo "en_US" > ~/.config/user-dirs.locale

情况 2:未安装,需要安装

sudo yum install xdg-user-dirs

安装后,可以手动运行一次来生成配置:

xdg-user-dirs-update

九、命令速查表

命令 作用 示例
locale 查看当前语言环境 locale
cat /etc/default/locale 查看系统默认 locale cat /etc/default/locale
mv 旧名 新名 重命名文件/目录 mv 桌面 Desktop
nano 文件 文本编辑器(命令行) nano ~/.config/user-dirs.dirs
sed -i 's/旧/新/g' 文件 批量替换文件内容 sed -i 's/桌面/Desktop/g' ~/.config/user-dirs.dirs
echo "内容" > 文件 写入内容到文件(覆盖) echo "en_US" > ~/.config/user-dirs.locale
ls ~/ 列出家目录内容 ls ~/
chown 用户:组 文件 修改文件所有者 chown recode:recode ~/Desktop

十、总结

核心原理一句话

中文文件夹是 xdg-user-dirs-update 在登录时自动"翻译"产生的。关闭翻译开关(enabled=False),修改个人配置,重命名文件夹,就能恢复英文名称,同时不影响系统的中文功能。

操作清单

风险提示

风险 等级 说明
脚本或配置中硬编码了中文路径 检查一下是否有 ~/桌面 这样的硬编码引用
桌面图标暂时消失 重新登录后可能出现,详见 2.5 节
快捷方式(符号链接)被破坏 cp 操作会解引用符号链接,需注意保留
文件所有者变为 root 使用 root 操作后需 chown 修正
系统中文功能受影响 Locale 不变,中文输入/显示正常

posted @ 2026-04-11 13:13  Lthis  阅读(7)  评论(0)    收藏  举报