人们的想法不仅仅是你需要了解的关于优秀屏幕实用程序的基本内容,还有你认为值得从头开始教某人,初学者的事情吗?
我刚刚向Screen介绍了一位朋友,他们很难适应它.因此,用于记住绑定等的类比和方便技巧将是非常棒的.
这就是我以前在tmux中复制粘贴所做的事情(使用鼠标,键盘的工作方式不同,这不是我感兴趣的):
我升级了我的操作系统,这已经获得了一个新的tmux版本.我没有更改.tmux.conf配置文件.
这是我对目前的版本做tmux,1.6(其中来自预包装在最新的Linux crunchbang):
[0/24],可能与粘贴了多少个字符有关),这对我来说意义不大,我不需要/想要(编辑:它似乎copy-mode在这里自动输入)对于我每天做几十次的事情来说,这太麻烦了.如何让旧机制再次运作?
我想编写一个执行屏幕操作的Java终端应用程序.是否有任何好的库允许你像*nix/C世界中的curses一样操纵屏幕?
我正在寻找的最小功能是窗口和用户输入支持.
在功能方面,我希望有一个终端区域,其中一些数据定期更新,同时(同时)用户可以在屏幕的其他部分输入命令/文本.
GNU Screen似乎冻结了.无法输入用户输入.
我正在使用GNU屏幕,当我按下屏幕时,它变得没有响应.我可以执行所有GNU屏幕命令,但不能输入用户输入.我不想杀死这个屏幕,因为我有重要的工作,我不想失去它.
我刚安装screen并喜欢将linux终端分成多个部分的想法.但我无法弄明白一件事:当我进去时,如何向上和向下滚动screen.当我使用常规的Linux终端时,我可以用screen或实现这个screen.但不幸的是,它不适用于分割终端.
这就是我说screen和分割终端时的意思:

这是一个常规的终端(以防万一):

在linux中使用屏幕时,如何判断我是否在屏幕上?我可以这样做exit,如果我在一个屏幕上,我将退出屏幕,但如果我不在,那么我最终会关闭我的终端.
在做的时候screen -r,我可以看到我是否连接了其他屏幕,但是如何知道我当前的终端是否是其中一个连接的屏幕?
使用GNU Screen时,我们可以使用该命令使用回滚缓冲区,也称为"复制模式"Ctrl+a+[.
在那里,我们可以通过选择文本并再次按下来将文本复制到复制缓冲区.spacespace
有没有办法将此文本从屏幕复制缓冲区复制到X剪贴板?
在我的情况下,我使用Ubuntu 12.04与gnome和Xorg.
我在bash脚本中启动了一些屏幕,然后runserver在每个屏幕中运行django的命令.我希望能够以编程方式阻止它们,这需要我发送Control+c给runserver.
如何从我的bash脚本发送这些击键?
补充:我相信这个问题现在归入了这个问题: 完全透明地自动使用GNU Screen
另请参阅此相关问题:https:
//superuser.com/questions/147873/ssh-sessions-in-xterms-freeze-for-many-minutes-whenever-they-disconnect
原始问题:
如果有一种方法可以ssh到一台机器并立即重新连接到特定的屏幕会话,那将是很好的.你可以这样做:
laptop> ssh server.com screen -ls
Run Code Online (Sandbox Code Playgroud)
它将显示server.com上可用的屏幕列表,如[1]:
123.pts-1
456.pts-2
Run Code Online (Sandbox Code Playgroud)
然后你可能会尝试这样做:
laptop> ssh server.com screen -dr pts-2
Run Code Online (Sandbox Code Playgroud)
但那失败了,说"必须连接到终端".你必须首先ssh然后在server.com上执行"screen -dr pts-2",如果你有一个片状连接并断开很多连接,这是不好的.您希望能够通过笔记本电脑上的简单"向上箭头输入"继续.(或者让它更自动化.)
我对这个问题有一个可怕的解决方案,我将其作为答案发布,希望它能够被遗忘以支持正确的方法来解决这个问题.
[1]或者,更好的是,如果您使用" screen -S foo"和" screen -S bar" 等名称创建了屏幕会话,那么您将获得更友好的列表,如:
123.foo
456.bar
Run Code Online (Sandbox Code Playgroud)
并且可以重新连接,例如" screen -dr foo".
登录到server.com并执行操作
screen -S foo
Run Code Online (Sandbox Code Playgroud)
然后再也不会退出该会话.要从其他地方重新连接,请执行此操作
ssh -t server.com screen -dr foo
Run Code Online (Sandbox Code Playgroud)
列出要重新协调的可用屏幕:
screen -ls
Run Code Online (Sandbox Code Playgroud)
或者,当然,
ssh server.com screen -ls
Run Code Online (Sandbox Code Playgroud)
远程检查server.com的可用屏幕.
我现在使用以下别名(tcsh),基于Jason的答案,连接到命名屏幕(如果存在)或创建并连接:
alias ssc 'ssh -t \!:1 "screen -S \!:2 -dr || screen -S …Run Code Online (Sandbox Code Playgroud) 当我执行时screen -ls,我看到以下内容.我该如何杀死所有独立的会话?
屏幕上有:
Run Code Online (Sandbox Code Playgroud)84918.ttys002.ros-mbp (Detached) 84944.ttys008.ros-mbp (Detached) 84970.ttys013.ros-mbp (Attached) 84998.ttys002.ros-mbp (Detached) 85024.ttys002.ros-mbp (Detached)/var/folders/86/062qtcyx2rxbnmn8mtpkyghs0r0r_z/T/.screen中的5个套接字.