我正在创建一个像这样的gtk应用程序:
Glib::RefPtr<Gtk::Application> app;
try {
app = Gtk::Application::create(argc, argv, "loocal.testgtk",
Gio::APPLICATION_HANDLES_COMMAND_LINE);
}
catch (...) {
....
}
如果X服务器不存在(无法访问),则进程中止,catch(...)
部分永远不会被执行。
另外:当与X服务器的连接中断时,是否有办法捕获异常 - 为了(尝试)重新启动应用程序的GUI部分并重新连接到X服务器或后备X服务器?
答案 0 :(得分:2)
如果无法打开显示,默认情况下只需调用exit(1)
。
如果要覆盖此项,请先执行以下操作。致电gtk_init_check()
,然后致电gdk_display_open()
和gdk_display_manager_set_default_display()
。