标签: gnu-screen

可以访问锁定的 gnu 屏幕会话终端吗?

GNU Screen 的功能之一是锁定屏幕。

手册页是这样说的:

锁屏

锁定此显示。调用屏幕锁定程序(/local/bin/lck 或 /usr/bin/lock 或内置程序,如果没有其他可用程序)。在此程序终止之前,Screen 不接受任何命令键。同时窗口中的进程可以继续,因为窗口处于“分离”状态。screenlock 程序可以通过环境变量 $LOCKPRG(必须在启动 screen 的 shell 中设置)进行更改,并使用用户的 uid 和 gid 执行。警告:当您让其他外壳处于解锁状态且屏幕上没有设置密码时,锁定将失效:您可以轻松地从未锁定的外壳重新连接。这个功能应该被称为“锁定终端”。

如果我登录到 Linux 控制台的开始屏幕,然后锁定会话,然后离开,那么人们是否可以退出屏幕并使用我的凭据使用系统。手册页的上述部分对我来说并不完全清楚。假设攻击者对系统没有其他访问权限,并且他们不会重新启动系统。

security linux gnu-screen

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

允许在无法分离会话的情况下使用屏幕

我想知道这是否可能。我希望用户能够在我们的一些主机上启动屏幕,以便多路复用他们的终端登录会话。但是,我不希望他们能够分离屏幕并让它在后台运行。

这样做的原因是登录这些机器的唯一方法是通过集群作业提交系统,因此如果屏幕分离并且用户注销,返回的唯一方法是他们碰巧重新登陆下一个作业提交的相同节点。

gnu-screen

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

GNU 屏幕丢失(部分)命令历史记录

我使用GNU screen5 个不同的会话,每个会话都存储自己的命令历史记录。但是我经常在历史记录中找不到命令,尽管我确信我在几周前的当前会话中完全使用了它。

历史大小似乎有硬限制?我怎样才能将其设置为无穷大?

