标签: gnu-screen

GNU Screen和Vim:使用鼠标调整分割窗口缓冲区大小

使用Vim在GNU屏幕上工作时,我无法使用鼠标调整分割窗口大小.其余全鼠标操作在Vim的正常工作(滚动,用鼠标选择文本等).我一般都se mouse=n在我.vimrc.调整GNU屏幕外的窗口缓冲区大小非常好.

这是vim信息:

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jan 19 2012 18:05:29)
Included patches: 1-401
Compiled by root@arun-mu
Normal version without GUI.  Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments -conceal +cryptv +cscope +cursorbind
+cursorshape +dialog_con +diff +digraphs -dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path +find_in_path +float +folding -footer +fork() +gettext -hangul_input -iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent …
Run Code Online (Sandbox Code Playgroud)

vim gnu-screen

10
推荐指数
2
解决办法
2264
查看次数

bash:如何使用屏幕在下班后在家中使用术语会话?

一切都在标题中,我想开始一个工作会议,并能够在我在家时得到它.

bash gnu-screen

9
推荐指数
1
解决办法
7836
查看次数

gnu screen:重新连接所有以前分离的会话

我在一个screen会话中有几个窗口,然后我想分离我的会话.这没有问题.

但我无法找到一种方法来恢复我之前分离的会话中的所有窗口.我可以看到我可以通过ID恢复其中一个.

但是,如何在其中的所有窗口中重新连接相同的会话环境?

-

Updated:

如果我键入screen -d -r,这就是说:

