我写了一个看起来像这样的脚本(不起作用):
#!/bin/sh
screen -dmS "somename" somecommand
for i in {0..5}; do
screen -dmS "name$i" anothercommand $i
done
Run Code Online (Sandbox Code Playgroud)
出于某种原因,如果我将其复制并粘贴到终端中,它会按照我的预期创建 7 个分离的屏幕会话。但是,如果我从脚本中运行它,当我运行screen -ls.
编辑:如果可以通过另一种方式完成相同的操作(例如,使用多个屏幕窗口而不是会话),我也会打开这些解决方案。谢谢!
通常我有 ssh-agent 运行,我 ssh 到我的堡垒主机,然后打开一个 tmux 会话并通过它连接到其他盒子。密钥转发适用于我从那时起打开的任何会话。
如果我在关闭终端后恢复我的 tmux 会话,让我的笔记本电脑休眠,无论如何,我在堡垒会话上的密钥转发仍然有效,就像在任何新会话上转发一样。但是,现有的不起作用。
我的 bashrc 中有一个小东西可以在我恢复 tmux 时保持密钥转发工作,但是我无法弄清楚如何让它继续为 tmux 中打开的会话工作。
例如,我有 bastion01、dbhost01、dbhost02、webhost01 和 webhost02。
如果我打开与 bastion01 的连接,请在那里启动 tmux,然后连接到 dbhost01 和 webhost01 转发工作。如果我关闭该连接,重新连接并附加我现有的 tmux 会话,然后将连接添加到 dbhost02 和 webhost02,密钥转发在 02 框上有效,但在 01 上无效。
请帮忙!
我试图screen从源代码在 RedHat上安装该命令。但是当我运行时configure,它返回了
configure: error: !!! no tgetent - no screen
Run Code Online (Sandbox Code Playgroud)
那么有没有人知道如何修复它?
通过阅读“构建无线传感器网络”一书,我了解到您可以使用 Screen 实用程序连接到串行控制台。我尝试使用它连接到 XBee 模块,它似乎工作正常,只是它没有在终端中回显本地键入的字符。到目前为止,我发现的唯一似乎有帮助的方法是使用 stty 实用程序在 tty 设备上设置“echo”选项,但更改似乎没有生效。我在 tty 设备上运行 stty 并通过它“echo”。如果我再次运行 stty 以打印出当前选项,它仍然显示“-echo”已设置。如果我对语法的理解是正确的,破折号表示该选项已关闭,没有破折号表示它已打开。我也试过用 sudo 设置 echo 选项,但那没有
我显然在这方面不是很了解,所以任何帮助将不胜感激。
我通过 ssh 在服务器上启动了一个测试文件系统调整大小,但完全忘记在screen会话中这样做。现在它正在运行,我的笔记本电脑的互联网速度很慢。如果我断开 ssh 连接,有什么办法可以让它继续运行吗?
它也输出进度,但我不必关心得到它。
操作系统:RHEL7.2 等效 (SL7)。
将其链接为解决方案可能会更好:https : //stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup
不知道如何链接它而不是建议的链接,所以请随意添加并标记为重复
我一直screen在 Linux 中使用命令行程序,我查看了手册页但没有找到答案(虽然我可能只是错过了):
我想要做的是有一个单一的命令来分割当前区域,标签到新区域,并在其中打开一个新屏幕。我希望有某种方法可以进入命令(冒号)模式并执行类似的操作,split; focus down; screen但这不起作用。有任何想法吗?是否可以将一系列命令绑定到单个C-a绑定?
我在Mac OS X 中使用iTerm。当我运行时,终端被调整大小并且我收到消息screen
Aborted because of window size change.
Run Code Online (Sandbox Code Playgroud)
然而,screen仍在运行。
如何让它停止调整终端大小?
我正在尝试使用 screenrc 文件改进 GNU Screen 的方面,我调整了颜色、状态行、标题和加载的窗口列表。
我唯一无法实现的是使用当前执行的命令获取标题,如下图所示,注意右侧窗格中的 vim 标题:

我目前拥有的是this,我想获得的是使用|0 less| 1 man而不是当前的|0 bash| 1 bash.
我怎样才能做到这一点?
更新:到目前为止,我找到的唯一可行的解决方案是在这篇文章中,但它没有打印出我需要的...
然而,这是迄今为止我发现的唯一有效的动态标题。
PROMPT_COMMAND='echo -ne "\033k\033\134\033k${HOSTNAME}[`basename ${PWD}`]\033\134"'`
Run Code Online (Sandbox Code Playgroud)
在 .bashrc 和shelltitle '] |bash'.screenrc 中。标题更新了主机名和工作目录的基名,但是提示完全错误(也有前导空格):
134134fabio@host10:~$
Run Code Online (Sandbox Code Playgroud) 我的朋友为我提供了一份相当详细的资料.screenrc,我将其放入我的~/目录中。当我运行screen它时,我非常有信心没有利用文件中的编辑。
~/.screenrc文件?gnu-screen ×10
linux ×4
bash ×3
command-line ×2
macos ×2
ssh ×2
tmux ×2
iterm ×1
macros ×1
script ×1
serial-port ×1
ssh-agent ×1
terminal ×1