Contents

elementary OS 更換 Terminal 字形 & 設定 zsh 環境變數

在 elementary OS 上調整開發環境時,有兩件事很常一起出現:終端機字形想換掉,以及切到 zsh 之後,原本以為已經設定好的環境變數突然失效。這兩個問題看起來不相關,但本質上都和桌面設定來源、Shell 啟動流程有關。

更換 Terminal 字形

elementary OS 底層還是沿用 GNOME 那套設定系統,所以很多字形相關設定其實會落在 dconf 裡面。

如果要透過圖形工具調整,可以先安裝:

1
sudo apt-get install dconf-tools

之後透過 dconf-editor 去找:

1
org → gnome → desktop → interface → monospace-font-name

把它改成你想要的等寬字形即可。

如果不想開 GUI,也可以直接用命令設定:

1
dconf write /org/gnome/desktop/interface/monospace-font-name "'Monospace 12'"

為什麼 zsh 後環境變數會怪怪的

很多人原本習慣把 PATH 或其他變數寫在 .bash_profile.bashrc,但切到 zsh 後,讀取的設定檔就不一樣了。這時如果你還以為 zsh 會自動照 bash 的方式吃設定,通常就會發現變數不見。

一個直接做法

可以在 ~/.zshrc 裡面手動載入原本的 bash 設定:

1
source ~/.bash_profile

改完之後重新載入:

1
source ~/.zshrc

更好的做法

如果你已經決定長期使用 zsh,那比較乾淨的方式通常是直接把重要環境變數搬進 ~/.zshrc,而不是一直讓 zsh 去轉載 bash 的設定。

例如:

1
export PATH="$HOME/.composer/vendor/bin:$PATH"

這樣之後 Shell 行為會比較明確,也比較不容易在不同環境中混亂。

小結

elementary OS 的 Terminal 字形設定比較偏 GNOME 風格,要從 dconf 那條路去改;而 zsh 的環境變數問題,則是因為它和 bash 讀的設定檔不同。把這兩件事分開理解,調整開發環境時就會順很多。