There are several suitable screens on:
    21074.pts-7.atx (05/29/2010 02:26:32 PM)    (Attached)
    3420.pts-3.atx  (05/29/2010 12:16:41 AM)    (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Run Code Online (Sandbox Code Playgroud)

我怎样才能重新连接所有这些?

unix gnu-screen

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

如果屏幕被取消,GNU Screen中的Python最终会变得空闲

我有一个python脚本,它使用多处理和子进程与不同的参数并行启动多个外部命令.代码可以在这里找到.

为方便起见,我在GNU Screen会话中启动此脚本.运行此脚本的计算机有12个处理器,这些处理器在进程变为活动状态之前处于空闲

每个过程需要几个小时到几天才能运行,因此我经常断开与机器的连接并分离屏幕会话.

然而,最近我注意到了一种我以前从未体验过的行为.有几次我回到机器上,发现零负载是空闲的.如果我通过ps ux或获得活动进程列表,或者top我仍然可以在进程列表中找到脚本(和子进程).然后我重新连接屏幕会话以检查程序的状态,并立即将新的一批进程发送到队列,并且系统的负载在几秒钟内返回到12.请注意,除了重新连接屏幕会话之外,我对脚本完全没有任何作用.

我在系统上安装了一个监控工具,结果是一些流程在一段时间后完成并且没有启动新流程.因此系统处于活动状态,直到子进程忙,并且一旦没有更多的作业从队列中释放就变为空闲.

所以我的问题是,有没有人知道解释这种行为的任何原因?

编辑:大约一年后,这个问题不再可重现,无论是屏幕上的一些补丁还是python本身.我接受了答案,因为它为测试提供了良好的指导.

python subprocess gnu-screen multiprocessing idle-processing

9
推荐指数
1
解决办法
553
查看次数

从.screenrc在GNU Screen窗口中运行命令

有没有办法从我的.screenrc向GNU Screen窗口发送一系列命令?看起来这应该很容易做到:

.screenrc:

startup_message off
screen -t "RAILS SERVER"
<send command to last created window> <my alias to cd Rails project>
<send command to last created window> rails s
screen -t "RAILS CONSOLE"
<send command to last created window> <my alias to cd to Rails project>
rails c
Run Code Online (Sandbox Code Playgroud)

我已多次浏览屏幕手册,但找不到任何可能的内容<send command to last created window>.

谢谢,马克斯

gnu-screen

9
推荐指数
2
解决办法
8022
查看次数

如何将elscreen标签放在顶部?

我在我的GNU Emacs 24.2.1中使用elscreen目前,当我拆分窗口时,我在每一半都有一个相同的选项卡面板: elscreen http://i.zlowiki.ru/121101_0f30ebba.png/800 请注意这两个下部窗口与最大窗口具有相同的选项卡.

如何删除这两个副本,并只保留最重复的一个?

如果它太难了,GNU屏幕可以使用另一种替代方案吗?

emacs elisp gnu-screen

9
推荐指数
1
解决办法
1320
查看次数

在.screenrc中设置环境变量

我正在尝试编写一个.screenrc文件,我可以用它来设置特定项目的开发 - 它将启动几个屏幕,cd到正确的位置,在编辑器中打开正确的文件,并设置一些测试所需的环境变量.

我无法让环境设置工作..我已经尝试过这个`~/.screenrc:

setenv PATH ~/src/my_proj/bin/:$PATH
Run Code Online (Sandbox Code Playgroud)

这不起作用,我认为问题是在screen设置之后PATH,常规shell初始化脚本会启动并在我身上进行更改.

我不想禁用常规shell init脚本.shell初始化setenv 有没有办法制作屏幕?或者,可以屏幕将变量设置为只读吗?

gnu-screen

9
推荐指数
3
解决办法
4928
查看次数

使用Screen粘贴时,为什么在换行后会有额外的空格?

我正在使用屏幕将我正在使用Vim查看的代码从一个窗口复制到另一个窗口,当前正在使用Vim编辑文件.不幸的是,当粘贴到第二个窗口时,每个换行后我的输入左边的空白区域越来越多.这个空白如何进入我的缓冲区?

我试图在Vim添加额外的空格时关闭自动缩进,但问题仍然存在.

以下是可能相关的信息:

  • OSx 10.6.8
  • 这两个文件都是Unix风格.
  • 屏幕版本:4.00.03
  • Vim版本:7.3
  • 底层终端类型是:xterm-color

vim whitespace gnu-screen

9
推荐指数
1
解决办法
5192
查看次数

提示中的Git分支名称

我能够在shell提示符中显示git分支名称.但每当我使用屏幕时,我都会得到

bash: parse_git_branch: command not found
Run Code Online (Sandbox Code Playgroud)

和git分支没有显示.请帮我在屏幕会议中得到这个.

我在.bash_profile中有以下内容.

parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/
}

export PS1="[\W\$(parse_git_branch)]$ "
Run Code Online (Sandbox Code Playgroud)

我没有 .git-completion.bash

系统规格:

  • 操作系统:OSX 10.8.4
  • 终端和iTerm2
  • 屏幕版本:4.00.03(FAU)2006年10月23日

git bash gnu-screen

9
推荐指数
3
解决办法
7203
查看次数

GNU屏幕上的Screenlog和Hardcopy之间的差异

介绍

我是新用的GNU screen,我使用它主要是因为我不想丢失我的工作,如果我的SSH连接意外关闭,还因为我想保留我的终端上打印的每个输出的日志文件(至少一些最近的曲目)

对于SSH的东西,我想Ctrl+ a d分离和/ screen -rscreen -r session_name重新连接到一些会话解决我的所有问题,现在我正在尝试了解日志记录.

我发现screenloghardcopy此链接上,基本上说:

hardcopy Ctrl + a h将当前显示内容写入hardcopy.n窗口默认目录中的文件,其中n是当前窗口的编号.如果该文件存在,则会附加或覆盖该文件(由hardcopy_append命令确定).

log Ctrl + a H开始/结束当前窗口的记录到screenlog.n窗口默认目录中的文件,其中n是当前窗口的编号.如果未给出参数,则切换日志记录状态.会话日志将附加到文件的先前内容(如果已存在).回滚历史记录的当前内容和内容不包括在会话日志中.默认是off.


观察到的行为

因此,据我所知并尝试使用它们,启用后screenlog,它会记录我写的所有内容以及该文件中的终端的所有输出(这恰好$HOME适用于我),包括那些改变颜色的字符\033[1;31mm.如果我这样做cat screenlog.0,它会崩溃,有时无限期地打印文件,但好吧,我可以用编辑器或其他会话打开它...

至于hardcopy,显然它没有跟踪命令,也没有输出的颜色,我不知道它是否只需要终端中可见的那几行或该会话中发生的一切,有人可以向我澄清这一点吗?

最后,我开screenTerminator,而不是传统的终端,即使我打开不同screen的不同的Windows会话Terminator,所有日志去screenlog.0hardcopy.0.在这种情况下screenlog,它是否会与在其他会话上输出或覆盖它的另一个进程冲突?如何创建不同的screenlog.n文件并将它们放在除以外的目录中$HOME? …

terminal logging gnu-screen

9
推荐指数
1
解决办法
2303
查看次数