我想要做到以下几点:重启后,我想开始一个屏幕,然后应该执行一个脚本。 所以我search了crontab和screen,我也find了一些答案。 但是,没有什么适合我的。 我正在运行一个安装了屏幕的Ubuntu Linux,我想运行一个Python脚本。 下面的工程screen -d -m打开一个屏幕但不运行任何东西。 相反,我想创build一个屏幕并启动一个脚本。 从网上find的答案告诉我这是通过screen -d -m scriptname来完成的。 在我的情况下,scriptname是main.py(我检查它是可执行的)。 但是, screen -m -d /path/to/main.py不会创build屏幕。 这是我的控制台输出 $ screen -d -m /opt/main.py $ screen -x There is no screen to be attached. 但是,这工作,但不执行python脚本: $ screen -d -m $ screen -x 我在这里做错了什么? 谢谢 :)
目前的GNU屏幕会弄乱某些击键,例如CTRL与箭头键组合,所以,例如在vim插入模式下,CTRL-PGUp将大写下一个/当前字(或类似的东西)。 我希望它能够非常透明地工作,所以它的function和没有运行的时候是一样的(CTRL是一个控制序列)。这是可能的吗? 另外 – 我怀疑这或多或less是一个单独的问题 – 我想让滚轮在会话日志中回滚,而不是像现在这样循环浏览历史logging。 可行? 或者,也许它可以设置为模拟一个更大的屏幕大小,它所运行的terminal应用程序可以将该文本保留在其会话日志中。 无论哪种方式,目标是能够使用鼠标滚轮和/或上移箭头在会话日志中向后滚动。
我遇到的问题是,当我在普通的SSHterminal中,$ TERM设置为xterm-256color ,并且Linux屏幕中的terminal宽度非常小(窄)。 我正在运行Arch Linux。 当我在默认的SSHterminal(从屏幕会话分离),然后我的terminal宽度是好的,它一路走来。 但是,当我启动屏幕时,我的terminal宽度变窄了许多,我的所有文件都被包裹或截断。 它从大约1400列到80列; 这很糟糕。 任何想法如何使它在普通terminal中工作的方式工作? 我无法按照我需要的方式使用屏幕,直到我解决问题。
标题几乎说明了一切,但是这里有一个简短的例子: 我想要什么: 多屏幕窗口 多个“上下文”:例如“资源”上下文,“编译”上下文等 每个上下文都可以拥有自己的打开窗口的子集,这些打开的窗口被拆分屏幕分割 在这一刻,似乎只能创build多个屏幕会话来实现这一点。 是否可以创build一个提供上述function的屏幕实例 ? 如果不是,那么是否可以在活动屏幕实例之间切换,就像使用^A "在窗口之间切换一样?
TL; DR 我想远程执行一个同步开始的脚本(如果准备命令失败,本地ssh命令就会失败),然后进行asynchronous,从而终止本地的ssh命令。 细节 我在远程服务器上有一个脚本,可以慢慢下载一个多GB的文件。 我想通过SSH从本地服务器启动这个脚本,使用ssh remote-server'nohup / path / to / script arguments',但是当我知道脚本已经成功开始下载时,终止SSH连接。 一旦启动,SSH连接就没有任何用处,在下载过程中系统失败,并阻止本地服务器的执行。 我不能只执行ssh -f或ssh &因为如果远程脚本没有启动,在下载之前第一个命令失败,或者如果远程服务器不可用,我需要命令在本地服务器上失败。 我已经尝试过各种nohup和screen技巧。 我得到的最接近的是: 由本地服务器启动: ssh -t me@remote-server 'screen -S long-download /path/to/download.sh' 要么 ssh -t me@remote-server 'nohup screen -S long-download /path/to/download.sh' 在远程服务器上启动的download.sh : preliminary-instructions # if anything fails so far then the local server's ssh command should fail synchronously […]
在屏幕上 ,有一种方法可以将窗口置于其他2个窗口之间而不是交换? 这是我的 1 – I want this to become #2 2 – I want this to become #3 3 – I want this to become #1 如果我去屏幕#3并input命令“:number 1”,新的订单是 1 – I want this to become #1 2 – I want this to become #3 3 – I want this to become #2 显然,再多一个命令,我就能得到我想要的。 但是,当我有15个窗户时,这是一个主要的痛苦。
我使用了一个界面 set interface ethernet0/0 phy link-down 目的是把它循环起来 – 但现在我不能想出如何提出它。
我手上有一个奇怪的问题。 我已经打开(GNU)一个串口控制台的屏幕,并在同一个控制台,我打开另一个屏幕到另一个串口控制台。 它正在工作,但我现在无法拆除最后一个没有拆除第一个。 我知道这是由于两个屏幕相同的configuration。 有没有办法分离最后一个屏幕,而不分离第一个屏幕? 任何build议是最受欢迎和欣赏的。 谢谢 图: SCREEN (1st one) [ … SCREEN (last one) [ … — current view — … ] … ]
在GNU屏幕中是否有一个命令将标准输出引导到复制缓冲区 我一直在使用文件做很多工作,把我想要的文件名复制并转换成命令是很好的 例如 ls | grep过程 $ ls | grep cal calendar.inc-gen.php // enter copy mode $^ay // backward search for gen_chg ? cal // start region SPC //goto to end of file by forward search php php // done ENT // type command line $ git rm ^p // creates $ git rm calendar.inc-gen.php […]
我有一个附加的屏幕会话,我正在运行一些工作。 我不closures它的terminal,因为它不会突然响应。 现在通过screen -ls我可以看到它仍然附加。 但是如果不先拆离它,我就不能重新装上它,拆卸它需要很长时间,而且还没有完成。 bash-3.2$ screen -ls There are screens on: 14493.ssh2others (Attached) 1 Socket in /tmp/uscreens/S-tim. bash-3.2$ screen -r 14493 There is a screen on: 14493.ssh2others (Attached) There is no screen to be resumed matching 14493. bash-3.2$ screen -d 14493 我想知道为什么需要这么长时间,还没有完成分离? 由于我的工作正在屏幕上运行,我恐怕杀了它也会杀死我的工作。 那么我现在可以做些什么来拆卸和重新连接呢? 谢谢!