screen -RR是很棒的。它会自动执行以下两件事之一:
我screen -RR经常使用 Windows 服务器远程桌面,当客户端连接到远程桌面服务器时,行为几乎相同。这是自然的,我喜欢它。
但是,当screen -RR确定它应该创建一个新会话时,它会在终端底部显示一条消息行 5 秒。我想隐藏这条消息行,因为它给我们带来的好处很小。在我看来,远程用户总是可以从他在终端窗口中看到的内容轻松区分他是连接到恢复会话(堆积显示)还是新创建的会话(干净显示)。

那么,有没有办法抑制唠叨“新屏幕......”?只是抑制那个,而不是全局抑制消息行。
我的环境:opensuse 11.3,GNU screen 4.00.03 (FAU) 23-Oct-06
我不小心在 ec2-user 下锁定了屏幕(按下 Ca Cx)。据我所知 ec2-user 没有密码。
现在提示我输入密码才能解锁。
我不想终止在该屏幕下运行的进程。有没有办法解锁屏幕?
我们的网络包括一系列哑文本终端,它们通过 telnet 进入 SCO OpenServer 6 服务器。有时,这些终端之一会崩溃,迫使操作员转移到另一个终端,直到损坏的终端得到修复或更换。
这通常会导致进程挂起,并且重要文件的相关烦恼没有被正确关闭。与其手动终止进程并关闭/修复未关闭的文件,不如将现有进程“重新附加”到新终端并允许操作员继续操作,就好像什么也没发生一样。
所以问题是:这甚至可能吗?如果是这样,对我来说最好的方法是什么?
我有一个附加的屏幕会话,我正在运行一些作业。我没有拆开它就关闭了它的终端,因为它没有突然响应。现在screen -ls我可以看到它仍然附加。但是我不能在不先拆下的情况下重新安装它,但是拆下它需要很长时间而且还没有完成。
bash-3.2$ screen -ls
There are screens on:
14493.ssh2others (Attached)
1 Socket in /tmp/uscreens/S-tim.
bash-3.2$ screen -r 14493
There is a screen on:
14493.ssh2others (Attached)
There is no screen to be resumed matching 14493.
bash-3.2$ screen -d 14493
Run Code Online (Sandbox Code Playgroud)
我想知道为什么需要这么长时间而且还没有完成分离?
由于我的工作在 screen 会话中运行,我担心杀死它也会杀死我的工作。那么我现在能做些什么来分离和重新连接它呢?
谢谢!
screen 有没有办法关闭状态栏?理想情况下,仅当我打开 2 个以上选项卡时才显示它?哪些.screenrc条目可以实现这一目标?
我想配置 GNU screen 以便它将所有不同窗口的命令历史存储在不同的文件中。
我知道默认情况下 GNU screen 根本不将命令历史记录(其不同窗口的)存储在文件中(而是将它们存储在内存中),但是可能会告诉它将它们存储在文件中?
不同的命令历史文件应具有名称<session>.<window>.history或类似名称。
有谁知道如何做到这一点?
(明确地说,我希望每个 GNU 屏幕窗口编写不同的文件。我喜欢每个窗口都有不同的历史记录,而且我通常在不同的窗口中运行不同类型的命令。)
前几天我看到有人连接到终端底部(Mac OS X 终端)带有状态栏的 ssh shell。它包含诸如上传速率、内存使用情况、时间、当前用户名和其他一些内容。
我想知道如何复制它。
ctrl + abyobu 下有 emacs 模式或屏幕模式。但是,对于 vim 的“增量值”方法,我需要像 ctrl + a 这样的键绑定。如何防止 byobu/screen 阻止某些键盘快捷键?
注意:我知道功能命令对于切换屏幕选项卡是必不可少的,所以那些可以留下来..这真的只是我试图摆脱的 emacs 风格的键绑定。
我的系统中有一个守护进程,它在一个屏幕实例内运行,所有这些都是由一个非特权用户完成的。我已将自己添加到特殊的 sudo 组,允许我从该用户运行 screen,但是当我尝试使用它时,例如
sudo -u that_user -H /usr/bin/screen -R
Run Code Online (Sandbox Code Playgroud)
我明白了这篇文章的主题。
四处挖掘我发现此消息意味着屏幕无法抓取或输出到我在调用它时实际使用的 pty。对此的常见答案是将我的 /dev/pts/N chmod 为其他人的 rw,但我记得我以某种方式设法较早地避免了这种情况。也许我错过了为 sudo 保存一些环境?
特别是我试图通过 sudo 从普通用户连接到在屏幕上运行的 rtorrent 守护程序,操作系统是 Gentoo amd64。以下是从 rc 脚本调用 screen 的方式:
start-stop-daemon \
--start \
--make-pidfile \
--pidfile /var/run/rtorrentd.pid \
--background \
--user $USER \
--env HOME="${PWHOME:-/home/$USER}" \
--name rtorrent \
--exec /usr/bin/screen -- -D -m -S rtorrentd /usr/bin/rtorrent
Run Code Online (Sandbox Code Playgroud)
终于找到了实际的解决方案:
alias rtorrent="urxvt -hold -e /bin/bash -c \"chmod o+rw \\\`tty\\\` && sudo -u rtorrent -H screen -r rtorrentd\""
Run Code Online (Sandbox Code Playgroud) 我的服务器上有很多屏幕。随着screen -ls我得到:
There are screens on:
12858.test1 (Detached)
28210.test2 (Detached)
12494.moretesting3 (Detached)
31787.testingfour4 (Detached)
13192.testscreen5 (Detached)
5 Sockets in /var/run/screen/S-root.
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用screen -S 12858 -X quit或退出单个屏幕,screen -S test1 -X quit但我需要一种同时关闭所有屏幕的方法。
是否有能够关闭每个打开/分离屏幕的 ssh 命令或 bash 脚本?
gnu-screen ×10
byobu ×2
linux ×2
terminal ×2
amazon-ec2 ×1
bash ×1
key-bindings ×1
shell ×1
ssh ×1
sudo ×1
telnet ×1
unix ×1
vim ×1