我的意思是,当程序运行时(比如说,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
重定向到此终端。