问题标签 [gnu-screen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
348 浏览

ssh - dscl 在重新连接的屏幕内部不起作用

我在 Mac OS X 10.5.8 上。我不确定这到底是什么时候开始发生的,但我发现当我重新连接到从 ssh 会话开始的屏幕会话时,任何依赖 dscl(目录服务)或底层 getent 的东西都会失败。

如果我在终端的那台机器上启动会话,一切正常。只有远程启动的屏幕会话在重新连接时才会出现问题。

同样失败:

我已经重新启动、调试和谷歌搜索了大约 6 个小时,但没有运气。

这真的很痛苦,因为它会影响很多应用程序(ssh、git、rake 等)。

我很好奇这是否会影响其他人,或者是否有人知道如何解决它。

0 投票
5 回答
5381 浏览

bash - 你如何判断当前终端会话是否在 GNU 屏幕中?

.bashrc只有当当前终端窗口由 GNU 屏幕管理时,我才想执行一个命令。我该怎么做呢?它有环境变量吗?我曾经有

但据我所知,$WINDOW可能会或可能不会在所有屏幕管理会话中定义。

0 投票
1 回答
1079 浏览

linux - 在屏幕会话中向活动程序发送命令?

我有一个在屏幕会话中运行的服务器,我想向这个程序发送一个命令。我认为 screen -X 是我的答案,但我只能访问屏幕命令(标题、执行等)。

我需要能够像在程序中输入命令一样发送命令。有任何想法吗?

0 投票
3 回答
772 浏览

bash - sh/expect/sudo/screen 都需要在一个命令中一起使用

我需要发生的事情:PHP 需要启动一个在后台运行的具有 root 权限的服务器应用程序。这一切都应该保持沉默。

-sudo 需要允许 php 执行需要 root 权限的操作。

- 需要屏幕以允许应用程序在启动该过程的网页范围之外运行。

- 需要期望,以便屏幕有一个可以运行的点

-Sh 是必需的,因为任何开始运行的东西都需要在后台运行,大概是使用 & 运算符。它还需要将任何输出通过管道传输到 /dev/null/,因为我不希望我的 PHP 页面返回任何内容。如果有人能想出更好的方法在 PHP 中进行调用(fork ...?),这可能是可以协商的

例如,我尝试使用的脚本是:

作为参考,我正在尝试启动 Counter-Strike Source 服务器,而 startserv 是处理启动服务器并收集其输出的 C 代码的名称。谁能更正我对该片段的语法,或者告诉我为什么这样做是错误的?

0 投票
1 回答
2518 浏览

gnu-screen - 如何按名称列出屏幕会话?

使用屏幕,我知道我可以按名称命名并重新附加到会话:

当我执行时,screen -ls我得到一个列表会话,但不显示名称。

如何查看正在运行的会话的名称?

0 投票
3 回答
932 浏览

python - 在屏幕上记录数据时在 Python 中读取文件

背景

为了从逻辑控制器捕获数据,我使用screen作为终端仿真器并通过KeySpan USA-19HS USB Serial Adapter连接我的 MacBook 。我创建了以下 bash 脚本,以便我可以键入talk2controller <filename>其中文件名是数据文件的名称。

我更改了日志文件的文件名,并将日志文件缓冲区刷新到文件系统之前的等待时间从默认的 10 秒更改为 1 秒。我将这些命令保存到screenrc. 然后我用以下方法调用屏幕:

  1. -L— 启用日志记录
  2. -c screenrc— 覆盖默认配置文件
  3. /dev/tty.KeySerial1 19200— 使用 19200 的波特率与串行端口通信

我记录的每个测试大约需要 3-6 分钟,并且包含速度、加速度和位置信息。我会根据加速度知道测试是有效的。目前,我正在等到测试结束后再运行 Python matplotlib脚本来绘制速度、加速度和位置,以查看测试是否有效,然后再进行下一个测试。

为了节省时间,我宁愿在测试进行到一半时绘制数据,而数据仍在捕获中。

问题

在我看来,在捕获更多数据的同时绘制数据有两种选择:

  • 选项 1:使用屏幕记录数据并让 Python matplotlib 脚本读取部分日志文件。
    • 问题 1:如果 Python 脚本读取日志文件,而 screen 仍在向其中写入数据,会有什么顾虑?
  • 选项 2:从使用 screen 切换到使用pySerial。但是,在测试期间绘制数据的优先级低于在测试期间简单地捕获数据。我无法承受代码绘图部分中的异常导致数据记录失败。这就是 screen 的优点——它只是转储数据而不尝试做任何其他事情。
    • 问题 2:如果我要切换到 pySerial,我是否可以运行两个线程来减少代码的绘图部分不影响数据捕获代码的机会?这能给我带来什么吗?

问题3:有没有更好的选择,我没有想到?

0 投票
1 回答
104 浏览

linux - 更改目录回显“目录:"

在我的 SLED10 机器上使用 Screen 时遇到一个烦人的问题。更改目录(cd、chdir、pushd/popd)时,结果路径会在终端中回显。

这个问题似乎只存在于 Screen 中。我检查了我的提示,它不包含与此行为相关的任何内容。我正在使用 tcsh/xterm。

如何摆脱目录的回声?!

最好的问候,斯特凡

0 投票
4 回答
1073 浏览

unix - 我可以确定终端是否解释 C1 控制代码吗?

ISO/IEC 2022 定义了 C0 和 C1 控制代码。C0 集是ASCII、ISO-8859-1 和 UTF-8(例如0x00、、)之间熟悉的代码。0x1fESCCRLF

一些 VT100 终端仿真器(例如screen(1)PuTTY)也支持 C1 集。这些是和之间的值0x800x9f例如,0x84将光标向下移动一行)。

我正在显示用户提供的输入。我不希望用户输入能够改变终端状态(例如移动光标)。我目前正在过滤掉C0集中的字符代码;但是,如果终端将它们解释为控制代码,我也想有条件地过滤掉 C1 集。

有没有办法从数据库中获取这些信息termcap

0 投票
1 回答
5933 浏览

linux - 如何在linux中以编程方式分离屏幕?

这个问题是关于 linux 实用程序屏幕的。

我想制作一个脚本来在屏幕上启动一个程序,然后在它启动后自动分离它。

我有脚本启动屏幕,在屏幕中启动命令,但我现在的问题是如何分离它?

谢谢

0 投票
1 回答
1431 浏览

git - Mac os 屏幕上的 Git 自动完成功能

我在 mac 上使用了 git,并且我已经按照 http://www.codethatmatters.com/2010/01/git-autocomplete-in-mac-os-x/ 中的说明配置了自动完成终端。

但我更喜欢在终端工作时使用 gnu screen 程序。当我按下制表符时,在屏幕上注意到发生了。也许有人知道如何解决它。