Shell

保存完整的 GNU 螢幕會話狀態

  • December 17, 2021

是否可以保留 GNU 螢幕視窗(或只是標準外殼)的“狀態”,以便我可以在重新啟動後重新載入所有內容:

  • 打開的砲彈數
  • 每個外殼的名稱
  • 每個shell的目前目錄
  • 每個貝殼的歷史
  • 如果可能,它們的環境變數

保存完整的螢幕會話實際上是不可能的。

您可以做的是創建一個屬性.screenrc,它將在您重新啟動系統後設置一些東西。

以下是對您列出的內容的一些評論:

  • 打開的砲彈數
  • 每個外殼的名稱
  • 每個shell的目前目錄

.screenrc在啟動時使用這樣的東西來打開一些特定的 shell:

## set the default shell
shell                   zsh

# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]

您將獲得 ’’ 之間的字元串作為您的視窗名稱,名稱後面的命令將在您的預設 shell 上執行。包括您想要的任何腳本,例如更改特定目錄並打開一些日誌。

  • 每個貝殼的歷史

你有沒有想過在你的會話中分享 shell 的歷史?恕我直言,這使事情變得更加容易。在 ZSHsetopt SHARE_HISTORY中完成.zshrc

  • 如果可能,它們的環境變數

如果你真的需要這個並且不想做任何權衡,你可以考慮一個 shell 腳本,它讀出螢幕的目前狀態,保存 shell 的數量,環境變數等,並將這些資訊放在啟動腳本中由您的.screenrc. 對我來說,這不值得付出努力,因為如果我可以自定義螢幕的預設視窗,我會欣賞重新啟動後乾淨的環境。

引用自:https://unix.stackexchange.com/questions/3056