Linux作業系統擁有客製性極高的圖形使用者介面(Graphical User Interface, GUI),以及功能強大的文字(命令列)介面(Command Line Interface, CLI),一般Linux發行版會直接內建圖形介面,使用者安裝完Linux作業系統後,開機即可直接進入圖形介面。只是,在很多時候,我們可能不太希望使用到圖形介面,像是使用效能較差的硬體時,不開啟圖形介面可以省下不少的記憶體與CPU成本。或是系統僅用來作為伺服器時,因為要長時間開著,不使用圖形介面也可以省下不少的電力。



以文字介面開機

要如何讓原先開機會直接進入圖形介面的Linux作業系統,在開機時直接進入文字介面?通常只需修改systemd的設定即可。執行以下指令,可以將多人多工的文字介面設成開機後預設使用的介面。

sudo systemctl set-default multi-user.target

linux-text

重新開機後,就可以直接進入文字介面登入使用者帳號密碼來操作電腦了!

linux-text

linux-text

如果要改回預設進入圖形介面的話,就執行以下指令:

sudo systemctl set-default graphical.target

什麼是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文字介面下,不是英文的文字可能會顯示不出來,如下圖的中文都變成了菱形。

linux-text

要解決文字變成亂碼的問題,就只能修改系統語系為英文了。修改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文字編輯器為例,指令如下:

vim ~/.bashrc

linux-text

linux-text

將底下的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

linux-text

存檔後,使用以下指令登出後再登入,tty1~tty4的語言就變成英文了!

logout

linux-text

linux-text

在文字介面下,啟動和關閉圖形介面

使用文字介面操作系統,固然方便、快速又省資源,只是有時候還是會遇到不得不用圖形介面的時候,例如看PDF、HTML的文件的時候,這時還是需要一些方式來開啟和關閉圖形介面。

在開啟圖形介面前,需要先知道自己是使用哪種顯示管理器(Display Manager, DM),可以使用以下指令查看預設值。

cat /etc/X11/default-display-manager

linux-text" />

以Linux Mint 21 Cinnamon為例,是使用lightdm作為預設的Display Manager。

知道自己的Linux系統是使用哪種Display Manager之後,就可以使用systemctl指令來開關圖形介面了!以lightdm為例,開啟和關閉圖形介面的指令如下:

sudo systemctl start lightdm
# sudo systemctl stop lightdm

linux-text

有興趣的人,還可以用free指令來觀察開啟圖形介面時和關閉圖形介面時,系統記憶體的使用情形。

linux-text