首頁 > 軟體

如何使用 Linux screen

2020-06-16 16:33:34

您是否遇到過在遠端計算機上執行長時間執行任務的情況,並且突然連線斷開, SSH 對談終止了並且您的工作丟失了。好吧,它在某些時候發生在我們所有人身上,不是嗎?幸運的是,有一個實用程式叫做 screen 允許我們恢復我們的對談。

介紹

screen 或 GNU screen 是終端多路複用器。換句話說,這意味著您可以啟動 screen 對談,然後在該對談中開啟任意數量的視窗(虛擬終端)。即使斷開連線,當其視窗不可見時,在 screen 上執行的進程將繼續執行。

安裝 Linux screen

現在大多數 Linux 發行版上已經預裝了 screen 包。您可以通過鍵入以下內容來檢查系統上是否安裝了它:

linuxidc@linuxidc:~/www.linuxidc.com$ screen --version
Screen version 4.06.02 (GNU) 23-Oct-17

如果您的系統上沒有安裝 screen ,則可以使用發行版的軟體包管理器輕鬆安裝。

Ubuntu 和 Debian 上安裝 screen

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install screen

CentOSFedora 上安裝 screen

linuxidc@linuxidc:~/www.linuxidc.com$ sudo yum install screen

啟動 Linux screen

要啟動 screen 對談,只需在控制台鍵入 screen :

screen

這將開啟一個 screen 對談,建立一個新視窗並在該視窗中啟動一個 shell 。

現在您已經開啟了一個 screen 對談,您可以通過輸入以下命令獲取命令列表:

Ctrl+a ?

命名對談

執行多個 screen 對談時,命名對談非常有用。要建立命名對談,請使用以下引數執行 screen 命令:

screen -S session_name

選擇描述性有意義的對談名稱總是一個好主意。

使用 Linux Screen 視窗

預設情況下,當您啟動新的 screen 對談時,它會建立一個包含 shell 的單個視窗。

您可以在 screen 對談中擁有多個視窗。

要建立一個有 shell 的新視窗請鍵入 Ctrl+a c ,將為其分配範圍 0...9 中的第一個可用編號。

以下是一些用於管理 Linux Screen 視窗 的最常用命令:

  • Ctrl+a c 建立一個新視窗(帶shell)
  • Ctrl+a " 列出所有視窗
  • Ctrl+a 0 切換到視窗 0(按編號)
  • Ctrl+a A 重新命名當前視窗
  • Ctrl+a S 將當前區域水平分割為兩個區域
  • Ctrl+a | 將當前區域垂直分成兩個區域
  • Ctrl+a tab 將輸入焦點切換到下一個區域
  • Ctrl+a Ctrl+a 在當前和之前的區域之間切換
  • Ctrl+a Q 關閉除當前區域之外其他所有區域
  • Ctrl+a X 關閉當前區域

從 Linux screen 對談中分離出來

您可以通過鍵入以下內容隨時從 screen 對談中分離:

Ctrl+a d

從對談中分離後,在 screen 對談中執行的程式將繼續執行。

重新連線到 Linux screen

要恢復 screen 對談,請使用以下命令:

screen -r

如果您的計算機上執行了多個 screen 對談,則需要在 r 後附加 screen 對談 ID 。

要查詢 screen 對談 ID,可以使用如下命令列出當前執行的列表:

linuxidc@linuxidc:~/www.linuxidc.com$ screen -ls
There are screens on:
        15174.session_name      (08/13/2019 09:19:34 PM)        (Attached)
        12475.pts-0.linuxidc    (08/13/2019 09:16:31 PM)        (Attached)
        12230.pts-0.linuxidc    (08/13/2019 09:15:42 PM)        (Detached)
3 Sockets in /run/screen/S-linuxidc.

如果要還原 12475.pts-0 ,請鍵入以下命令:

linuxidc@linuxidc:~/www.linuxidc.com$ screen -r 12475
There is a screen on:
        12475.pts-0.linuxidc    (08/13/2019 09:16:32 PM)        (Attached)
There is no screen to be resumed matching 12475.

自定義 Linux screen

如果 /etc/screenrc 和 ~/.screenrc 檔案存在,當 screen 啟動時從中讀取它的設定引數。我們可以通過 .screenrc 檔案根據我們自己的偏好修改預設 screen 設定。

以下是一個範例 ~/.screenrc設定, 有自定義狀態行和幾個附加選項:

?/.screenrc

# 關閉歡迎資訊
startup_message off

# 禁用視覺鈴聲
vbell off

# 將回滾緩衝區設定為10000
defscrollback 10000

# 自定義狀態行
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

基本的 Linux screen 用法

以下是開始使用 screen 的最基本步驟:

  1. 在命令提示字元下,鍵入 screen 。
  2. 執行所需的程式。
  3. 使用鍵序列 Ctrl-a + Ctrl-d 從 screen 對談中分離。
  4. 鍵入即可重新連線到 screen 對談 screen -r 。

結論

在本教學中,您學習了如何使用 Gnu Screen 。現在,您可以開始使用 Screen 實用程式,從單個對談建立多個 screen 視窗,在視窗之間導航,分離和恢復 screen 對談,並使用 .screenrc 檔案個性化您的 screen 終端。

screen 使用者手冊頁面上還有很多關於 Gnu screen 的知識。


IT145.com E-mail:sddin#qq.com