如何使用 byobu 復用 SSH 對談

2020-02-29 12:50:00

Byobu 能讓你在保持對談活躍的情況下維護多個終端視窗,通過 SSH 連線、斷開、重連以及共用存取。

Byobu 是基於文字的視窗管理器和終端多路複用器。它類似於 GNU Screen,但更現代、更直觀。它還適用於大多數 Linux、BSD 和 Mac 發行版。

Byobu 能讓你在保持對談活躍的情況下維護多個終端視窗、通過 SSH(secure shell)連線、斷開、重連,甚至讓其他人存取。

比如,你 SSH 進入樹莓派或伺服器,並執行(比如) sudo apt update && sudo apt upgrade,然後你在它執行的時候失去了網際網路連線,你的命令會丟失無效。然而,如果你首先啟動 byobu 對談,那麼它會繼續執行,在你重連後,你會發現它仍在繼續執行。

Byobu 名稱來自於日語的裝飾性多面板屏風,它可作為折疊式隔斷,我認為這很合適。

要在 Debian/Raspbian/Ubuntu 上安裝 byobu:

sudo apt install byobu

接著啟用它:

byobu-enable

現在,請退出 SSH 對談並重新登入,你將會在 byobu 對談中登入。執行類似 sudo apt update 命令並關閉視窗(或輸入跳脫序列(Enter + ~ + .)並重新登入。你將看到更新命令在你離開後還在執行。

很多我不常使用的功能。我通常使用的是:

  • F2 – 新視窗
  • F3/F4 – 在視窗間導航
  • Ctrl+F2 – 垂直拆分窗格
  • Shift+F2 – 水平拆分窗格
  • Shift+左箭頭/Shift+右箭頭 – 在拆分窗格間導航
  • Shift+F11 – 放大(或縮小)拆分窗格

我們如何使用 byobu

Byobu 對於維護 piwheels(一個用於樹莓派的方便的,預編譯 Python 包)很好用。我水平拆分了窗格,在上半部分顯示了 piwheels 監視器,在下半部分實時顯示了 syslog 條目。接著,如果我們想要做其他事情,我們可以切換到另外一個視窗。當我們進行共同作業分析時,這特別方便,因為當我在 IRC 中聊天時,我可以看到我的同事 Dave 輸入了什麼(並糾正他的錯字)。

我在家庭和辦公伺服器上啟用了 byobu,因此,當我登入到任何一台計算機時,一切都與我離開時一樣。它正在執行多個作業、在特定目錄中保留一個視窗,以另一個使用者身份執行進程等。

byobu screenshot

Byobu 對於在樹莓派上進行開發也很方便。你可以在桌面上啟動它,執行命令,然後 SSH 進入,並連線到該命令執行所在的對談。請注意,啟用 byobu 不會更改終端啟動器的功能。只需執行 byobu 即可啟動它。

本文最初發表在 Ben Nuttall 的 Tooling blog 中,並獲許重用。