screen 命令是一個終端多路復用器。它類似於桌面環境的窗口管理器,只是它在終端內工作。您可以創建會話和拆分窗口。這是終端中一種非常強大的多任務處理方式。
安裝屏幕命令
screen 命令可以與您的發行版的默認包管理器一起安裝。以下是在大多數用戶使用的兩個主要發行版上安裝 screen 命令的步驟:
1. 在基於 Debian/Ubuntu 的系統上安裝
可以使用 apt 命令安裝 screen 命令。
sudo apt install screen
2. 在基於 RedHat/Fedora 的系統上安裝
默認存儲庫中不存在屏幕包。相反,它們駐留在 EPEL(企業 Linux 的額外軟件包)存儲庫中。
您必須先添加一個回購協議。這可以通過 dnf 命令來完成。
sudo dnf install epel-release
然後安裝屏幕,輸入:
sudo dnf install screen

screen 命令的基本用法
在開始使用 screen 命令之前,了解一些與之相關的術語會很有幫助。存在 screen
1 會議 虛擬終端集合 screen
管理。
一個會話可能包含多個會話 視窗 這些通常是獨立的交互式 shell。一個虛擬終端可以拆分如下: 疼痛 它們是終端內的矩形區域,由 screen
這些窗格可以包含窗口。
1.使用不帶參數的screen
要使用屏幕,請鍵入:
screen
啟動一個“未命名”會話。我不知道與原始提示有什麼區別,但屏幕正在監聽命令。突如其來的 CTRL
+ A
+ ?
顯示鍵綁定 screen
:

正如剛才提到的, CTRL
+ A
(有時寫成 ^A ) 是“命令鍵” screen
按命令鍵並告訴 screen
按下的鍵是命令 screen
.
(帶“A” CTRL
+ A
不是大寫。不用按 Shift
鑰匙。 “A”表示小寫的“a”。這是因為手冊頁和鍵綁定指的是小寫字母“a”。對於其他鍵,我們明確提到了這種情況。 )
還有一個類似 vim 的命令模式,可以通過按 CTRL
+ A
+ :
不同之處在於,您必須在命令模式下而不是鍵盤快捷鍵下輸入整個命令。例如, CTRL
+ A
+ X
(大寫’x’)是 CTRL
+ A
+ : 然後輸入 remove
在窗格底部的提示處。

2.創建命名會話
要創建命名會話,請在 -S 選項後指定會話名稱。
screen -S newsession
3.在會話中創建新窗口
要在會話中創建一個新窗口, CTRL
+ A
+ 哈 (小寫’c’)。突如其來的 CTRL
+ A
+ “ (雙引號)表示可以選擇的窗口列表。按下打開窗口 Enter
在列表中該窗口的選項中。

要重命名當前窗口, CTRL
+ A
+ A
(大寫’a’)。提示顯示在底部。在那裡輸入新名稱,然後按 Enter
.

4.列出活動會話
可能有多個 screen
會議將同時舉行。要列出它們,請輸入:
screen -ls

該列表包含會話的 PID(進程 ID),後跟會話名稱。列表下方是網點數量
這個命令 screen
會話(添加在括號中)。 您可以在屏幕會話中運行屏幕命令。
5.結束會話
結束會話的方式取決於您是在會話內部還是外部。
會話外 要殺死,您需要知道會話的名稱或會話的 PID。他們可以從列表中獲得 screen -ls
.
知道會話的名稱或 PID 後,輸入:
screen -X -S 607719 quit

上面的命令終止了 PID 為 607719 的會話,打印 [screen is terminating]
返回到開始屏幕提示。
您還可以指定盡可能多的唯一 PID。例如,如果您有兩個 PID 為 699389 和 607719 的會話,並且您想要終止 PID 為 607719 的會話,您可以使用:
screen -X -S 60 quit
名稱也可以縮寫。
quit
這是命令 screen
這將終止會話。您可以通過這種方式向會話發送任何命令(有關所有可用命令,請參閱鍵綁定頁面)。
在會議中您可以通過按結束當前會話 CTRL
+ A
+ (反斜杠)。
屏幕作為終端多路復用器
screen
終端多路復用器。這意味著您可以將終端水平或垂直拆分為多個窗格。這些窗格可以水平或垂直細分。為此,您需要加入屏幕會話。
首先按下以垂直拆分您的設備 CTRL
+ A
+|
(管道/管道字符)

窗格的左下角顯示窗口編號及其名稱。 screen
默認情況下,窗口編號 0 打開。
您可以通過按 CTRL
+ A
+ Tab
按下它,它將帶您到右側窗格。然後是選項列表(CTRL
+ A
+"
) 或新的 (CTRL
+ A
+ c
).創建新窗口後,終端如下所示:

讓我們水平分割第一個窗口(垂直分割後創建的新窗口) CTRL
+ A
+ S
(大寫的“s”),轉到一個新窗格(CTRL
+ A
+Tab
),這會創建一個新窗口 (CTRL
+ A
+ c
).
您的終端現在應該如下所示:

要刪除窗格, CTRL
+ A
+ X
(大寫“x”)在該窗格中。
斷開並重新連接
真正的力量 screen
也就是說,您可以斷開會話並重新連接。從會話中分離將提示您從運行的位置返回 screen
.和整個會議 在後台運行 一個在這裡 screen
過程。
如果您通過 SSH 訪問您的計算機,這將特別有用。 您可以在屏幕會話中運行長時間運行的命令 遠程機器可以從 screen
安全退出會話和 ssh 會話 本地機器.
幾個小時後,您可以再次通過 SSH 連接到機器並重新連接到您的屏幕會話。您可以看到該命令仍在運行。在正常的 SSH 會話中,此命令將被終止。
要斷開會話, CTRL
+ A
+ d
(小寫’d’)。轉到原始提示。

列出屏幕會話。

要重新連接到會話,請輸入:
screen -r -S newsession
如果您設置窗格,它們將消失,並且您必須在必要時再次拆分終端。 Windows 仍將存在。
請注意,我們在這裡使用會話的名稱而不是 PID。
屏幕作為協作工具
令人驚訝的是,Screen 可以用作協作工具。描述如何公開連接 screen
來自兩台遠程計算機的會話。
假設您想向某人展示如何編輯您服務器上的配置文件。我創造 screen
服務器上的會話:
screen -S newsession
然後進入命令模式(CTRL
+ A
+ :
) 進入。 multiuser on
按 Enter
要求其他人以創建屏幕會話的同一用戶身份登錄 從另一台機器 輸入如下。
screen -x

右邊的終端是為那些想要展示如何編輯配置文件的人準備的。左側終端僅反映右側終端中寫入的內容。這樣一個人可以打開 vim 或 nano 並向其他人展示如何編輯文件。
結論是
Screen 是一個非常有用的多任務命令,因為它允許您在終端內運行多個交互式 shell。有關屏幕詳細信息,請參閱該手冊。