十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
隨著計算機(jī)科技的不斷進(jìn)步和發(fā)展,操作系統(tǒng)也在不斷地更新迭代。其中,Linux 操作系統(tǒng)以其穩(wěn)定、開放和安全的特點備受關(guān)注。在 Linux 中,虛擬終端是一項非常強大且實用的功能,可以讓用戶同時操作多個終端,提高工作效率。了解 linux 虛擬終端包的使用方法,可以讓你更好地利用 Linux 操作系統(tǒng),提升你的工作效率。

廣河網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),廣河網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為廣河上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的廣河做網(wǎng)站的公司定做!
一、什么是 Linux 虛擬終端包
Linux 虛擬終端包是指系統(tǒng)內(nèi)置的一組虛擬終端工具,它可以讓用戶在同一窗口內(nèi)操作多個 shell 終端,極大地提高了用戶的工作效率。虛擬終端是 Linux 操作系統(tǒng)自帶的功能,它類似于 Windows 操作系統(tǒng)中的 tab 窗口,可以讓用戶通過切換虛擬終端快速地在各個終端之間進(jìn)行操作。
在 Linux 操作系統(tǒng)中,默認(rèn)情況下有 6 個虛擬終端,用戶可以在 GDM 登錄窗口中使用 Ctrl + Alt + F1 到 Ctrl + Alt + F6 快捷鍵切換到不同的虛擬終端中。此外,用戶也可以在進(jìn)入系統(tǒng)后通過使用 tty 命令來切換。
二、如何使用 Linux 虛擬終端包
在 Linux 中,用戶可以使用以下簡單的命令快速地實現(xiàn)虛擬終端的功能:
1. tty 命令:該命令可以顯示當(dāng)前所在的終端設(shè)備名稱,也可以通過 tty+數(shù)字 的形式切換到對應(yīng)的虛擬終端。例如,輸入 tty3 命令會切換到第三個虛擬終端。
2. Ctrl + Alt + F1 到 Ctrl + Alt + F6:該快捷鍵可以在 GDM 登錄窗口中切換到對應(yīng)的虛擬終端,也可以在系統(tǒng)內(nèi)部中按下快捷鍵切換到其他的虛擬終端。
使用虛擬終端的好處在于可以讓用戶同時打開多個 shell 終端,這樣就可以在一個終端上執(zhí)行一個任務(wù),而在另一個終端中查看任務(wù)的結(jié)果,從而大大提高了工作效率。
三、如何設(shè)置 Linux 虛擬終端包
Linux 虛擬終端包的使用需要用戶先行設(shè)置。具體方法如下:
1. 在使用虛擬終端之前,需要先進(jìn)入 tty1 終端,也就是按下 Ctrl + Alt + F1 快捷鍵,然后進(jìn)行登錄。
2. 修改 /etc/profile 文件,將默認(rèn)打開終端的數(shù)量從 6 改為想要的數(shù)量。例如,設(shè)置為 10,需要在 /etc/profile 文件中添加下面的內(nèi)容:
for i in {1..10}
do
/usr/bin/x-terminal-emulator &
done
3. 重啟系統(tǒng),這樣就可以打開指定數(shù)量的虛擬終端。
四、如何使用 Linux 虛擬終端
1. 切換虛擬終端:可以使用 tty 命令或者 Ctrl + Alt + F1 到 Ctrl + Alt + F6 快捷鍵進(jìn)行切換。
2. 關(guān)閉虛擬終端:可以使用 exit 命令或者 Ctrl + D 快捷鍵來關(guān)閉虛擬終端。
3. 列出所有的虛擬終端:可以使用 Ctrl + Alt + F7 快捷鍵來列出所有的虛擬終端。
4. 復(fù)制和粘貼文本:在虛擬終端中可以使用鼠標(biāo)中鍵進(jìn)行復(fù)制和粘貼操作。
五、使用 Linux 虛擬終端的技巧
1. 快速切換虛擬終端:可以使用 Alt + 方向鍵 進(jìn)行快速切換虛擬終端。例如,按下 Alt + ← 就可以切換到上一個虛擬終端。
2. 同時在多個虛擬終端中執(zhí)行命令:在一個虛擬終端中輸入命令,然后在另一個虛擬終端中使用 fg 命令將該命令掛起,并在后臺執(zhí)行。
3. 使用 screen 命令:screen 命令可以讓用戶在一個虛擬終端中同時執(zhí)行多個屏幕會話,從而避免打開多個虛擬終端窗口的麻煩。
4. 使用 tmux 命令:tmux 命令是一個更加強大的終端多路復(fù)用器,可以讓用戶在不同的窗格中同時操作多個 shell。
Linux 虛擬終端包是 Linux 操作系統(tǒng)中的一項非常實用的功能,可以讓用戶在一個窗口中同時操作多個虛擬終端,從而大大提高工作效率。掌握虛擬終端的使用方法和技巧,可以讓你更好地利用 Linux 操作系統(tǒng),提升你的工作效率。
相關(guān)問題拓展閱讀:
要想控制臺能支持漢字顯示,需要解決 3 個問題:
必須使用 UTF-8 模式 ( 默認(rèn) vc->utf=1 即可 )
虛擬控制臺的 vc_screenbuf 必須修改以為 glyph 提供至少 16bit 的空間。
圖形控制臺需要 vc_font包含更多的字符,不只是 255 個,并提供代碼繪制寬搭雙倍寬度的中文字形,字體中的字符按照 UNICODE
排列,這樣 glyph 就是字符的 UNICODE 編碼。
修改虛擬控制臺
一開始,我的打算是 vc_screenbuf 修改為 unsigned long long* 類型,32bit 給字符屬性,分別表示 16bit
終端前景色和背景色。glyph 則擁有 31bit 的空間 , 因為漢字的寬度為雙倍的英文字母 ,其中 1 bit 用來表示雙字符寬度。比慎并拿如 ‘我’ 會表達(dá)為
兩個 ‘我’,第二個’我’的更高位為 1:繪制任何字形的時候,只繪制字形的左半部分;如果發(fā)現(xiàn)更高位為 1
則繪制字圖中的右半部分。這樣同樣的繪制代碼可以適應(yīng)英文字母和漢字。寫入 vc_screenbuf 的時候,
如果是雙倍寬度的字符,需要同時寫入兩份,第二份的更高位置 1 就可以。但是 vc_screenbuf
的格式已經(jīng)被到處假定為每字符兩個字節(jié)。如此修改導(dǎo)致牽一發(fā)動全身。許多艱澀難懂的代碼都依賴 vc_screenbuf 是
每字符兩個字節(jié)的設(shè)定,直接修改定義后,光是編譯器能直接檢測出來的就有百余個地方需要修改,還有更多的邏輯并不能被編譯器檢測出來。如此修改的后果就是會出現(xiàn)許多隱晦的錯誤,非常難于調(diào)式。掙扎后,為最終選擇了另一條道路
:
為漢字重新分配一塊 vc_unicode_screenbuf
vc_unicode_screenbuf 緊挨著 vc_screenbuf , 事實上 vc_screenbuf
在分配空間的時候,多分配了一倍的空間,多分配的空間充作 vc_unicode_screenbuf,因此 struct vc_data 里并沒有添加
vc_unicode_screenbuf 成員。 vc_unicode_screenbuf 同樣為每字符 2 個字節(jié),并不包含字符屬性,所以 2
個字節(jié)如數(shù)用來保存 glyph。vc_screenbuf 格式未變,所以 vgacon 不需要修改,這就減少了大量的工作量。向 vc_screenbuf
寫入字符的時候,同時寫入一份到 vc_unicode_screenbuf 。如果蔽謹(jǐn)是漢字,由于其 glyph 大于 254 , 所以 vc_screenbuf
的那兩個字符 ( 漢字雙倍寬度 ) 實際寫入的是 0xff 和 0xfe ( 故而上文提到是 glyph 大于 254 的字符 ,0xfe 被保留它用了
)。0xff 表示該字符的 glyph 要到 vc_unicode_screenbuf 提取,然后繪制左半部分;0xfe 表示該字符的 glyph 要到
vc_unicode_screenbuf 提取,然后繪制右半部分。對于 glyph 大于 254 但是又不是雙倍寬度的字符,就不需要 0xfe
作陪了。比如屏幕上顯示的文字是黑底白字的 “牛 B” , vc_screenbuf 的內(nèi)容就是 “0x00ff, 0x0ffe, 0x0f42 ” ,
vc_unicode_screenbuf 的內(nèi)容則是 “牛 , 牛 ,b”
。這是因為一個漢字為兩倍的英文字母寬度。在屏幕文字緩沖區(qū)上也必須占用兩個字符的位置。并且必須有一種機(jī)制能知道應(yīng)該繪制左半部分和右半部分,我使用的就是 0xff
和 0xfe。
修改圖形控制臺繪制代碼
要修改的地方只有 3 個。
struct console_font 添加 charcount 成員。將主線內(nèi)核的字體設(shè)置為 charcount = 255。 主線內(nèi)核帶的字體都是
255 個 glyph 的,所以沒有添加字符個數(shù)的必要。不過我們即將要添加的字體會有數(shù)萬字符。
添加一個新的字體,復(fù)蓋 UNICODE BMP 基本區(qū)域的所有符號。
修改字符繪制代碼,添加 vc_unicode_screenbuf 的支持。
字符繪制代碼的修改比較繁瑣,代碼分布在 drivers/video/console/ 下的多個文件中。fbcon_putc(s) 由由
vc->vc_sw->con_putc(s) 調(diào)用, fbcon_putc(s) 轉(zhuǎn)而調(diào)用分散于 drivers/video/console/
的多個 puts 實現(xiàn)。因為終端要支持 console_rotate , decoration , timing , 故而每種模式下的繪制實現(xiàn)都是不同的。我拿
drivers/video/console/bitblt.c 最常用的不傾斜、不加裝飾等的終端模式為例來講解繪圖部分的修改。由于中文字體為 16×16
點陣,是對齊的字體,故而其繪制代碼為 bit_putcs_aligned() 原先的代碼以 glyph 為下標(biāo)到 vc->vc_font->data
獲得字體數(shù)據(jù),然后調(diào)用 fb_pad_aligned_buffer 執(zhí)行塊拷貝操作。我的修改很簡單,原來獲得字體數(shù)據(jù)的代碼修改后放入 font_bits()
輔助函數(shù)。 在 font_bits 里,要判斷 glyph 是否為 0xff 或者 0xfe, 如果不是,使用 glyph 為下標(biāo)獲得字體的左半部分后并返回。
如果是,則從 vc_unicode_screenbuf 獲得真正的 glyph 數(shù)值,然后再依據(jù)現(xiàn)有的 glyph 是 0xff 還是 0xfe
去獲得字體的右半部分還是左半部分返回。font_bits 獲得字體數(shù)據(jù)后執(zhí)行 fb_pad_aligned_buffer 塊拷貝。需要修改的地方還有
drivers/video/console/fbcon_ccw.c fbcon_cw.c fbcon_ub.c 。依原理進(jìn)行修改即可。
虛擬終端的不足之處
雖然費盡心機(jī)添加了中文支持,那只是一個 workaround ,
并不能算真正的支持。要真正的支持必須徹底重寫虛擬終端和控制臺。而要支持中文,就需要更進(jìn)一步,全面支持 UNICODE ,
包括支持從右向左的書寫習(xí)慣。在內(nèi)核里實現(xiàn)一個全面支持 UNICODE
的控制臺并不是一件容易的事情,何況內(nèi)核的政策也不允許將如此龐大的字庫裝入內(nèi)核。于是乎,這里出現(xiàn)了死胡同。KMS 和 Wayland
的出現(xiàn)讓這死胡同似乎有了個完美的解。
System Compositor?
System Compositor 是一個 wayland compositor,只是運行于系統(tǒng)全局范圍。
為了懶人我這里稍微講解一下 wayland compositor 吧。 Wayland 不同于 X , 在 wayland 的世界里,只有
compositor 和 client。Client 利用各種 API (wayland 給出的示例使用的是 OpenGL ES, 但其實 wayland
并不限制使用的繪圖 API 類型 ) 進(jìn)行窗口繪圖,然后將窗口的繪制結(jié)果直接提交給 compositor 合成到屏幕上。這樣 wayland 本身就不包含繪圖
API 而大大簡化了 wayland 的設(shè)計。Wayland compositor 可以同 X 一樣操作顯卡向屏幕輸出合成后的結(jié)果,也可以作為另一個
wayland compositor 的 client。
對于多賬戶同時登錄的實現(xiàn),固然可以讓每一個本地 GUI 會話開啟一個 wayland compositor,但是存在更好的辦法就是固定開啟一個
system compositor。而讓所有用戶會話的 wayland compositor 再作為 system compositor 的 client.
藉由 system compositor 的合成效果,進(jìn)行快速用戶切換也可以進(jìn)行一些視覺效果。而且 Xorg 本身也已經(jīng)支持作為 wayland client
運行,這樣可以使用傳統(tǒng)的 X 提供桌面,而讓 wayland system compositor 實現(xiàn)終端切換。這還有一個好處,只有 wayland
system compositor 是以 root 運行的,而用戶會話的 compositor 或 X 就不必以 root 權(quán)限運行。因為 Wayland
非常輕量,所以 system compositor 可以作為系統(tǒng)級服務(wù)常駐內(nèi)存運行。而因為有了 system compositor ,
內(nèi)核也不再需要實現(xiàn)虛擬終端了:只需要實現(xiàn)終端模擬器作為 system compositor 的 client
。由于是在用戶空間實現(xiàn)的,所有可以加入 UNICODE,矢量字體,國際化的書寫習(xí)慣等等的支持,再也不用受限于內(nèi)核啦。 Wayland
還是一個非常年輕的項目,Wayland system compositor 目前還只是設(shè)想中的概念,需要更多的人關(guān)注參與。筆者相信不久的將來 wayland
一定能大有作為。轉(zhuǎn)載
你是說要現(xiàn)實中文 還是僅僅改變字體 和顏色
右擊終端,選擇編輯配置文件,接下來自己應(yīng)該會了
Linux的桌面會占用一個本敬蠢地的虛擬控制臺,可以使用ctrl+alt+F1到F7切換控制臺,當(dāng)切換至桌面則陸占用的控制臺時,桌面才會顯示出來孫稿頃。
另外,如果用戶未啟動桌面,則可鍵入startx命令啟動桌面
linux 虛擬終端包的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 虛擬終端包,了解Linux虛擬終端包,提高你的工作效率,如何改造 Linux 虛擬終端顯示文字,紅帽Linux6桌面沒有虛擬終端怎么辦的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。