Articles of 屏幕

是否可以在脚本中判断它是否在GNU屏幕中运行?

我们在远程服务器上有一个长时间运行的进程,这个进程会不时手动启动。 不幸的是,连接和启动作业的ssh会话可能会遇到互联网连接死亡,内核恐慌和其他一系列其他挑战。 屏幕似乎是确保过程不被中断的完美方式。 然而,依靠一个人总是记得开始画面,然后运行脚本来启动过程是一个等待发生的问题。 有没有办法从脚本我可以检查脚本是否被屏幕内部调用? 如果是,则进程将继续,否则脚本将退出并显示一条消息,指示用户先运行屏幕。

为gnu屏幕设置$ TERM

所以我用256色的屏幕编译,以256色模式在Konsole上运行。 如果开始屏幕,TERM被设置为“屏幕”。 如果我手动导出TERM到screen-256color一切都很好。 我有两个问题。 首先是为什么屏幕支持这个设置TERM到“屏幕”而不是“screen-256color”? 第二个是,如果我有我的.screenrc文件中的以下行 term screen-256color 为什么屏幕仍然没有设定我的任期? 更多的信息:我正在运行屏幕版本4.00.03jw4(FAU)2月5日在Kubuntu Jaunty amd64

在使用屏幕时设置xterm(PuTTY)窗口标题?

我试图让screen设置我的xterm标题。 我在screen外工作,但screen保持任何标题,当我开始它。 这是我的.bashrc : 函数bash_prompt_command(){ #$ PWD应该保留多less个字符 本地pwdmaxlen = 25 #表示已经有dir截断 本地trunc_symbol =“..” 本地dir = $ {PWD ## * /} pwdmaxlen = $(((pwdmaxlen <$ {#dir})?$ {#dir}:pwdmaxlen)) NEW_PWD = $ {PWD /#$ HOME / \〜} 本地pwdoffset = $(($ {#NEW_PWD} – pwdmaxlen)) 如果[$ {pwdoffset} -gt“0”] 然后 NEW_PWD = $ {NEW_PWD:$ pwdoffset:$ pwdmaxlen} NEW_PWD = $ {trunc_symbol} / […]

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

当我运行屏幕时,它改变我的提示。 我如何防止这种行为? 例如: $ echo $PS1 \[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ $ screen $ echo $PS1 [\u@\h \W]\$ 有趣的是,它不会在其他机器上这样做。 有问题的机器是Redhat 4 update 4,Screen version 4.00.02(FAU)05年12月5日。

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

我做了以下几点: 打开Terminal.app 打开SSH远程服务器的SSH会话 在服务器上打开一个屏幕会话 开始一个程序谁打破了许多错误报告行… 我怎样才能向上滚动阅读? 不,修复这个程序现在不是一个解决scheme。

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

我以前用screen -dr control重新连接到一个长时间的屏幕会话。 但是,有时这个命令不会重新连接到屏幕上,而是永远挂起(10分钟以后我中止了)。 这只发生在SSH连接意外丢失时,而不是在用Ctrl-A d正确分离屏幕时发生。 其他开关,例如screen -x或screen -D -RR也不起作用。 这个postbuild议杀死持有屏幕会话,这将导致屏幕完成其断开连接的PTY。 但是,它只是杀死了screen -dr control被调用的shell。 例如: $ 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 […]

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

我在Ubuntu服务器上运行了多个屏幕,这些屏幕的启动方式如下: screen -dmS screen1 cmd screen -dmS screen2 cmd etc… 我需要杀死一个屏幕,但不是所有的屏幕。 用它的名字杀死一个特定屏幕的正确命令是什么? 我已经通过手册页阅读,但我似乎无法find我正在寻找的命令。 另外,我想写这个命令到一个bash脚本,所以我不能简单地screen -r screen1然后按Ctrl + X ,我通常会。

有没有办法让“屏幕”会话继续重新启动?

我正在使用Screen实用程序,并希望在机器重新启动时保留会话。 如果不可能的话,你可以推荐屏幕的其他select,以保留重新启动之间的会话。 如果有问题,我正在使用Ubuntu Server 10.04(Lucid Lynx)。 我有几个会话通过屏幕打开。 当机器重新启动时,所有这些会话都会丢失,我必须重新打开它们。 我想find一种方法来保存这些屏幕会话。

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

如何使用screen来启动一个新的会话,并在该会话中运行一个命令而不杀死该会话? screen -S myScreenName runSomething 我试过上面的命令,它说 [screen is terminating] 它运行的命令,然后杀死屏幕? 我希望在运行命令而不是杀死它之后将屏幕分离。 如何做到这一点?

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

基本上我有一个远程屏幕会话,我想自动重新连接到..目前,我通过以下命令(作为一个iTerm书签或别名) ssh host -t screen -x thesessionname 这工作正常,但如果会议因为任何原因死亡,我希望它在我下次连接时重新创build。 screen的-R标志几乎是完美的: ssh host -t screen -R -S thesessionname ..但是如果会话已经连接,第二个会话被取得(因为-R简单寻找第一个分离的会话,如果没有发现它创build一个新的) 有没有办法让-R标志也查找连接的会话,只有创build一个新的,如果thesessionname不存在? 如果这不是一件容易的事情,我怎么能自动重新创build屏幕会话,当它死亡? 也许一个脚本运行通过cron查找命名的会话,创build它应该不存在?