请注意:这是关于GNOME 控制台,不是GNOME 终端。
如何在关闭 GNOME 控制台时阻止出现这些提示?
(就我而言,该窗口也具有误导性。即使后台进程被拒绝,它也会出现。被拒绝的进程不再是原始 shell 的子进程,因此它们在关闭终端后仍然可以正常运行。)
答案1
介意进入代码吗? (因为我没有设法找到任何类型的可访问参数来避免关闭确认窗口。)
首先尝试:快速而肮脏的方式只是为了看看它是否按照您的意愿工作。
阅读kgx_window.c从第 155 行开始,大致如下:
kgx_window_close_request (GtkWindow *window)
{
…
children = kgx_pages_get_children (KGX_PAGES (priv->pages));
if (children->len < 1 || priv->close_anyway) {
if (gtk_window_is_active (GTK_WINDOW (self))) {
…}
return FALSE; /* Aka no, I don’t want to block closing */}
dlg = g_object_new (KGX_TYPE_CLOSE_DIALOG,
"context", KGX_CONTEXT_WINDOW,
"commands", children,
"transient-for", self,
NULL);
kgx_close_dialog_run (dlg, NULL, got_close, g_object_ref (self));
return TRUE; /* Block the close */}
我们知道,如果 kgx_window_close_request 始终返回 FALSE,我们也许总是能够绕过关闭确认窗口。
因此我建议注释掉:
- 第 164 行 (
if (children->len < 1 || priv->close_anyway) {
) - 第 169 行(相关的右大括号。)
请注意,最好强制priv->close_anyway
为 TRUE,因为确认也会被跳过,正如代码开头所指定的那样:
- KgxWindow: * @close_anyway: 忽略正在运行的子窗口并在没有提示的情况下关闭
但我没有时间找到强制这样做的方法。