版本2

版本2

我的意思是,当程序运行时(比如说,telnet),当屏幕上写下一些内容时,任何输入的文本都会丢失。例如,在聊天服务器上,

我输入

> 嘿,我想问你

突然我收到一个字符串,现在我的屏幕看起来像这样

> 嘿,我想问一下嘿,怎么了?

我仍然可以继续写入并按回车键以成功发送字符串,但我想让我的输入像这样向下移动

嘿,怎么了?

> 嘿'我想问你

我怎样才能做到这一点?我使用 bash 和 lxterminal

更新 因此,这里有一个快速但肮脏的解决方案:只要您的输入丢失,请按 来^R恢复它。

答案1

版本2

版本 1(如下)不起作用,因为输入已发送到父终端,但未得到处理。所以我又尝试了一次。我们必须让程序在输入终端中运行,它才能正常获取输入。然后将其输出定向到另一个终端。我认为它应该可以工作,但尚未测试(没有泥浆服务器)。

xterm -e bash -c "telnet mud > '$(readlink -f /dev/stdin)'"

版本1

我曾经使用单独的终端进行输入。

通过执行以下操作创建输入终端:

xterm -e bash -c "cat > '$(readlink -f /dev/stdin)'"

怎么运行的

  • 首先,readlink -f /dev/stdin确定您所在的终端。它通过跟踪 中的符号链接来完成此操作/dev/stdin。这些是动态的(它们会变化),具体取决于看起来的过程。
  • 该命令现在看起来像xterm -e bash -c "cat > '/dev/pts/x'"
  • 接下来 xterm 运行并启动bash,启动cat重定向到此终端。

相关内容