我使用构建菜单中的执行命令在 VTE 中执行 python 脚本。当我使用 Ctrl-C 停止 VTE 中的进程时,选项卡中的“终端”标题变为红色并且终端处于非活动状态。启动执行不起作用。我需要在终端中按 enter 以使终端再次处于活动状态。
可重现的例子:
- 在 VTE 中启动一个进程,例如“top”
- Ctrl-C 取消
- 然后尝试使用构建菜单中的 Execute 命令执行文件。它不应该做任何事情。
这是一个错误吗?(我在 Xubuntu 18.04)
我使用构建菜单中的执行命令在 VTE 中执行 python 脚本。当我使用 Ctrl-C 停止 VTE 中的进程时,选项卡中的“终端”标题变为红色并且终端处于非活动状态。启动执行不起作用。我需要在终端中按 enter 以使终端再次处于活动状态。
可重现的例子:
这是一个错误吗?(我在 Xubuntu 18.04)
这实际上是一个特点。每当 Geany 认为终端可能包含任何输入数据时,自动执行命令(如构建菜单中的 Execute 命令)会被禁用,以防止执行终端命令行上留下的任何内容。
想象一下,您不小心粘贴了诸如“rm -rf ~ &&”之类的内容,不要注意到它,然后让 Geany 执行您的脚本。之前粘贴的命令也将被执行,您会丢失所有数据。从技术上讲,无法清楚地说明命令行上是否没有留下输入数据。为了保护用户,Geany 在这种情况下将 VTE 标记为脏。
我看到在所描述的场景中似乎不方便,但如上所述,在这里我们最好是安全的。
将 VTE 标记为干净的另一种方法是再次按 Ctrl-C。