為什麼UNIX/Linux提供多個終端機?

為什麼UNIX/Linux提供多個終端機?

在 20 世紀 70 年代,我們擁有帶有 CUI(字元使用者介面)介面的硬體終端用於輸入/輸出。

現在,我們在 Unix/Linux 世界裡有了終端模擬器 ( Ctrl++ Alt) 。Fn

在 Ubuntu 作業系統中,我看到七個終端模擬器,其中 GUI 佔據了第七個終端模擬器 ( Ctrl++ )。AltF7

例如,這是我的第一個終端機 ( Ctrl++ Alt)F1模擬器

$ tty
/dev/tty0

為什麼Unix/Linux提供多個終端模擬器?

答案1

為什麼 UNIX/Linux [在控制台上]提供多個終端模擬器?

出於同樣的原因,您的 GUI 終端模擬器可能支援選項卡(例如 GNOME 終端),如果不支援(例如rxvt),那麼出於同樣的原因,啟動第二個 GUI 終端應用程式實例不會只是將第一個實例拉到前台並退出,從而迫使您使用第一個實例。

我在工作中通常至少使用 3 個終端窗口,而且通常更多:

  1. 我正在開發的系統伺服器端的文字編輯器

  2. 同一系統客戶端的文字編輯器

  3. 用於運行伺服器的命令視窗

我很少需要第四個終端來運行客戶端程序,因為它通常在其他地方運行(Web 應用程式、本機GUI 應用程式、行動應用程式等),但如果我為我的伺服器應用程式開發CLI 客戶端,我會有一個也為其打開單獨的終端。

過去,在sudo流行之前,我一直保持root終端打開。

如今,我很少在沒有 GUI 的情況下在控制台上互動地使用 Unix/Linux 盒子,但我經常以無頭方式運行它們並透過 SSH 存取它們。我選擇的 SSH 終端客戶端支援選項卡,配置如上。

我目前的嗜好項目之一讓我用真正的舊的玻璃終端偶爾,這意味著我不再有多個終端窗口,所以我終於了解了一些GNUscreen,這是我以前從未用過的程序,因為我有多個控制台終端或多個 GUI 終端。做什麼呢screen?除其他事項外,您可以配置它為您提供多個虛擬終端在單一螢幕上,就像 Linux 那樣Ctrl- Alt- 。Fx

答案2

這是幾乎所有(如果不是全部)Unix 和在 x86 硬體上運行的類 Unix 系統都提供的功能。有趣的是,虛擬控制台最初是由 Microsoft Xenix 在 80 年代初期在 Unix 中引入的,並且也可以在並發 CP/M 中使用。

此功能後來被整合到 AT&T SVR4 Unix、Solaris 中,並被 BSD 和 Linux 借用。

為什麼 UNIX/Linux 提供多個終端模擬器?

當它們第一次被引入時,運行這些 Unix 實現的機器沒有可用的圖形環境。雖然透過 RS232 線路將實體終端連接到中央 Unix 伺服器是標準做法,但如果目標只是讓單一使用者同時運行多個互動程序,那麼將多個終端連接到運行 Xenix 的標準 PC 就顯得有些過分了。虛擬終端為這個問題提供了一個優雅且方便的解決方案。

後來其他 Unix 實作也提供了相同的功能來滿足相同的需求。

當圖形環境(尤其是 X11)擴展時,能夠在同一螢幕上同時看到多個終端模擬器是一個重大改進。然而,虛擬控制台功能通常被保留,只是因為如果圖形環境因某種原因被凍結或功能失調,仍然可以輕鬆切換到控制台。

請注意,諸如screen和 之類的實用程式tmux比虛擬終端晚得多,以概括相同的功能。它們的優點是它們不僅可以在本機實體控制台上使用,還可以在本機或遠端的任何會話上使用(例如telnetssh)。當在實體控制台上使用時,虛擬控制台仍然很有用,因為它們在某些無能為力的情況下也能發揮作用screentmux例如 X11 被凍結,或者視窗已捕獲焦點但不釋放它。

zlogin -C zone基於容器的虛擬化(例如 Solaris 區域或 Linux LXC)也提供了一種分別透過和連接到容器控制台的方法lxc-console -t 0 -n container

答案3

我認為擁有額外終端模擬器的一個很好的理由是,如果您在圖形介面中做錯了什麼並且它變得無法使用,您可以快速切換到終端模擬器並糾正圖形介面中遇到的所有問題。當您變更視窗管理器或圖形介面的其他功能時,這種情況實際上經常發生。我想擁有更多的終端也會很有用,但是擁有 6 個主圖形介面似乎有點太多。

如果我錯了,請糾正我,但是是否可以從一個終端模擬器以不同的使用者身分執行多個命令?

答案4

您首先詢問的是名為 Linux 的核心的一個功能。不是一般的 Unix,也不是 Gnu。

至於為什麼,你得問作者。但我的猜測是,它允許非連網裝置(這裡我將 RS232 作為一種網路類型)的管理員登入並執行一些管理工作,而無需登出其他使用者。

相關內容