一个相关的问题:如何控制会话历史记录的存储位置?通常,我们的系统管理员会重新启动计算机,而我会丢失所有会话,而我必须这样做,screen -wipe因为会话已损坏。然后,所有的历史都消失了。:( 我想在这种情况下找到存储的历史记录并将它们绑定到新创建的会话中。

PS:我bash在所有屏幕会话中使用。

更新:我不是在问如何统一会话历史。只是,我希望每个会话都有无限的历史记录,并且我希望能够将该历史记录“加载”到新会话中,以防旧会话损坏或删除。

更新 2:您可能已经发现:当我说我使用GNU screen5 个不同的会话时,我的真正意思是GNU screen其中包含 5 个不同窗口的会话。对不起。

bash gnu-screen

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

在屏幕会话中如何使用 Vim 的增量 (Control-a)?

有没有办法将屏幕中的 Control-a 重新映射到 Alt-a 或其他东西,这样我就可以在 Vim 中正常使用 Control-A(增加光标下的数字)?

vim vimrc gnu-screen

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

向屏幕中的窗口发送中断

如何向屏幕内的窗口发送中断。我有几个窗口运行的屏幕。每个窗口都有进程在其中运行。我希望能够发送和中断到特定窗口,即 ctrl+c。我希望在不杀死窗口本身的情况下做到这一点。我的其他选择是查找进程 ID 并执行 kill -INT

linux ubuntu gnu-screen gnu

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

VMware ESXi 显示访客屏幕而不是控制台

我将 ESXi 4.1 用于我的虚拟化平台,并且我想向主机 VGA 输出显示一个访客屏幕。这可能吗?

我想这样做是因为我的主机已插入我的电视(使用 VGA calbe),这样我就可以将我的一位客人用作媒体中心盒,现在我将我的笔记本电脑连接到电视(使用 HDMI)同时使用 SMB(来自我的一位客人)获取视频文件。

gnu-screen vmware-esxi

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

如何通过运行命令“在 GNU/Screen 中打开一个新窗口”?

我想知道如何完成此操作:通过运行命令在 GNU/screen 中打开一个新窗口。

这就是我想要做的:
我每天都使用 GNU/screen。我的笔记本电脑在 UTF-8 语言环境中运行,我需要通过 ssh 连接到一些在 GBK 语言环境中运行的特定服务器。
通常我需要ssh 到服务器更改编码。我正在寻找一种自动方式,它只允许我alias执行一系列命令,然后ssh GBK_LOCALE_SERVER在另一个 GBK 编码的 GNU/screen 窗口中启动该命令

gnu-screen

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

Putty + Bash + Screen,历史记录的向上箭头不起作用(Ubuntu 11.10)

我全新安装了 Ubuntu Server 11.10,我正在通过 PuTTy 登录到 SSH。当我在屏幕内时,我无法使用向上箭头来调用 bash 历史记录(尽管这在屏幕外有效)。我似乎无法在 Internet 上找到完全相同的问题(尽管有很多类似的问题)。我的 .screenrc 如下:

# Look and feel
caption always "%{= bb}%{+b w}Screen: %n | %h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

# Our warning of activity
activity "Activity in %t(%n)"

# Left Right meta key mods
#ALT-,. and ALT-<>
bindkey "^[<" eval number !echo $WINDOW-1|bc
bindkey "^[>" eval number !echo $WINDOW+1|bc
bindkey "^[," prev
bindkey "^[." next

#disable startup banner
startup_message off

#see http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html
termcap  xterm 'XT:AF=\E[3%dm:AB=\E[4%dm:AX'
terminfo xterm …
Run Code Online (Sandbox Code Playgroud)

ubuntu troubleshooting bash putty gnu-screen

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

GNU 屏幕,如何以编程方式获取当前会话名称

[这可以被认为是我上一个问题的第 2 步创建后是否可以更改 GNU 屏幕会话名称?]

实际上,我想编写一个可以显示当前屏幕会话名称和更改当前会话名称的脚本。

例如:

sren armcross
Run Code Online (Sandbox Code Playgroud)

它将会话名称更改为armcross(ARM gcc 交叉编译器)并输出如下内容:

screen session name changed from '25278.pts-15.linux-ic37' to 'armcross'
Run Code Online (Sandbox Code Playgroud)

所以,现在的关键问题是如何获取当前会话名称。不仅用于显示旧会话名称,而且根据创建后是否可以更改 GNU 屏幕会话名称?,我必须知道它(传递给 -d -r),然后才能将其更改为其他内容。

我们可以使用$STY当前会话名称吗?$STY将会话名称更改为用户定义的名称后,编号不会更改。但是,对于命令

screen -d -r <oldsessname> -X sessionname armcross
Run Code Online (Sandbox Code Playgroud)

?旧名?应该是用户定义的名称(如果曾经定义过)而不是$STY,否则屏幕会出现错误“未找到屏幕会话”。

也许,有一个详细的方法,用于screen -list列出所有会话(列出用户定义的名称),然后将 $STY 中的 pid 部分与列出的会话进行匹配,我们将找到当前会话的用户定义名称。这么直截了当的问题不应该这么冗长。你不这么认为吗?

-d -D 和 -r -R 选项似乎向屏幕用户暴露了太多的实现细节。似乎要重命名会话,您必须将其分离,然后进行重命名,然后重新附加它。对?

我的环境:opensuse 11.3,GNU screen 4.00.03 (FAU) 23-Oct-06

谢谢你。

gnu-screen

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

仅当屏幕会话尚不存在时才在后台创建它

screen仅当它不存在时,如何才能在分离模式下创建它?

这会在分离模式下创建一个名为 name 的屏幕,但会创建重复项

screen -dmS name command
Run Code Online (Sandbox Code Playgroud)

仅当屏幕不存在但未分离时才会创建屏幕

screen -dRms name command
Run Code Online (Sandbox Code Playgroud)

我如何将两者结合起来?我需要在批处理文件中创建多个屏幕,因此重新连接不方便。我想使用批处理文件“重新启动”由于各种原因而死亡的屏幕,但保持已经运行的屏幕完好无损。

linux gnu-screen

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

标签 统计

gnu-screen ×10

linux ×3

bash ×2

ubuntu ×2

gnu ×1

putty ×1

security ×1

troubleshooting ×1

vim ×1

vimrc ×1

vmware-esxi ×1