2014-01-22 2 views
0

나는이 같은 GTK 응용 프로그램을 만드는거야 : X 서버가없는

Glib::RefPtr<Gtk::Application> app; 
try { 
    app = Gtk::Application::create(argc, argv, "loocal.testgtk", 
     Gio::APPLICATION_HANDLES_COMMAND_LINE); 
} 
catch (...) { 
    .... 
} 

경우 (도달 할 수없는) 프로세스가 중단되면, catch(...) 부분은 실행되지 않습니다.

Q :이 예외를 중단하고 catch하는 방법이 있습니까? 예 : 다시 시도하거나 폴백 디스플레이에 연결 하시겠습니까?

또한 X 서버와의 연결이 끊어지면 응용 프로그램의 GUI 부분을 다시 시작하고 X 서버 나 폴백 X에 다시 연결하기 위해 예외를 잡는 방법이 있습니까? 섬기는 사람?

답변

2

기본적으로 디스플레이를 열 수없는 경우 exit(1)을 호출하기 만하면됩니다.

이 문제를 무시하려면 먼저 다른 작업을 수행하십시오. gtk_init_check()으로 전화 한 다음 gdk_display_open()gdk_display_manager_set_default_display()으로 전화하십시오.

관련 문제