我曾经创建过一个屏幕并使用vim来跟踪源代码。
我通常使用命令来创建,分离和附加屏幕以保持我的vim状态。
$ screen -S vim_src1
[CTRL+a] d
分离屏幕
$ screen -r vim_src1
但是,系统重启后屏幕状态将被终止。
系统重启后可以附加屏幕吗?
答案 0 :(得分:1)
系统重启后,附加没有example\.com|example2\.com|.*example3\.com
个会话。您当然可以创建新会话。
您可以附加的screen
会话已经运行,因为您已将其分离。系统重新启动会终止所有进程(包括在screen
中运行的进程)。
在桌面环境中,您可能会偶尔看到对保存"会话"的支持。州。这样做依赖于每个应用程序在被询问时(例如,在系统关闭时)保存其状态。这对于大型GUI应用程序(用于处理事件)非常有用。但相比之下,screen
主要用于 shell 应用程序,但很少这样做。
可以设想操作系统可以设计为执行此操作,而不是要求每个应用程序自行保存/恢复。但对于我们正在使用的系统来说,情况似乎并非如此。
进一步阅读:
答案 1 :(得分:0)
我可以通过几种方式解释你的答案,因为我不能100%确定你的目标是什么。我会尝试给出我所知道的两个最明显的选项。
您可以使用〜/ .screenrc配置屏幕会话,因此它始终与标签和屏幕一起启动,甚至可以为您启动应用程序。例如:
defutf8 on
caption always "%{= kK} %{K}%-w%{+b w}%51>%n %t%{= K}%+w%<%-=%{= kK} me@localhost | %{w}20%y-%m-%d %{w}%0c:%s %{-}"
shelltitle '$|$'
defscrollback 10000
termcap xterm|xterms|xs ti=\E7\E[?47l
terminfo xterm|xterms|xs ti=\E7\E[?47l
startup_message off
screen -t vim 0 vim $HOME/todo.txt
screen -t ipython 1 ipython
screen -t finch 2 finch
screen -t mutt 3 mutt
screen -t top 4 top
chdir $HOME/Repos/git
screen -t CL 5
screen -t git 6
如果您确实希望能够保存您所在的会话,则可以考虑使用屏幕会话。
https://github.com/skoneka/screen-session
会话保护程序目前支持保存:布局,回滚, 标题,过滤器,并能够重新启动在Windows中运行的程序。它 识别常规,组和僵尸窗口。目前没有 支持串行和telnet窗口类型。默认情况下,会话保护程序 还尝试使用“:mksession”和“:wviminfo”来保存Vim会话。
会话保护程序通过直接读取/ proc来访问重要数据 文件系统并按父pid对进程进行排序。几乎没有 将命令“填充”到windows中(保存Vim会话时除外) 所以没有与节目本身的互动。
在会话加载期间,每个新窗口都以 screen-session-primer(一个小C程序),显示一个列表 进程并询问用户该做什么:是否开始,部分或全部 窗口的进程或直接启动提供的程序 “ - 使用了--force-start [win_num]”选项。