当您在gnome-terminal
没有任何选项的情况下打开并执行阻止命令(例如python3
或),然后尝试通过关闭按钮(即标题栏中的按钮)或某些键盘快捷键关闭窗口时,会显示一个确认窗口vim
:cat
x
但是,当您gnome-terminal
使用指定的执行命令打开时,即以 的形式gnome-terminal -- python3
,确认窗口将不再显示,并且在您(意外地)单击关闭按钮后窗口将立即关闭。
即使使用表单,是否也可以显示确认窗口gnome-terminal -- <command>
?如果不可能,有什么解决方法吗?
环境:
$ gnome-terminal --version
# GNOME Terminal 3.36.2 using VTE 0.60.3 +BIDI +GNUTLS +ICU +SYSTEMD
我尝试过的:
为执行的命令配备信号处理程序所有支持的信号不起作用;窗口仍然未经确认就关闭了,尽管进程在捕获
SIGHUP
(三次)、SIGCONT
(一次)和SIGWINCH
(一次)时幸存了下来。我必须另外执行kill -SIGKILL <process id>
才能终止该进程。我发现了一个例外。执行时
gnome-terminal -- bash
,确认是显示(尽管默认情况下与 相同gnome-terminal
)。
答案1
GNOME 终端检查是否有由 shell 启动的前台进程(参见终端屏幕有前台进程功能)
您可以使用 sh 来创建新进程,并使用 gnome-terminal 在退出前进行询问,方法如下:
gnome-terminal -- sh -i -c python3
更新:使用自定义脚本可以通过 bash 实现相同的效果:
gnome-terminal -- bash -i my_script.sh
并且的内容my_script.sh
只是
python3