如何在Linux中不使用功能鍵在TTY之間切換
本簡(jiǎn)要指南介紹了在類 Unix 操作系統(tǒng)中如何在不使用功能鍵的情況下切換 TTY。在進(jìn)一步討論之前,我們將了解 TTY 是什么。正如在 AskUbuntu 論壇的一個(gè)答案中所提到的,TTY這個(gè)詞來(lái)自 TeleTYpewriter(電傳打字機(jī))。在 Unix 的早期,連接到計(jì)算機(jī)的用戶終端就是機(jī)電的電傳機(jī)或電傳打字機(jī)(簡(jiǎn)稱 tty)。從那時(shí)起,TTY 這個(gè)名稱繼續(xù)用于純文本控制臺(tái)。如今,所有文本控制臺(tái)都代表虛擬控制臺(tái),而不是物理控制臺(tái)。TTY 命令打印連接到標(biāo)準(zhǔn)輸入的終端的文件名。
在 Linux 中切換 TTY
默認(rèn)情況下,Linux 中有 7 個(gè) tty。它們被稱為 tty1、tty2……tty7。1 到 6 的 tty 只是命令行。第 7 個(gè) tty 是 GUI(你的 X 桌面會(huì)話)。你可以使用 CTRL+ALT+Fn 鍵在不同的 TTY 之間切換。例如,要切換到 tty1,我們按下 CTRL+ALT+F1。這就是 tty1 在 Ubuntu 18.04 LTS 服務(wù)器中的樣子。

如果你的系統(tǒng)沒(méi)有 X 會(huì)話, 只需要按下 Alt+Fn 鍵,不需要按下 CTRL。
在某些 Linux 版本中(例如,從 Ubuntu 17.10 開(kāi)始),登錄屏開(kāi)始使用 1 號(hào)虛擬控制臺(tái)。因此,你需要按 CTRL+ALT+F3 到 CTRL+ALT+F6 來(lái)訪問(wèn)虛擬控制臺(tái)。要返回桌面環(huán)境,請(qǐng)?jiān)?Ubuntu 17.10 及更高版本上按下 CTRL+ALT+F2 或 CTRL+ALT+F7。
目前為止我們看到我們可以使用 CTRL+ALT+Fn(F1 - F7)在 TTY 之間輕松切換。但是,如果出于任何原因你不想使用功能鍵,那么在 Linux 中有一個(gè)名為 chvt 的簡(jiǎn)單命令。
chvt N 命令讓你切換到前臺(tái)終端 N,這與按 CTRL+ALT+Fn 相同。如果它不存在,則創(chuàng)建相應(yīng)的屏幕。
讓我們?cè)囋囷@示當(dāng)前的 tty:
$ tty
我的 Ubuntu 18.04 LTS 服務(wù)器的示例輸出。

現(xiàn)在讓我們切換到 tty2。為此,請(qǐng)輸入:
$ sudo chvt 2
記住你需要在 chvt 命令一同使用 sudo。
現(xiàn)在,使用命令檢查當(dāng)前的 tty:
$ tty
你會(huì)看到 tty 現(xiàn)在已經(jīng)改變了。
同樣,你可以使用 sudo chvt 3 切換到 tty3,使用 sudo chvt 4 切換到 tty4 等等。
當(dāng)任何一個(gè)功能鍵不起作用時(shí),chvt 命令會(huì)很有用。
要查看活動(dòng)虛擬控制臺(tái)的總數(shù),請(qǐng)運(yùn)行:
$ fgconsole2
如你所見(jiàn),我的系統(tǒng)中有兩個(gè)活動(dòng)的虛擬終端。
你可以使用以下命令查看下一個(gè)未分配的虛擬終端:
$ fgconsole --next-available3
如果虛擬控制臺(tái)不是前臺(tái)控制臺(tái),并且它沒(méi)有打開(kāi)任何進(jìn)程來(lái)讀取或?qū)懭耄⑶椅丛谄淦聊簧线x擇任何文本,則它是未使用的。
要移除未使用的虛擬終端,只需鍵入:
$ deallocvt
上面的命令為所有未使用的虛擬控制臺(tái)釋放內(nèi)核內(nèi)存和數(shù)據(jù)結(jié)構(gòu)。簡(jiǎn)單地說(shuō),此命令將釋放連接到未使用的虛擬控制臺(tái)的所有資源。
有關(guān)更多詳細(xì)信息,請(qǐng)參閱相應(yīng)命令的手冊(cè)頁(yè)。
$ man tty$ man chvt$ man fgconsole$ man deallocvt
就是這些了。希望這很有用。還有更多的好東西。敬請(qǐng)關(guān)注!


























