屏幕有用吗?

Som*_*DOS 19 gnu-screen terminal

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

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

我错过了什么?你如何实际使用屏幕?

Ste*_*n D 35

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

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

这是最近使用 byobu 和其他自定义启动的屏幕会话的屏幕截图: 使用屏风的画面


Dav*_*ill 17

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

除了其他人已经提到的内容之外,屏幕还可以保护您免受网络连接中的干扰。当我远程工作(咖啡店、机场等)时,我们的 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}'
Run Code Online (Sandbox Code Playgroud)

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


gab*_*be. 17

是的,屏幕很有用。这就是为什么只需 8 个简单的步骤:

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

好的,这是 9 个步骤,但是……你明白了。screen 也非常适合人们提到的所有其他内容,就像 tmux 一样,这是一种 BSD 许可的替代品,对游戏来说有点新。

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


Mic*_*zek 7

我知道有人使用 screen 作为选项卡式控制台;我不。如果您想让交互式程序保持打开状态而不实际一直连接控制台,这将非常有用,特别是如果您希望能够通过 SSH 从多台计算机访问这些程序。例如,我在服务器上的屏幕会话中保持我的 IM 客户端打开,所以我总是在线,我可以从我碰巧在的任何计算机上连接到它


小智 6

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

屏幕 -R

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