我没有在 gnu screen 中看到命名会话

我没有在 gnu screen 中看到命名会话

我正在尝试学习 gnu screen。我使用的是 mac(snow leopard)。我正在运行 4.00.03 版本的 screen。

我正在使用以下命令启动一个新屏幕

screen -S foo

但是之后如果我按 ctrl + A + ",那么我就会看到屏幕列表。但是所有列表都有数字,然后是 bash。因为它只说“bash”,所以我无法弄清楚哪个屏幕上有什么。我遗漏了什么吗?

答案1

你忽略了屏幕之间的区别会议和一个屏幕窗户

屏幕会议有点像 GUI 桌面。它们可以包含多个窗口;每个窗口可以运行一个单独的程序。屏幕会议就像是窗户的容器。

Ctrl-A "向您展示窗口列表Matrix Mole 的答案展示了如何命名窗口;您已经知道如何命名会话(使用screen -S foo)。要查看会话列表,请使用screen -list

$ screen -S foo
# let screen start, then use Ctrl+A D to detach
[detached]

$ screen -S bar
[detached]

$ screen -list
There are screens on:
        16838.bar       (05/05/2010 05:00:34 AM)        (Detached)
        16814.foo       (05/05/2010 05:00:26 AM)        (Detached)
2 Sockets in /var/run/screen/S-quack.

现在您可以重新连接到现有会话之一screen -r foo,执行某些操作,分离,重新连接到另一个会话screen -r bar,执行其他操作,等等。

答案2

屏幕窗口的名称默认为在其中运行的程序的名称(大多数情况下为 bash)。要重命名特定窗口,您需要使用Ctrl-A A,它将允许您重命名当前所在的窗口。这将帮助您在使用时知道哪个窗口是哪个Ctrl-A "。此外,如果您的主目录中有一个 .screenrc 文件,您可以将屏幕窗口配置为默认为某些窗口编号以及特定名称。以下是我的 screenrc 文件的一部分,用于配置我的 linux 机器上的启动窗口:

screen -t root          0 sudo su -
screen -t shell         1
screen -t nntp          2
screen -t decode        3
screen -t IRC           4 /usr/bin/irssi
screen -t Vim           5
screen -t torrents      6 /usr/bin/rtorrent
screen -t jabber        7 /usr/bin/mcabber
select 0

-t 后面的项目是窗口的名称,数字表示窗口列表中的位置,数字后面是要在该窗口中执行的程序。如果关闭与窗口一起启动的程序,则该窗口也会关闭。因此,如果我完全关闭 irssi,则窗口 4 将被关闭,下次我创建新窗口(使用Ctrl-A A)时,我将获得该新窗口作为窗口 4。

我所学到的有关配置屏幕的大部分知识都来自阅读默认的 .screenrc 文件。Mac 上应该有一个这样的文件,但我不确定它藏在哪里。

相关内容