在 Geany 中取消后 VTE 处于非活动状态

在 Geany 中取消后 VTE 处于非活动状态

我使用构建菜单中的执行命令在 VTE 中执行 Python 脚本。当我使用 Ctrl-C 停止 VTE 中的进程时,选项卡中的“终端”标题变为红色,并且终端处于非活动状态。启动执行不起作用。我需要在终端中按 Enter 键才能使终端再次处于活动状态。

可重现的示例:

  • 在 VTE 中启动一个进程,例如“top”
  • Ctrl-C 取消
  • 然后尝试使用构建菜单中的执行命令来执行文件。它应该不会执行任何操作。

这是一个错误吗?(我在 Xubuntu 18.04 上)

答案1

这实际上是一个功能。每当 Geany 认为终端可能包含任何输入数据时,就会禁用自动命令执行(例如构建菜单中的执行命令),以防止执行终端命令行上剩余的任何内容。

想象一下,您不小心粘贴了“rm -rf ~ &&”之类的内容,没有注意到,然后让 Geany 执行您的脚本。之前粘贴的命令也将被执行,您将丢失所有数据。从技术上讲,无法清楚地说明命令行上是否没有输入数据。为了保护用户,在这种情况下,Geany 会将 VTE 标记为脏的。

我知道在所描述的场景中这似乎不太方便,但正如所说的那样,在这里我们最好要注意安全。

将 VTE 标记为干净的另一种方法是再次按 Ctrl-C。

相关内容