标签: gnu-screen

重新附加或创建一个命名的屏幕会话?(或持续的屏幕会话)

基本上我有一个远程屏幕会话,我希望自动重新附加到..目前我正在使用以下命令(作为 iTerm 书签或别名)

ssh host -t screen -x thesessionname
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果会话因任何原因终止,我希望在下次连接时重新创建它。该-R用于标志screen几乎完美:

ssh host -t screen -R -S thesessionname
Run Code Online (Sandbox Code Playgroud)

..但是如果会话已经附加,则创建第二个会话(作为-R第一个分离会话的简单查找,如果没有找到,则创建一个新会话)

有没有办法让-R标志也寻找附加的会话,如果thesessionname不存在则只创建一个新的会话?

如果这不容易实现,我怎么能在它死掉时自动重新创建屏幕会话?也许一个通过 cron 运行的脚本寻找命名会话,如果它不存在就创建它?

gnu-screen

30
推荐指数
3
解决办法
2万
查看次数

启动 Unix 屏幕,运行命令,分离

如何screen用于启动新会话并在该会话中运行命令而不终止该会话?

 screen -S myScreenName runSomething
Run Code Online (Sandbox Code Playgroud)

我试过上面的命令,它说

[screen is terminating]
Run Code Online (Sandbox Code Playgroud)

它是否运行了命令然后杀死了屏幕?我希望在运行命令后分离屏幕而不是杀死它。那怎么办呢?

ubuntu bash gnu-screen

24
推荐指数
3
解决办法
5万
查看次数

如何通过SSH运行脚本,当我关闭连接时不会结束?

我需要运行脚本,这需要很长时间才能执行,或者我只想让它永远运行。我不能只通过 SSH 连接到我的机器,因为当我断开连接时它会停止运行。

有没有办法运行不依赖于启动它的 shell 的脚本?

我正在使用 Ubuntu 9.04。

ubuntu ssh bash nohup gnu-screen

23
推荐指数
3
解决办法
5万
查看次数

杀死一个屏幕(但不是所有的屏幕)

我在 Ubuntu 服务器上运行了多个屏幕,这些屏幕启动为:

screen -dmS screen1 cmd
screen -dmS screen2 cmd
etc...
Run Code Online (Sandbox Code Playgroud)

我需要杀死一个屏幕,但不是全部。用其名称杀死单个特定屏幕的正确命令是什么?我已经阅读了手册页,但似乎找不到我正在寻找的命令。

此外,我想将此命令写入 bash 脚本中,因此我不能像往常一样简单地screen -r screen1Ctrl+ X

bash kill gnu-screen

22
推荐指数
2
解决办法
6万
查看次数

如何告诉 GNU screen 在每个新窗口中运行 .bash_profile?

当我在 GNU 屏幕中打开一个新窗口时,它运行.bashrc但不运行.bash_profile. 在我的设置中,这会导致在该窗口中未正确设置某些环境变量。

如何告诉 GNU screen 始终运行.bash_profile而不是.bashrc打开新窗口?(请不要告诉我只是.bash_profile从我的.bashrc:)

gnu-screen

19
推荐指数
1
解决办法
1万
查看次数

SSH 连接断开后无法重新连接到屏幕会话

我之前曾使用screen -dr control. 但是,有时此命令不会重新附加到屏幕,而是永远挂起(10 分钟后我中止)。这仅在 SSH 连接意外断开时发生,而不是在屏幕与Ctrl-A d. 其他开关,如screen -xscreen -D -RR也不起作用。

这篇文章建议杀死持有 screen 会话的 PTY,这将导致 screen 完成其断开连接。但是,它只是杀死从中screen -dr control调用的外壳。

例如:

$ ps -ef | grep control | grep -v grep
nomad     7387  7109  0 13:05 pts/50   00:00:00 screen -dr control
nomad    15299     1  0 Nov27 ?        00:13:47 SCREEN -S control

$ ps -ef | grep bash | grep 'pts/50'
nomad     7109  7108  0 12:49 pts/50   00:00:00 -bash
Run Code Online (Sandbox Code Playgroud)

链接的帖子建议杀死 …

ssh gnu-screen

16
推荐指数
2
解决办法
4170
查看次数

如何使用 crontab 启动屏幕会话?

我想创建一个 crontab 条目,以便它启动屏幕,启动游戏服务器并分离。这是为了以防服务器重新启动并且我希望它自动为我启动它。

0 0 0 0 0(命令)

应该在启动时运行。

它运行一个位于 ~/cube/server.sh 的 shell 文件

linux cron gnu-screen gameserver

14
推荐指数
2
解决办法
4万
查看次数

为 gnu 屏幕设置 $TERM

所以我用 256 色编译了屏幕,以 256 色模式在 Konsole 上运行。如果开始屏幕,则 TERM 设置为“屏幕”。如果我手动将 TERM 导出到 screen-256color ,则一切正常。

我有两个问题。第一个是为什么 screen 在支持时将 TERM 设置为“screen”而不是“screen-256color”?第二个是,如果我的 .screenrc 文件中有以下行

term    screen-256color
Run Code Online (Sandbox Code Playgroud)

为什么 screen仍然没有设置我的任期?

附加信息:我正在 Kubuntu Jaunty amd64 上运行 Screen version 4.00.03jw4 (FAU) 2-May-06

term gnu-screen

13
推荐指数
2
解决办法
2万
查看次数

如何防止 GNU Screen 重置我的提示?

当我运行 screen 时,它会改变我的提示。我如何防止这种行为?例如:

$ echo $PS1
\[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
$ screen
$ echo $PS1
[\u@\h \W]\$
Run Code Online (Sandbox Code Playgroud)

有趣的是,它在其他机器上不会这样做。有问题的机器是 Redhat 4 update 4,屏幕版本为 4.00.02 (FAU) 5-Dec-03。

linux gnu-screen

13
推荐指数
1
解决办法
6693
查看次数

如何在 OS X 的 ssh 会话中回滚屏幕?

我执行以下操作:

  1. 打开 Terminal.app
  2. 打开到远程 Linux 服务器的 ssh 会话
  3. 在服务器上打开一个屏幕会话
  4. 启动一个程序,该程序因多行错误报告而中断……

我怎样才能向上滚动阅读?

不,修复程序现在不是解决方案......

ssh terminal mac-osx gnu-screen

13
推荐指数
4
解决办法
5万
查看次数

标签 统计

gnu-screen ×10

bash ×3

ssh ×3

linux ×2

ubuntu ×2

cron ×1

gameserver ×1

kill ×1

mac-osx ×1

nohup ×1

term ×1

terminal ×1