這篇文章主要介紹了linux中DomTerm怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)建站專業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站設(shè)計、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!
DomTerm 是一款現(xiàn)代化的終端模擬器,它使用瀏覽器引擎作為 “GUI 工具包”。這就支持了一些相關(guān)的特性,例如可嵌入圖像和鏈接、HTML 富文本以及可折疊(顯示/隱藏)命令。除此以外,它看起來感覺就像一個功能完整、獨立的終端模擬器,有著出色 xterm 兼容性(包括鼠標(biāo)處理和 24 位色)和恰當(dāng)?shù)?“裝飾” (菜單)。另外它內(nèi)置支持了會話管理和副窗口(如同 tmux
和 GNU Screen
中一樣)、基本輸入編輯(如在 readline
中)以及分頁(如在 less
中)。
圖 1: DomTerminal 終端模擬器。
在以下部分我們將看一看這些特性。我們將假設(shè)你已經(jīng)安裝好了 domterm
。開始之前先讓我們概覽一下這項技術(shù)。
DomTerm 大部分是用 JavaScript 寫的,它運行在一個瀏覽器引擎中。它可以是像例如 Chrome 或者 Firefox 一樣的桌面瀏覽器(見圖 3),也可以是一個內(nèi)嵌的瀏覽器。使用一個通用的網(wǎng)頁瀏覽器沒有問題,但是用戶體驗卻不夠好(因為菜單是為通用的網(wǎng)頁瀏覽而不是為了終端模擬器所打造),并且其安全模型也會妨礙使用。因此使用內(nèi)嵌的瀏覽器更好一些。
目前以下這些是支持的:
qdomterm,使用了 Qt 工具包 和 QtWebEngine
一個內(nèi)嵌的 Electron(見圖 1)
atom-domterm 以 Atom 文本編輯器(同樣基于 Electron)包的形式運行 DomTerm,并和 Atom 面板系統(tǒng)集成在一起(見圖 2)
一個為 JavaFX 的 WebEngine 包裝器,這對 Java 編程十分有用(見圖 4)
之前前端使用 Firefox-XUL ,但是 Mozilla 已經(jīng)終止了 XUL
圖 2:在 Atom 編輯器中的 DomTerm 終端面板。
目前,Electron 前端可能是更好的選擇,緊隨其后的是 Qt 前端。如果你使用 Atom,atom-domterm 也工作得相當(dāng)不錯。
后端服務(wù)器是用 C 寫的。它管理著偽終端(PTY)和會話。它同樣也是一個為前端提供 Javascript 和其它文件的 HTTP 服務(wù)器。domterm
命令啟動終端任務(wù)和執(zhí)行其它請求。如果沒有服務(wù)器在運行,domterm 就會自己來服務(wù)。后端與服務(wù)器之間的通訊通常是用 WebSockets(在服務(wù)器端是libwebsockets)完成的。然而,JavaFX 的嵌入既不用 Websockets 也不用 DomTerm 服務(wù)器。相反 Java 應(yīng)用直接通過 Java-Javascript 橋接進(jìn)行通訊。
DomTerm 看上去感覺像一個現(xiàn)代的終端模擬器。它處理鼠標(biāo)事件、24 位色、Unicode、倍寬字符(CJK)以及輸入方式。DomTerm 在 vttest 測試套件 上工作地十分出色。
其不同尋常的特性包括:
展示/隱藏按鈕(“折疊”):小三角(如上圖 2)是隱藏/展示相應(yīng)輸出的按鈕。僅需在提示符中添加特定的轉(zhuǎn)義字符就可以創(chuàng)建按鈕。
對于 readline 和類似輸入編輯器的鼠標(biāo)點擊支持:如果你點擊輸入?yún)^(qū)域,DomTerm 會向應(yīng)用發(fā)送正確的方向鍵按鍵序列。(可以通過提示符中的轉(zhuǎn)義字符啟用這一特性,你也可以通過 Alt+點擊
強制使用。)
用 CSS 樣式化終端:這通常是在 ~/.domterm/settings.ini
里完成的,保存時會自動重載。例如在圖 2 中,設(shè)置了終端專用的背景色。
一個經(jīng)典的終端模擬器基于長方形的字符單元格工作的。這在 REPL(命令行)上沒問題,但是并不理想。這里有些通常在終端模擬器中不常見的 REPL 很有用的 DomTerm 特性:
一個能“打印”圖片、圖形、數(shù)學(xué)公式或者一組可點擊的鏈接的命令:應(yīng)用可以發(fā)送包含幾乎任何 HTML 的轉(zhuǎn)義字符。(HTML 會被剔除部分,以移除 JavaScript 和其它危險特性。)
圖 3 顯示了來自 gnuplot 會話的一個片段。Gnuplot(2.1 或者跟高版本)支持 DormTerm 作為終端類型。圖形輸出被轉(zhuǎn)換成 SVG 圖片,然后被打印到終端。我的博客帖子在 DormTerm 上的 Gnuplot 展示在這方面提供了更多信息。
圖 3:Gnuplot 截圖。
Kawa 語言有一個創(chuàng)建并轉(zhuǎn)換幾何圖像值的庫。如果你將這樣的圖片值打印到 DomTerm 終端,圖片就會被轉(zhuǎn)換成 SVG 形式并嵌入進(jìn)輸出中。
圖 4:Kawa 中可計算的幾何形狀。
富文本輸出:有著 HTML 樣式的幫助信息更加便于閱讀,看上去也更漂亮。圖片 1 的下面面板展示 dormterm help
的輸出。(如果沒在 DomTerm 下運行的話輸出的是普通文本。)注意自帶的分頁器中的 PAUSED
消息。
包括可點擊鏈接的錯誤消息:DomTerm 可以識別語法 filename:line:column
并將其轉(zhuǎn)化成一個能在可定制文本編輯器中打開文件并定位到行的鏈接。(這適用于相對路徑的文件名,如果你用 PROMPT_COMMAND
或類似的跟蹤目錄。)
編譯器可以偵測到它在 DomTerm 下運行,并直接用轉(zhuǎn)義字符發(fā)出文件鏈接。這比依賴 DomTerm 的樣式匹配要穩(wěn)健得多,因為它可以處理空格和其他字符并且無需依賴目錄追蹤。在圖 4 中,你可以看到來自 Kawa Compiler 的錯誤消息。懸停在文件位置上會使其出現(xiàn)下劃線,file:
URL 出現(xiàn)在 atom-domterm
消息欄(窗口底部)中。(當(dāng)不用 atom-domterm 時,這樣的消息會在一個浮層的框中顯示,如圖 1 中所看到的 PAUSED
消息所示。)
點擊鏈接時的動作是可以配置的。默認(rèn)對于帶有 #position
后綴的 file:
鏈接的動作是在文本編輯器中打開那個文件。
結(jié)構(gòu)化內(nèi)部表示:以下內(nèi)容均以內(nèi)部節(jié)點結(jié)構(gòu)表示:命令、提示符、輸入行、正常和錯誤輸出、標(biāo)簽,如果“另存為 HTML”,則保留結(jié)構(gòu)。HTML 文件與 XML 兼容,因此你可以使用 XML 工具搜索或轉(zhuǎn)換輸出。命令 domterm view-saved
會以一種啟用命令折疊(顯示/隱藏按鈕處于活動狀態(tài))和重新調(diào)整窗口大小的方式打開保存的 HTML 文件。
內(nèi)建的 Lisp 樣式優(yōu)美打?。?/strong>你可以在輸出中包括優(yōu)美打印指令(比如,grouping),這樣斷行會根據(jù)窗口大小調(diào)整而重新計算。查看我的文章 DomTerm 中的動態(tài)優(yōu)美打印以更深入探討。
基本的內(nèi)建行編輯,帶著歷史記錄(像 GNU readline 一樣): 這使用瀏覽器自帶的編輯器,因此它有著優(yōu)秀的鼠標(biāo)和選擇處理機制。你可以在正常字符模式(大多數(shù)輸入的字符被指接送向進(jìn)程);或者行模式(通常的字符是直接插入的,而控制字符導(dǎo)致編輯操作,回車鍵會向進(jìn)程發(fā)送被編輯行)之間轉(zhuǎn)換。默認(rèn)的是自動模式,根據(jù) PTY 是在原始模式還是終端模式中,DomTerm 在字符模式與行模式間轉(zhuǎn)換。
自帶的分頁器(類似簡化版的 less
):鍵盤快捷鍵控制滾動。在“頁模式”中,輸出在每個新的屏幕(或者單獨的行,如果你想一行行地向前移)后暫停;頁模式對于用戶輸入簡單智能,因此(如果你想的話)你無需阻礙交互式程序就可以運行它。
標(biāo)簽和平鋪:你不僅可以創(chuàng)建多個終端標(biāo)簽,也可以平鋪它們。你可以要么使用鼠標(biāo)或鍵盤快捷鍵來創(chuàng)建或者切換面板和標(biāo)簽。它們可以用鼠標(biāo)重新排列并調(diào)整大小。這是通過 GoldenLayout JavaScript 庫實現(xiàn)的。圖 1 展示了一個有著兩個面板的窗口。上面的有兩個標(biāo)簽,一個運行 Midnight Commander;底下的面板以 HTML 形式展示了 dormterm help
輸出。然而相反在 Atom 中我們使用其自帶的可拖拽的面板和標(biāo)簽。你可以在圖 2 中看到這個。
分離或重接會話:與 tmux
和 GNU screen
類似,DomTerm 支持會話安排。你甚至可以給同樣的會話接上多個窗口或面板。這支持多用戶會話分享和遠(yuǎn)程鏈接。(為了安全,同一個服務(wù)器的所有會話都需要能夠讀取 Unix 域接口和一個包含隨機密鑰的本地文件。當(dāng)我們有了良好、安全的遠(yuǎn)程鏈接,這個限制將會有所放松。)
domterm 命令類似與 tmux
和 GNU screen
,它有多個選項可以用于控制或者打開單個或多個會話的服務(wù)器。主要的差別在于,如果它沒在 DomTerm 下運行,dormterm
命令會創(chuàng)建一個新的頂層窗口,而不是在現(xiàn)有的終端中運行。
與 tmux
和 git
類似,dormterm
命令有許多子命令。一些子命令創(chuàng)建窗口或者會話。另一些(例如“打印”一張圖片)僅在現(xiàn)有的 DormTerm 會話下起作用。
命令 domterm browse
打開一個窗口或者面板以瀏覽一個指定的 URL,例如瀏覽文檔的時候。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“l(fā)inux中DomTerm怎么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
當(dāng)前標(biāo)題:linux中DomTerm怎么用
當(dāng)前鏈接:http://jinyejixie.com/article38/pgsopp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站排名、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)