是否可以保留 GNU 屏幕窗口(或只是标准 shell)的“状态”,以便我可以在重新启动后重新加载所有内容:
ech*_*hox 20
保存完整的屏幕会话实际上是不可能的。
你可以做的是创建一个适当的.screenrc,它会在你重新启动系统后设置一些东西。
以下是对您列出的内容的一些评论:
我.screenrc在启动时使用这样的东西来打开一些特定的外壳:
## set the default shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
Run Code Online (Sandbox Code Playgroud)
您将获得 '' 之间的字符串作为您的窗口名称和名称后的命令将在您的默认 shell 上执行。包括您想要的任何脚本,例如更改特定目录并打开一些日志。
你有没有想过在你的会话中分享 shell 的历史?恕我直言,这让事情变得更容易。在 ZSH 中,它已setopt SHARE_HISTORY在您的.zshrc
如果你真的需要这个并且不想做任何权衡,你可以考虑一个 shell 脚本,它读出屏幕的当前状态,保存 shell 的数量,环境变量等,并将这些信息放在启动脚本中由您的.screenrc. 对我来说,这不值得付出努力,因为如果我可以自定义屏幕的默认窗口,我会欣赏重新启动后的干净环境。