screen 命令是一個終端多路復用器。它類似於桌面環境的窗口管理器,不同之處在於它在終端內工作。您可以創建會話和拆分窗口。這是終端中一種非常強大的多任務處理方式。

安裝畫面命令

screen 命令可以與您的發行版的默認包管理器一起安裝。以下是在大多數用戶使用的兩個主要發行版上安裝 screen 命令的步驟:

1. 在基於 Debian/Ubuntu 的系統上安裝

可以使用 apt 命令安裝 screen 命令。

sudo apt install screen
使用 Apt 安裝屏幕

2. 在基於 RedHat/Fedora 的系統上安裝

默認存儲庫中不存在 screen 包。相反,它們駐留在 EPEL(企業 Linux 的額外軟件包)存儲庫中。

您必須先添加該存儲庫。這可以通過 dnf 命令來完成。

sudo dnf install epel-release
添加 EPEL 存儲庫

然後安裝屏幕,輸入:

sudo dnf install screen
首次安裝使用 dnf 安裝 Screen

屏幕命令的基本用法

在開始使用 screen 命令之前,了解一些與之相關的術語會很有幫助。存在 screen1 會議 虛擬終端集合 screen 管理。

一個會話可能包含多個會話 視窗 這些通常是獨立的交互式 shell。虛擬終端可以拆分如下: 疼痛 它們是終端內的矩形區域,由 screen這些窗格可以包含窗口。

1.不帶參數使用screen

要使用屏幕,請輸入:

screen

啟動“未命名”會話。我不知道與原始提示的區別,但屏幕正在偵聽命令。突然 CTRL + A + ? 記住鍵綁定 screen

屏幕鍵綁定屏幕鍵綁定

正如剛才提到的, CTRL + A (有時寫為 ^一個 ) 是“命令鍵” screen按下命令鍵並告訴 screen 要按下的鍵是命令 screen.

(帶“A” CTRL + A 不是大寫。無需按下 Shift 鑰匙。 ‘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 +| (管道/管道字符)

垂直分割 2縱向劃分

窗格的左下角顯示窗口編號及其名稱。 screen 默認情況下,打開 0 號窗口。

您可以通過按來切換窗格 CTRL + A + Tab 按下它,它將帶您到右側窗格。然後是選項列表(CTRL + A +") 或新的 (CTRL + A + c)。創建新窗口後,終端如下所示:

多個窗格多個窗格

現在讓我們水平拆分窗口 1(垂直拆分後創建一個新窗口)。 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”)。轉到原始提示。

分離後 1分離後

列出屏幕會話。

拆機後出售拆機後出售

要重新連接到會話,請輸入:

screen -r -S newsession

如果您設置窗格,它們將消失,如有必要,您將不得不再次拆分終端。窗戶仍然存在。

請注意,我在這裡使用了會話的名稱而不是 PID。

屏幕作為協作工具

令人驚訝的是,Screen 可以用作協作工具。描述如何公開連接 screen 來自兩台遠程計算機的會話。

假設您想向某人展示如何在您的服務器上編輯配置文件。我創造 screen 服務器上的會話:

screen -S newsession

然後進入命令模式(CTRL + A + :) 進入。 multiuser onEnter

要求其他人以創建屏幕會話的同一用戶身份登錄 來自不同的機器 輸入如下。

screen -x
通用屏幕會話通用屏幕會話

右邊的終端是為那些想要展示如何編輯配置文件的人準備的。左終端只是反映了右終端中寫入的內容。這樣一個人就可以打開 vim 或 nano 並向其他人展示如何編輯文件。

結論是

Screen 是一個非常有用的多任務命令,因為它允許您在終端內運行多個交互式 shell。有關屏幕詳細信息,請參閱該手冊。