屏幕有用吗?

屏幕有用吗?

当我需要打开需要检查的不同进程或终端时,我只需在终端中打开一个新选项卡,并使用计算机中的不同工作区来保持一切井井有条。

我使用 Linux 机器进行一些 Web 开发。我看到很多人使用屏幕来完成我正在做的事情,但我看不到任何优势。事实上,我认为情况会更糟,因为现在我必须记住屏幕中的所有状态,而不是在名为“terminals”的工作区中放置一些终端。

我缺少什么?您实际上如何使用屏幕?

答案1

我在本地和远程使用屏幕。我发现我使用屏幕是因为它让我能够

  • 运行多个任务,无需与远程服务器建立多个 ssh 连接,
  • 在屏幕中运行长时间运行的任务,分离,断开连接。该作业仍将在屏幕中运行,我可以稍后返回,重新附加并检查其进度。
  • 在服务器上有一个或多或少持久的工作区,当我在一天中做涉及多个步骤的事情时,这很好。
  • 使用以下提供的屏幕配置文件自定义以非侵入式方式接收重要的系统信息屏风
  • 使用“命名选项卡”:在屏幕中,我可以为屏幕中的每个“选项卡”命名,让我立即知道要切换到哪里。
  • 使用更多键盘快捷键。如果您的大部分工作都在计算机上完成,那么不必使用鼠标是一个真正的优势。我发现它screen的键盘快捷键提供了更多的功能,但这可能只是因为我从未投入真正学习所有 GTK 快捷键。

以下是最近使用 byobu 和其他自定义项启动的屏幕会话的屏幕截图: Screen using Byobu

答案2

是的,屏幕很有用。原因如下:只需 8 个简单步骤:

  1. ssh 你@somehost
  2. 屏幕
  3. 开始做某事真的重要的
  4. 拔掉路由器的插头/关闭建筑物的电源/将咖啡洒在笔记本电脑上(等[*])
  5. 恐慌
  6. 让事情恢复正常
  7. ssh 你@somehost
  8. 屏幕-d-r
  9. 继续做你之前在做的#4

好的,这就是 9 个步骤,但是...您明白了。 screen 对于人们提到的所有其他东西也非常有用,tmux 也是如此,它是一个 BSD 许可的替代品,对游戏来说有点新。

[*] 这里等指的是不涉及您最初 ssh 连接到的主机的任何内容。屏幕不是好的。

答案3

哎呀,是的! Screen(以及 Synergy)是我最喜欢的程序之一。每次连接到我们的服务器时我都会使用它,而且通常只是在我的本地计算机上。

除了其他人已经提到的之外,屏幕还可以保护您免受网络连接故障的影响。当我远程工作(咖啡店、机场等)时,我们的 VPN 并不总是能与某些网络配合良好。 VPN 会经常断开连接并重新连接。如果在不合适的时间出现这些现象之一,使用屏幕可以防止您正在处理的内容丢失。

关于“记住所有状态”,设置状态栏会有所帮助。在我的 .screenrc 文件中,我有以下内容(以及其他内容)

hardstatus alwayslastline
hardstatus string '%{= kw}[ %{= kb}%H%{= kw} ][%= %{= kw}%?%-Lw%?%{= kW}%n%f %{b}%t%{w}%?%?%{= kw}%?%+Lw%?%?%= ][ %{r}%l%{w} ]%{w}[%{r} %d/%m/%y %C%A %{w}]%{w}'

这显示了有关我所在位置、我打开了哪个选项卡的详细信息。我将根据该选项卡连接到的服务器、我所在的文件夹、当前正在运行的进程/脚本或我打开的文件来命名我的选项卡。

答案4

回到基础:它允许您分离会话并将正在运行的 cli 应用程序从一个环境“转移”到另一个环境(您可以在 X 中使用相同的 irssi 客户端,然后在 tty4 中使用,而无需关闭 irssi 并在其中重新打开会话)。当我将一些工作和运行应用程序从 Xorg 服务器转移到 cli env(ttyX 终端)时,我发现必须重新打开程序非常烦人。这样我只需输入

屏幕-R

瞧:我的 vim 会话、我的 moc 播放列表、我的 alpine 邮件、我在 mc 中最后使用的目录、我的 rss 阅读器等都在眨眼间加载到我的终端中,无需任何重新连接或重新授权。

相关内容