我怎样才能移动 Gnome 终端消息“子进程已退出...”?

我怎样才能移动 Gnome 终端消息“子进程已退出...”?

我刚刚安装了一个在终端中运行当前程序的 IDE 扩展,并且我将 Gnome 终端设置为在命令退出时保持打开状态,但当发生这种情况时,前两行被消息“子进程以状态 0 正常退出”所覆盖。我该如何移动它?

我相信通过编辑 Gnome 样式表可以实现这一点,但我不确定从哪里开始。

例子

这是一个简单的 Python 脚本:

#!/usr/bin/env python3

x = input('Enter something: ')
print('You entered:', x)

我运行它并输入一些内容:

屏幕截图显示“输入内容:foobar”

(我的系统是法语的。)

然后,只要我按下 Enter 键,脚本就会退出,并且会弹出消息,阻止输出:

显示被消息阻止的输出的屏幕截图

我更愿意将消息放在其他地方,例如底部。以下是模型:

模型显示通过将消息放在底部来解除输出阻塞

您可以通过将脚本另存为tmp.py然后运行来重现该问题gnome-terminal -- python3 tmp.py。并确保已正确设置 Gnome 终端:转到编辑优先命令当命令退出时并选择保持终端打开

可能的解决方法

  • 使程序保持终端打开,例如input('Press Enter to finish...')。——我宁愿不必把它放在我写的所有东西上。


    更新:我最终使用了类似的东西。我编写了一个脚本作为 IDE 代码运行器扩展运行的垫片,垫片运行程序并在末尾放置一个提示,类似于:

    "${launcher[@]}" "$program" "$@"
    read -rsp "[Exit status $?. Press Enter to finish.]"; echo
    

    (其中,对于上面的例子,launcher=(/usr/bin/env python3)program=tmp.py由代码运行器传入。)

  • 使用集成的 IDE 终端。——我还没有找到一个好的终端,对于大多数事情我更喜欢使用本机终端。

  • 程序退出后重新启动。——如果它有任何副作用,那可能会很糟糕,例如如果它读取和写入任何文件。

有关的

相关内容