我在bash脚本中启动了多个屏幕,然后在其中的每一个中运行django的runserver命令。 我希望能够以编程方式停止它们,这就要求我将Control+c发送到runserver 。 我怎样才能从我的bash脚本发送这些击键?
是否可以使用shell脚本来设置Screen-Title ? 我想了一些像发送键盘命令Strg+A Shift-A Name <Enter> 我search了大约一个小时如何在shell脚本中模拟击键,但没有find答案。 感谢帮助! Beerweasle
当使用GNU Screen时,我们可以使用Ctrl+a+[命令来处理也称为“复制模式”的 回滚缓冲区 。 在那里,我们可以通过按spaceselect文本并再次按space来将文本复制到复制缓冲区 。 有没有办法将这个文本从屏幕复制缓冲区复制到X剪贴板? 在我的情况下,我使用GNOME和Xorg的Ubuntu 12.04。
我有一堆服务器,我使用screen运行实验。 程序如下: ssh到服务器XXX 启动screen 在几个标签中开始实验 分离screen 与服务器断开连接 在实验运行的过程中,我可以很容易地find所有服务器上的服务器,并列出正在运行的进程(使用top或ps )。 但是,一旦实验完成后,我怎么能find在哪个服务器上打开一个屏幕会话(以便我可以看看输出,重新启动它们等)? PS:我的实验也打印输出到文件,但是这不是我的问题的重点。
补充:我相信,现在这个问题包含在这个问题中: 完全透明地自动使用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 它会显示server.com上可用的屏幕列表,如[1]: 123.pts-1 456.pts-2 然后你可能会尝试这样做: laptop> ssh server.com screen -dr pts-2 但是失败了,说“必须连接到terminal”。 你必须首先ssh,然后在server.com上执行“screen -dr pts-2”,如果你有一个脆弱的连接并断开很多,那么这是不好的。 您希望能够在笔记本电脑上使用简单的“向上箭头键”进行恢复。 (或者也许使它更自动化。) 对于这个问题,我有一个匪夷所思的解决scheme,我会作为答复发表意见,希望得到的结果是被遗忘而转移到正确的方式来解决这个问题。 脚注: 或者,更好的是,如果您使用“ screen -S foo ”和“ screen -S bar ”等名称创build了屏幕会话,那么您将得到一个更友好的列表,如: 123.foo 456.bar 并可以重新连接,例如“ screen -dr foo ”。 迷你屏幕教程,结合这个问题的答案: login到server.com并执行 screen -S foo 然后再也不会从该会话中注销。 要从其他地方重新连接,请执行 ssh […]
在linux中使用屏幕时,如何判断我是否在屏幕上? 我可以exit ,如果我在一个屏幕,我会退出一个屏幕,但如果我不在,那么我最终会closures我的terminal。 在进行screen -r ,我可以看到是否还有其他屏幕,但是如何知道当前的terminal是否是其中一个屏幕?
这是我以前在tmux中做的复制粘贴(使用鼠标,键盘工作方式不同,而不是我感兴趣的): 用鼠标select文本,左键按下 用中间button粘贴文本 我已经升级了我的操作系统,这已经得到了一个新的tmux版本。 我没有改变我的.tmux.confconfiguration文件。 这就是我所要做的与当前版本的tmux 1.6 (预先打包在最新的crunchbang linux中): 用鼠标select文本,按住左键并切换键 用中间button粘贴文本 terminal被阻塞,一个小信息区显示当前窗格右上方的一些数字(即[0/24] ,可能与有多less个字符被粘贴有关),这对我来说意义不大,我不需要/想要(编辑:这似乎是自动进入copy-mode ) 我必须再次按下q键才能获得functionterminal。 对于我每天要做几十次的事情来说,这太麻烦了。 如何让旧的机制再次运作?
我在命令行screen使用了screen多路复用工具,并打开了很多屏幕。 然后我忘记哪个进程ID与哪个任务相关联。 我想为屏幕设置一个名称,但在联机帮助页中找不到选项。 目前,列出屏幕如下所示: There are screens on: 5422.pts-1.aws1 (Detached) 5448.pts-1.aws1 (Detached) 5027.pts-1.aws1 (Detached) 3 Sockets in /var/run/screen/S-sb. 我想看到这样的事情: There are screens on: 5422.logCleanWorker (Detached) 5448.overNightLongTask(Detached) 5027.databaseOverNightLongTask (Detached) 3 Sockets in /var/run/screen/S-sb. 我怎样才能做到这一点?
我从某个地方学到了一个独立的屏幕可以被杀死 screen -X -S [你要杀的会话#] kill 你可以从哪里获得[想要杀死的会话] 屏幕-ls。 但是这不起作用。 哪里不对了? 什么是正确的方法?