其实我已经忍了很久。
ubuntu在中文界面下面,自动创建了“桌面”,“文档”,图片 、公共的 、下载、 音乐、 视频等中文目录。
在命令行下操作的时候,要么切换到中文输入法,要么粘贴。如果在没有输入法的环境,可能操作这些目录都存在困难。
总觉得很别扭。我用Linux是为了提高效率,可是总是为了操作这些目录多按几个键甚至中断操作,得不偿失嘛。
windows操作系统虽然也有桌面,文档,图片,音乐之类的文件夹。但windows体贴的地方是,看到的是中文,而目录其实是英文。这样在没有中文环境下也可以进入。这就是所说的虚拟目录。
忍无可忍,无须再忍。放狗一找,原来这东西还有些来历,此前也并不是这样的。并且有很多人为此而苦恼,甚至干脆用英文系统,眼不见心不烦。
原来这是freedesktop.org为了方便群众搞的xgd-users-dirs ,在不同的语言下自动创建一些经常用到的目录。
xdg-user-dirs-update 这个工具会在系统登录阶段运行,它读取配置文件和用户目录信息,并创建用户本地语言版本的常用目录。设置到$(XDG_CONFIG_HOME)/user-dirs.dirs (XDG_CONFIG_HOME defaults to ~/.config),以便应用程序读取和使用这些目录。
- 我们可以先将目录都改成英文的。
export LANG=en_US
执行
xdg-user-dirs-gtk-update
这时会弹出一个配置界面,将所有中文的用户目录切换到英文。选中不再提示,确定。
这时,会删除没有内容的用户目录,但有内容的用户目录会保持。并创建相应的英文目录:
Desktop/Download/Templates/Public/Documents/Music/Pictures/Videos
此时,在位置里看到的常用中文目录已经换成英文目录。只需将原中文目录的内容拷贝到相应英文目录,并删除中文目录即可。
然后再执行
export LANG=zh_CN.UTF-8
以显示中文。
如果记不住该命令,很简单。注销。在登录界面选英语,进来后该对话框就会弹出来提示你是否切换用户目录了。切换完了注销,再切换成中文界面,但这时不要切换用户目录了。
2.显示中文,但实际是英文目录
这时,桌面也对应/home/zhouhh/Desktop,但“位置”里面,“主文件夹”,“桌面”点开都对应英文目录。
理想化的解决方案,是看到的目录是中文,但打开的目录是英文。和Windows操作系统一致。这样免得中英夹杂,影响视觉和心情。
其实这也是可以办到的。
点“位置”->"主文件夹",打开文件浏览器(Nautilus),
在书签菜单,选编辑书签
这时,可以将各英文用户目录的显示改成中文对应的“桌面”,“文档”,图片 、公共的 、下载、 音乐、 视频等。
改完,在任务栏的“位置”,看到也变成了中文。而打开的目录,却是英文。
这样,终于舒坦了。
3.相关配置 cd /etc/xdg
zhouhh@zhh64:/etc/xdg$ ls user*
user-dirs.conf user-dirs.defaults
zhouhh@zhh64:/etc/xdg$ vi user-dirs.defaults
Default settings for user directories
The values are relative pathnames from the home directory and
will be translated on a per-path-element basis into the users locale
DESKTOP=Desktop
DOWNLOAD=Downloads
TEMPLATES=Templates
PUBLICSHARE=Public
DOCUMENTS=Documents
MUSIC=Music
PICTURES=Pictures
VIDEOS=Videos
Another alternative is:
MUSIC=Documents/Music
PICTURES=Documents/Pictures
VIDEOS=Documents/Videos
该文件是xdg-user-dirs-update工具在用户登录时需要读取的目录配置。并根据user-dirs.conf决定如何翻译。
zhouhh@zhh64:/etc/xdg$ vi user-dirs.conf
This controls the behaviour of xdg-user-dirs-update which is run on user login
You can also have per-user config in ~/.config/user-dirs.conf, or specify
the XDG_CONFIG_HOME and/or XDG_CONFIG_DIRS to override this
enabled=True
This sets the filename encoding to use. You can specify an explicit
encoding, or "locale" which means the encoding of the users locale
will be used
filename_encoding=UTF-8
这是系统的缺省编码设置和是否启用设置。用户的在/home/zhouhh/.config下面。
可以由XDG_CONFIG_HOME XDG_CONFIG_DIRS 指定路径来读取配置。
zhouhh@zhh64:~$ vi .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/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"
可以看到我的配置都已经是英文了。