Linux作業系統擁有客製性極高的圖形使用者介面(Graphical User Interface, GUI),以及功能強大的文字(命令列)介面(Command Line Interface, CLI),一般Linux發行版會直接內建圖形介面,使用者安裝完Linux作業系統後,開機即可直接進入圖形介面。只是,在很多時候,我們可能不太希望使用到圖形介面,像是使用效能較差的硬體時,不開啟圖形介面可以省下不少的記憶體與CPU成本。或是系統僅用來作為伺服器時,因為要長時間開著,不使用圖形介面也可以省下不少的電力。
以文字介面開機
要如何讓原先開機會直接進入圖形介面的Linux作業系統,在開機時直接進入文字介面?通常只需修改systemd的設定即可。執行以下指令,可以將多人多工的文字介面設成開機後預設使用的介面。
重新開機後,就可以直接進入文字介面登入使用者帳號密碼來操作電腦了!
如果要改回預設進入圖形介面的話,就執行以下指令:
什麼是TTY?
使用文字介面的時候,會看到tty1、tty2之類的名稱,這是什麼東西呢?TTY是「Teletypes」這個字的縮寫,原意是打字機,引申為打字輸入的介面,也就是終端機(Terminal)的文字輸入介面。tty之後接的號碼,可以想像成是第幾台終端機,例如tty1就是第一台終端機。Linux預設有七台終端機,分別是tty1、tty2、tty3、tty4、tty5、tty6、tty7,tty7一般作為X-Window圖形介面使用。切換不同tty的方式很簡單,只要使用鍵盤快速鍵即可達成,按法為:「ctrl + alt + F1~F7」,「F」的號碼就代表tty的號碼。如按下Ctrl + Alt + F5就可以切換到tty5。
為什麼Linux要分好多台tty呢?因為Linux是一套多人多工的系統,它允許在同一時間使用多個相同或是不同的使用者帳號,來做不同的工作,系統在開機後預設創建多台的tty,可以有效增加使用者的工作效率。舉例來說,tty1在使用apt
處理套件的時候,還可以切換到tty2做其它如編輯文字檔案的工作。
TTY文字會出現方塊或是菱形亂碼的解決方法
在TTY文字介面下,不是英文的文字可能會顯示不出來,如下圖的中文都變成了菱形。
要解決文字變成亂碼的問題,就只能修改系統語系為英文了。修改tty的語言設定,可以使用export指令來修改該tty的環境變數,指令如下:
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
每次使用不同tty時都要打修改語言的指令實在麻煩,建議可以將指令寫成Bash迴圈程式,直接將指令套用到不同的tty上,並在一開機的時候自動執行這個迴圈程式,省得以後要一直重打。Linux不同使用者都擁有自己的家目錄,而家目錄底下的.bashrc
檔案會在登入Bash shell的時候先被執行,替該使用者預先做一些事情,因此這個修改tty語言的Bash迴圈程式,可以寫在.bashrc
檔案。使用文字編輯器開啟~/.bashrc
檔案,以vim
文字編輯器為例,指令如下:
將底下的Bash迴圈程式加到~/.bashrc
檔案的最尾端。
for ttyi in 1 2 3 4
do
if [ "$(tty)" = "/dev/tty$ttyi" ]; then
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
fi
done
存檔後,使用以下指令登出後再登入,tty1~tty4的語言就變成英文了!
在文字介面下,啟動和關閉圖形介面
使用文字介面操作系統,固然方便、快速又省資源,只是有時候還是會遇到不得不用圖形介面的時候,例如看PDF、HTML的文件的時候,這時還是需要一些方式來開啟和關閉圖形介面。
在開啟圖形介面前,需要先知道自己是使用哪種顯示管理器(Display Manager, DM),可以使用以下指令查看預設值。
以Linux Mint 21 Cinnamon為例,是使用lightdm
作為預設的Display Manager。
知道自己的Linux系統是使用哪種Display Manager之後,就可以使用systemctl
指令來開關圖形介面了!以lightdm
為例,開啟和關閉圖形介面的指令如下:
sudo systemctl start lightdm
# sudo systemctl stop lightdm
有興趣的人,還可以用free
指令來觀察開啟圖形介面時和關閉圖形介面時,系統記憶體的使用情形。