标签: gnu-screen

打开时你能让vi"推进"屏幕吗?

我经常在vi中工作,暂停vi,在cli上运行一些东西,然后fg回到vi来处理结果.例如,修复我运行cli命令时出现的错误.

但是,当我fg vi时,vi"擦除"当前的终端缓冲区,我无法在回滚缓冲区中看到终端输出的"最后屏幕".

在vi(或屏幕,我使用屏幕)中有一些设置可以帮助我吗?

我已经搜索谷歌很长一段时间没有答案.我也意识到还有其他工作流可以解决这个问题,但它们并不完美(从内部运行vi意味着没有shell完成等).

vim scroll gnu-screen

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

如何使用Perl正则表达式在Screen中搜索模式?

我有一个过程,它让我在屏幕上连续输出.我想在输出中通过以下Perl的正则表达式搜索CamelCase单词,以便我可以主动监视输出.

/\b([a-z]*[A-Z][a-z]*){2,}\b/
Run Code Online (Sandbox Code Playgroud)

regex perl gnu-screen

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

在Mac OS的屏幕上Git自动完成

我在mac上使用git,我已经配置了自动完成功能,如http://www.codethatmatters.com/2010/01/git-autocomplete-in-mac-os-x/所示.当我在纯粹的时候这样做很好终奌站.

但我更喜欢在终端工作时使用gnu屏幕程序.当我按Tab键时会出现屏幕.也许有人知道如何解决它.

git macos gnu-screen

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

使用单独的screenrc文件启用登录屏幕的正确语法是什么?

我已经设置了这样的屏幕rc文件:

log on
shelltitle apt
logfile $HOME/configs/screen/screenlogs/apt.log
logtstamp after 120
Run Code Online (Sandbox Code Playgroud)

我是这样开始的:

screen -c ~/configs/screen/apt.rc
Run Code Online (Sandbox Code Playgroud)

但是在使用一段时间之后,apt.log文件永远不会被创建.语法看起来很完美,除非有一些我没有得到的日志文件语法

logging gnu-screen screenrc

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

你怎么知道你当前附加的gnu屏幕会话

我们在办公室里经常使用gnu屏幕,有时如果我不注意,我最终会迷失到我已经进入的屏幕会话.

所以我的问题是,你怎么知道你在哪个屏幕会话?你有办法检查吗?

澄清:我需要知道的是,当我这样做时:

~$ screen -ls
Run Code Online (Sandbox Code Playgroud)

我看到类似的东西:

There is a screen on:
    4732.work_Sept42012     (Attached)
    3551.web01  (Attached)
    5521.mysql01 (Attached)
    1255.tomcat05 (Detached)
    3326.oracle15 (Attached)

 1 Socket in /tmp/uscreens/S-icasimpan.
Run Code Online (Sandbox Code Playgroud)

我如何知道我目前是否已连接到任何附加会话?

提前致谢.

gnu-screen

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

使用crontab在@reboot上运行"screen -S name ./script"命令

我已经尝试将此添加到我的crontab:

@reboot/root/startup

"启动"文件:

#!/bin/sh

svnserve -d -r /root/svnrepos/mainres
svnserve -d -r /root/svnrepos/mapres --listen-port=3691
screen -S mta ./mtaserver/mta-server > log1
screen -S mapmta ./mapserver/mta-server > log2

exit 0
Run Code Online (Sandbox Code Playgroud)

现在svnserve命令运行正常.问题在于screen命令.

log1和log2文件具有相同的内容:必须连接到终端.

我要做的是在启动时启动2个可执行文件,然后再有办法访问它们.

有没有办法做到这一点?

linux cron reboot gnu-screen

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

屏幕"必须连接到终端."

我正在使用Debian操作系统.

我正在尝试在SSH会话下使用屏幕.但是当我试图运行命令时

screen
Run Code Online (Sandbox Code Playgroud)

shell回答我:

Must be connected to a Terminal.
Run Code Online (Sandbox Code Playgroud)

如果我进入

tty
Run Code Online (Sandbox Code Playgroud)

它回答我:

Not a tty
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,我试试

ssh -t login@server
Run Code Online (Sandbox Code Playgroud)

它不起作用..

请帮帮我,我真的需要这个!

谢谢

编辑:

我读了这个主题,但它仍然无效

ssh gnu-screen tty

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

NVM命令在终端中工作,但不在屏幕中

我试图通过ssh-ing进入我的服务器和使用屏幕打开多个会话,与我的开发服务器建立多个连接.我的问题是,当我在屏幕上运行nvm命令时,找不到命令.当我退出屏幕并在纯ssh终端中运行命令时它运行正常.我认为这是一个PATH问题.我想获得nvm的绝对路径,看看我是否可以在屏幕上运行它.

我运行下面的代码来找到路径

 ~$ nvm
 //SHOWS USAGE INFO

 ~$ whereis nvm
 nvm:

 ~$ screen
 //LOADS INTO SCREEN SESSION

 ~$ nvm
 bash: nvm: command not found
Run Code Online (Sandbox Code Playgroud)

这对于安装nvm意味着什么.如果我更改其安装目录,我可以在屏幕上运行它.如果是这种情况,那么为什么不首先屏幕运行nvm.

gnu-screen node.js nvm

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

登录时如何让GNU屏幕自动启动?

我每天都有几台linux服务器,每个都有一个GNU屏幕会话,以保持工作进度.

问题是我screen -Rd work每次登录时都对问题感到厌倦,反正有没有摆脱它?或者任何变通方法?


阅读@Sami的回答,我对$STYshell变量进行了一些搜索,发现了这个:

STY:备用套接字名称.如果调用了屏幕,并且设置了环境变量STY,则它仅在正在运行的屏幕会话中创建一个窗口,而不是启动新会话.

所以我认为关键是$STY变量,我们可以将它附加到.bashrc或.profile,只要它在登录时执行即可.谢谢@Sami

linux shell gnu-screen

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

sudo:命令未找到

我正在尝试以screen另一个用户身份执行sudo.

我正在使用命令:

echo 'userpassword' | /usr/bin/sudo -u 'myuser' -S '/usr/bin/screen -ls'
Run Code Online (Sandbox Code Playgroud)

在互联网上找到的任何帮助都说明了sudo清除环境变量(比如PATH).所以我决定使用应用程序的完整路径,但我仍然得到命令not found错误.

错误:

sudo: /usr/bin/screen -ls: command not found
Run Code Online (Sandbox Code Playgroud)

Sudo安装在系统上.屏幕安装在系统上.

因为sudo,我已经尝试了-E-H旗帜,但它没有帮助.

我试着PATH用这样的东西设置变量:

... | /usr/bin/sudo -u 'myuser' -S 'env PATH=$PATH; /usr/bin/screen -ls'
Run Code Online (Sandbox Code Playgroud)

据说$PATH假设在命令执行之前扩展但我得到了其他错误......

有人可以提供一个命令,让我可以作为另一个用户执行命令,并解释命令的每个部分的作用,以便我能理解它吗?

谢谢.

linux ubuntu sudo gnu-screen

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

标签 统计

gnu-screen ×10

linux ×3

cron ×1

git ×1

logging ×1

macos ×1

node.js ×1

nvm ×1

perl ×1

reboot ×1

regex ×1

screenrc ×1

scroll ×1

shell ×1

ssh ×1

sudo ×1

tty ×1

ubuntu ×1

vim ×1