Questions tagged «gnu-screen»

GNU Screen是一个软件应用程序,可用于多路复用多个虚拟控制台。

8
在PuTTY和屏幕上使用Ctrl-箭头键
我进行了搜索,但找不到任何解决方案。我从Windows使用PuTTY连接到运行bash和screen的各种服务器。bash似乎可以使用ctrl-arrow键在命令行上逐字跳转,但在屏幕内无法正常工作。不在屏幕上,向左ctrl发送“ ^ [OC,向右发送ctrl-” [^ OD]。在屏幕上,我得到的是“ ^ [[C”和“ ^ [[D”,这似乎是使用PuTTY时,是否有任何方法可以使屏幕识别ctrl箭头键(仅供参考,我不记得在Linux中使用gnu-terminal而不是PuTTY时遇到此问题)。 更新:看来腻子是问题所在,因为它没有发送进行此操作所需的转义码。我现在放弃,使用Cygwin + mintty。
33 bash  gnu-screen  putty 

11
屏幕的隐藏功能
由于我整天都使用* nix命令screen,而且找不到任何人开始这个问题,因此我认为应该开始这个问题。您知道演练:社区Wiki,每个功能一个答案,因此我们所有人都可以投票。
31 gnu-screen 

6
创建屏幕并运行命令而无需附加
我正在使维护例程自动化,该例程涉及启动和停止在屏幕会话中运行的脚本。我的方法是杀死屏幕会话,然后重新启动它,并使用脚本功能在脚本内运行命令,以创建屏幕并传递命令,而无需附加到屏幕。 但是,我对此有困难。我可以在不使用的情况下正确创建屏幕screen -d -m -S screen_name。但是,如果我基于以下命令运行命令: screen -S screen_name-X stuff "command 1"'echo -ne '\015''"command 2"'echo -ne '\015'' 回声-ne'\ 015'用反引号而不是单引号引起来。这是模拟用户在我使用的命令移至目录并执行位于该目录的脚本时按下Enter键。该命令有效,但是仅在创建屏幕后将其附加到屏幕上的情况下。当我尝试自动化创建屏幕并在其中运行命令的过程时,我希望避免在脚本内附加和分离。我将尝试创建一个shell脚本的建议,该脚本包含需要在屏幕内执行并根据结果进行编辑的命令。 有没有一种方法可以创建屏幕并在屏幕中运行一个命令,或者在创建后但在执行命令之前不必附加到屏幕上? 提前致谢。 **更新-尝试过将我需要执行的命令放置在shell脚本中的建议,我已经能够成功创建一个屏幕并从该屏幕内执行命令,但是当脚本停止运行时,我的行为是屏幕也会关闭。这不应该是一个问题,因为该脚本是一个日志记录脚本,仅应在知道sys admin或通过我尝试开发的脚本后停止,但是最好以这样的方式进行屏幕设置:如果脚本停止,则不会消失。是否有可能实现这种行为?**
28 linux  gnu-screen 

3
重新附加或创建命名屏幕会话?(或持续的屏幕会话)
基本上,我有一个远程屏幕会话,我希望自动重新连接到该会话。目前,我正在通过以下命令(作为iTerm书签或别名)执行此操作 ssh host -t screen -x thesessionname 这可以正常工作,但是如果会话由于某种原因而终止,我希望在下次连接时重新创建它。的-R标记几乎screen是完美的: ssh host -t screen -R -S thesessionname ..但是如果会话已连接,则进行第二个会话(-R简单地寻找第一个分离的会话,如果找不到,则创建一个新的会话) 有没有一种方法可以使-R标志也查找附加的会话,并且仅thesessionname在不存在会话的情况下才创建一个新会话? 如果这不容易实现,我该如何在死后自动重新创建屏幕会话?也许通过cron运行的脚本查找命名的会话,创建该脚本不应该存在?
27 gnu-screen 

5
有没有办法使“屏幕”会话在重启后不受影响?
我正在使用Screen实用程序,并且想在机器重启时保留会话。如果可能的话,您可以推荐Screen的其他替代方法,该方法可以保留重新启动之间的会话。 如果有的话,我正在使用Ubuntu Server 10.04(Lucid Lynx)。 我通过屏幕打开了几个会话。机器重新启动时,所有这些会话都丢失了,我必须再次重新打开它们。我想找到一种方法来保留这些屏幕会话。
25 gnu-screen 

6
杀死一个屏幕(但不是所有屏幕)
我有多个在Ubuntu服务器上运行的屏幕,它们被初始化为: screen -dmS screen1 cmd screen -dmS screen2 cmd etc... 我需要杀死一个屏幕,但不是全部。用其名称杀死单个特定屏幕的正确命令是什么?我已经通读了手册页,但似乎找不到所需的命令。 另外,我想将此命令写入bash脚本中,所以我不能像往常一样简单地screen -r screen1按Ctrl+ X。
19 bash  gnu-screen  kill 

2
如何告诉GNU屏幕在每个新窗口中运行.bash_profile?
当我在GNU屏幕中打开一个新窗口时,它将运行,.bashrc但不会运行.bash_profile。在我的设置中,这导致某些环境变量未在该窗口中正确设置。 我如何告诉GNU屏幕始终运行.bash_profile而不是.bashrc打开新窗口?(请不要告诉我只打电话.bash_profile给我的电话.bashrc:)
18 gnu-screen 

3
SSH连接断开后无法重新连接到屏幕会话
我以前曾与进行长时间的屏幕对话screen -dr control。但是,有时此命令不会重新连接到屏幕,而是会永久挂起(在我终止后的10分钟以上)。仅当SSH连接意外断开时才会发生这种情况,而在用正确断开屏幕后则不会发生Ctrl-A d。其他开关,例如screen -x或screen -D -RR也不起作用。 这篇文章建议杀死举行屏幕会话的PTY,这将导致屏幕完成其断开连接。但是,它只是杀死了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' …
16 ssh  gnu-screen 

6
如何在OS X的ssh会话中向后滚动到屏幕?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我执行以下操作: 打开Terminal.app 打开到远程Linux服务器的ssh会话 在服务器上打开屏幕会话 启动一个程序,它会中断许多错误报告… 我该如何向上滚动阅读? 而且不,修复程序暂时还不是解决方案……

4
如何防止GNU屏幕重置提示?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 4年前关闭。 当我运行屏幕时,它会更改提示。我如何防止这种行为?例如: $ 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,其屏幕版本为4.00.02(FAU),2007年12月5日。
13 linux  gnu-screen 

5
使用屏幕时设置xterm(PuTTY)窗口标题吗?
我试图screen设定自己的xterm头衔。我在之外进行此工作screen,但是screen在启动时将其标题保持在原位。这是我的.bashrc: 函数bash_prompt_command(){ #$ PWD应保留多少个字符 本地pwdmaxlen = 25 #表示已被截断 本地trunc_symbol =“ ..” 本地目录= $ {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} …
12 gnu-screen  putty 

3
为GNU屏幕设置$ TERM
因此,我将屏幕以256色编译,并在Konsole上以256色模式运行。如果是开始屏幕,则将TERM设置为“屏幕”。如果我手动将TERM导出到screen-256color,则一切正常。 我有两个问题。第一个是为什么屏幕在支持时将TERM设置为“ screen”而不是“ screen-256color”?第二个是如果我的.screenrc文件中包含以下行 term screen-256color 为什么屏幕仍然没有设置我的任期? 附加信息:我正在Kubuntu Jaunty amd64上运行Screen版本4.00.03jw4(FAU)2006年5月2日
12 gnu-screen  term 

4
如何使用crontab启动屏幕会话?
我想创建一个crontab条目,以便它启动屏幕,启动游戏服务器并分离。这是为了防止服务器重新启动,并且我希望它为我自动启动它。 0 0 0 0 0(命令) 应该在启动时运行。 它运行位于〜/ cube / server.sh的shell文件

4
从脚本运行(GNU)屏幕
我想在屏幕会话中启动一些应用程序,但是要从脚本启动。 如果没有脚本,我将启动屏幕,然后使用crtl-ac打开N个窗口并在每个窗口中执行程序。 我尝试了以下 screen -d -m -S test screen -S test -X exec tail -f /var/log/messages screen -S test -X screen screen -S test -X exec tail -f /var/log/xinetd.log 但是,当我附加会话尾巴没有运行。如果我紧接会话screen -d -m -S startup并在screen -S startup -X exec tail -f /var/log/messages另一个终端上运行,它将起作用。 我错过了什么 ? 在AlexD回答后进行编辑: 半有效的解决方案是 screen -d -m -S test …
11 gnu-screen 

1
.screenrc-启动时的多个区域
我知道这是可能的,但我一生都无法弄清楚如何在分割区域模式下用一个窗口启动屏幕? 即:我已将屏幕设置为在启动时打开多个窗口,但希望将窗口0拆分为两个区域,并在每个区域中运行一个应用程序
11 gnu-screen 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.