像Ubuntu這類對用戶友善的Linux發行版,會在安裝的時候幫你搞定語言的問題。當你選中文安裝,家目錄下的常用資料夾也會變成中文的,如圖所示。
不過對於需要常常使用終端機打指令的用戶,肯定會不太方便。切換目錄的時候得切換輸入法,如cd ~/下載
肯定不如cd ~/Downloads
要快速,很是麻煩。甚至有人因為這樣,索性只裝英文版的系統,然後再設定中文語言套件,可是這樣就讓Linux不好用的了說!
其實這個問題可以用一個小技巧解決,讓你能夠使用中文的Ubuntu界面,資料夾卻是英文的。
你要知道的是,你想要英文的家目錄資料夾,絕對不是把中文的「下載」資料夾重新命名成英文「Downloads」就能解決的事情!如果這樣做,有些程式還是不會認你的「Downloads」資料夾,而是將檔案放到原本的「下載」資料夾。
我們要先從XDG User Dirs解決起。
1. 理解XDG User Dirs#
Linux各大桌面環境,包含GNOME、KDE Plasma、XFCE、Cinammon都是遵守XDG User Dirs標準的。
它定義了:DESKTOP、DOWNLOAD、TEMPLATES、PUBLICSHARE、DOCUMENTS、MUSIC、PICTURES、VIDEOS等常用的使用者資料夾。
xdg-user-dirs-update
指令就是用來生成上述資料夾的。
第一次登入桌面的時候,應該會自動執行xdg-user-dirs-update
,依照使用者的語言自動生成XDG User Dirs資料夾。這就是為何你會看到「下載」而非「Downloads」資料夾的緣故。
然後,xdg-user-dirs-update
會將實際指向的資料夾設定檔,寫在~/.config/user-dirs.dirs
和~/.config/user-dirs.locale
。裡面的XDG環境變數記載了真正的下載資料夾路徑在哪裡。
如果程式在存取使用者家目錄的時候,是依照XDG的環境變數去存取,而非寫死絕對路徑,那麼它就能知道使用者真正的「下載」資料夾在哪裡。這樣程式能夠依照使用者目前語言的設定,找到使用者目前使用中的「下載」資料夾。
當我們要把XDG User Dirs改回英文的時候,就得注意以上問題。
2. 將家目錄資料夾改成英文#
- 執行以下指令,將環境變數暫時設定為英文,強制生成英文資料夾
LC_ALL=C.UTF-8 xdg-user-dirs-update --force
開啟檔案管理器,可看到生成了英文版的XDG User Dirs資料夾。不過原本資料夾不會刪除,檔案要手動搬移。
檢視內容
vim ~/.config/user-dirs.dirs
,可看到真正的下載資料夾路徑也變了。~/.config/user-dirs.dirs
裡面的環境變數是允許自訂的,像是你可以把XDG_DOWNLOAD_DIR="$HOME/Downloads
改為XDG_DOWNLOAD_DIR="$HOME/Download
,日後就會直接生效,不用再執行xdg-user-dirs-update
指令。