登录时如何在 Linux 上自动启动屏幕会话

几天前,我们已经看到了如何 自动启动 Tmux 会话 每当您通过 SSH 在本地或远程登录 Linux 系统时。 今天,我们将看看如何自动启动 屏幕 登录时在 Linux 上的会话。通过 SSH 运行长时间运行的进程时,自动启动 Screen 会话将有很大帮助。 如果您由于某种原因失去了网络连接,该进程将继续在远程系统的 Screen 会话中运行,您可以在网络恢复联机时重新连接到它。

登录时在 Linux 上自动启动屏幕会话

要在 Linux 上自动启动 Screen 会话,请编辑 Linux 系统的 ~/.bash_profile 或者 ~/.bashrc 文件:

$ nano ~/.bash_profile

如果上述文件不可用,只需创建它。

并在其中添加以下行:

if [[ -z "$STY" ]]; then    screen -xRR default fi

在这里,我们使用 -X 附加到未分离的屏幕会话的标志。 和 -RR flag 尝试恢复它找到的最年轻的(就创建时间而言)分离屏幕会话。

笔记: 如果您使用 Zsh shell,请将以上行添加到 ~/.zshrc 文件。

Save 和 close 文件。 注销并重新登录系统。 您将进入一个名为的新屏幕会话 ‘默认’.

现在,启动 Screen 会话中的任何进程,然后按 Ctrl+a 其次是 d. 即使网络连接断开,该进程也将继续在 Screen 会话中运行。 网络连接恢复后,您可以再次通过 SSH 连接到远程系统,您将看到作业仍在运行!!

看看下面的动画演示:

让我澄清一下我刚刚在上面的输出中做了什么。

  1. 我从本地系统通过 SSH 连接到远程 Ubuntu 服务器。 一个名为“default”的新 Screen 会话会自动启动。
  2. 在 Screen 会话中,我运行一个命令(例如 watch grep “cpu MHz” /proc/cpuinfo)来监控 CPU 速度。
  3. 然后,我按 Ctrl+ad.
  4. 然后,我使用“screen -ls”命令列出 Screen 会话并退出 SSH 会话。
  5. 最后,我通过 SSH 重新连接到远程系统,并验证进程是否在 Screen 会话中继续运行而没有任何中断。

希望你能理解。

要停止自动启动 Screen 会话,只需从远程系统的 ~/.bashrc 或者 ~/.bash_profile 文件。

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

自动启动屏幕会话CLIGNU ScreenLinux 屏幕提示