标签: gnu-screen

屏幕垂直拆分复制和粘贴

我在 Ubuntu 的 gnome-terminal 中使用 screen(我已经看到它通常被称为 GNU screen,虽然我没有使用 GNU),我喜欢它。我喜欢使用垂直拆分,这样我就可以并排查看两件事。

唯一的问题是,如果我使用鼠标选择垂直分割一侧的文本,它会选择两侧的文本。这意味着在屏幕中使用垂直拆分时,我无法有效地从终端复制和粘贴文本。

有没有办法克服这个问题?如果有无鼠标的解决方案,那就更好了。

谢谢!:D

terminal gnu-screen gnome-terminal

2
推荐指数
1
解决办法
2003
查看次数

如何杀死死屏会话?

最初发布在Unix 和 Linux 社区,但几天后没有正确答案。如果我从这里得到答案,我会将答案移到那里。谢谢!

如何终止屏会话?

[allen@mmbp ~]$ screen -ls
There is a screen on:
    3634.wb_backend (Dead ???)
Remove dead screens with 'screen -wipe'.
1 Socket in /var/run/screen/S-allen.
Run Code Online (Sandbox Code Playgroud)

我试过screen -X -S 3634.wb_backend quit了,结果如下:

There is a screen on:
3634.wikibrain_backend  (Dead ???)
Remove dead screens with 'screen -wipe'.
No screen session found.
Run Code Online (Sandbox Code Playgroud)

我试过screen -S -X wb_backend kill了,结果如下: mkfifo /var/run/screen/S-allen/27272.-X failed

这个(死 ???)会话曾经是一个附加的会话,我用过:

screen -X -S 3634.wb_backend kill
Run Code Online (Sandbox Code Playgroud)

杀死它。它最终处于这种奇怪的状态。

我试过了:

screen -wipe
Run Code Online (Sandbox Code Playgroud)

但它没有用。

我怎么能终止它?

linux gnu-screen

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

向屏幕发送命令:“东西”的限制、换行符的怪癖

尝试通过“stuff”选项将长命令字符串传递到屏幕。当字符串很短并且存在于 bash 中时,在许多脚本中成功完成此操作,如下所示:

screen -d -m -S worker
screen -S worker -X -p 0 stuff $'/usr/bin/env python3 /root/worker.py\n'
Run Code Online (Sandbox Code Playgroud)

在本例中,我正在从文件中读取命令。我可以将 '\n' 附加到该文件,但 $ () 构造函数会吃掉换行符。我尝试过 printf、ISF= 和许多排列,但在我可以保留换行符的地方,不知何故该命令不会显示在屏幕上。

GEO_COMMAND=/foo/geo_command.txt
screen -S worker -X -p 0 stuff printf '%\n' "$GEO_COMMAND"
or
screen -S worker -X -p 0 stuff $GEO_COMMAND
Run Code Online (Sandbox Code Playgroud)

GEO_COMMAND: ''foo -bar -geo1 -geo2 -blah -keys ..... 160 个字符后 ...; /root/finish_job.sh\n '

答案在下面突出显示,为后代添加此内容:

screen 'stuff' 选项不喜欢大命令,并且对于换行符非常特殊。

下面的评论/答案解决了可靠的换行问题,但要粘贴/执行大型命令,答案是使用“readreg”通过命令读取文本文件,然后使用第二个命令“paste”将其传递到屏幕,如下所示如下所示。

这种方法不需要尾随换行符,不需要您用引号将命令(在文件中)括起来,并且也接受传导命令(; /foo/bar/sh)。

bash gnu-screen sh

2
推荐指数
1
解决办法
638
查看次数

GNU屏幕及更少:覆盖以前的输出

我正在从iTerm中的多个选项卡切换到一个GNU screen会话.在iTerm中,我可以查看文件,less并在退出时恢复终端的内容less.在GNU中screen,之前的内容被我查看的文件内容覆盖less.有没有办法改变这个?

terminal gnu-screen

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

在Python中执行*nix二进制文件

我需要运行以下命令:

screen -dmS RealmD top
Run Code Online (Sandbox Code Playgroud)

基本上在后台调用GNU屏幕,会话标题为"RealmD",顶部命令在屏幕内运行.必须以这种方式调用该命令,因此在重新设置服务器之前,此时不能替换屏幕.(另一个项目另一次)

我已经在top命令中找到了需要运行的服务器二进制文件.但是top是一个不错的替代品,而代码正在为这个python模块进行调试.

我真正需要的是一种在Python中使用上述参数执行屏幕的方法.

python gnu-screen

1
推荐指数
2
解决办法
154
查看次数

在linux中命名一个屏幕会话

我从一个ssh连接运行多个屏幕,当我列出所有屏幕时screen -ls,名称不是很具描述性,当我有多个屏幕时,很难记住每个屏幕上运行的是什么.有谁知道如何命名这些会话(最好是在创建屏幕时).

谢谢

unix linux gnu-screen

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

如何在丢失SSH连接后让gnu屏幕无响应?

我使用VPN隧道连接到我的工作网络,然后使用SSH连接到运行cygwin的工作PC.登录后,我可以附加到屏幕会话,一切都很好.

现在,过了一段时间,我离开了我的电脑,迟早,VPN隧道超时了.每一端的SSH连接最终会超时,然后我最终回到我的计算机上做一些工作.从理论上讲,这应该只是重新启动VPN,通过SSH重新连接,然后运行"screen -r -d".

然而,显然当sshd守护进程在cygwin PC上超时时,它会使屏幕会话处于某种挂起状态.我可以通过在运行屏幕会话时单击cygwin bash shell窗口上的关闭框来重现类似的挂起状态.

一旦发生这种情况,有没有办法让屏幕会话恢复,这样我就不会丢失任何东西?

ssh gnu-screen hung

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

如何创建嵌套屏幕会话?

我需要在.screenrc中放置什么才能创建嵌套会话(即:屏幕内的屏幕)?

目前,如果我screen在打开的屏幕选项卡中再次运行,而不是在该选项卡中打开新的屏幕会话,它只会打开一个新选项卡(即:效果与我按下-C一样)

我想获得外部屏幕会话和内部屏幕会话 - 我该怎么做?

我的.screenrc为空,除了以下单行以显示打开的标签列表:

hardstatus alwayslastline "%{=w}%{G} %{b}%w"
Run Code Online (Sandbox Code Playgroud)

gnu-screen

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

配置monitrc监视节点js app进程,找不到运行屏幕ec2 linux的节点app pidfile

我在我的ec2 linux实例上通过屏幕运行我的app.js(节点js应用程序).我正在尝试配置我的monitrc文件,我需要app pidfile.它不在:/ var/run(并且没有/ var/www)

如果有人知道pidfile在哪里或者我怎么能找到它,真的很感激..
谢谢!

linux pid gnu-screen monit node.js

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

如果屏幕存在则运行命令

我有一个shell脚本,如果它存在,它应该杀死一个分离的屏幕会话.脚本是

if ! screen -list | grep -q "ScreenName"; then
  screen -S ScreenName -X quit
fi
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行脚本并且屏幕会话不存在时,屏幕-S ... -X quit命令似乎始终运行bc,它仍然输出"未找到屏幕会话".当我删除!并且屏幕会话正在运行,它不会终止正在运行的会话.

问题是什么?谢谢

bash shell gnu-screen

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

标签 统计

gnu-screen ×10

linux ×3

bash ×2

terminal ×2

gnome-terminal ×1

hung ×1

monit ×1

node.js ×1

pid ×1

python ×1

sh ×1

shell ×1

ssh ×1

unix ×1