Изумруд часто отказывает

Я установил Lubuntu 14.10, затем Compiz как окно и составной менеджер, затем Emerald от ppa:nilarimogard/webupd8 как декоратор окна. Это работает приятно, но изумруд отказывает очень часто. Границы окна просто исчезают, и ничего иного не происходит. Таким образом, я работал emerald --replace в терминале.

На первом катастрофическом отказе я добрался

Segmentation fault (Core dumped).

Второй катастрофический отказ:

(emerald:15385): GLib-GObject-WARNING **: invalid uninstantiatable type '(null)' in cast to 'GdkDrawable'

(emerald:15385): Gdk-CRITICAL **: IA__gdk_cairo_create: assertion 'GDK_IS_DRAWABLE (drawable)' failed
Segmentation fault (core dumped)

Третий катастрофический отказ:

Segmentation fault (core dumped)

Я думал о записи сценария или программы, которая перезапустила бы изумруд, если бы это остановилось, но хорошо вокруг должен быть лучший путь...

0
задан 16 December 2014 в 20:33

1 ответ

Так как изумруд больше не находится в поддерживаемых репозиториях чиновника, его отказы Сегментации не являются вещью для этого форума.

я "решил" эту проблему с этим not-so-elegant обходным решением.

file: emerald-restarter.c

#include <unistd.h>
#include <stdio.h>

int main() {

        int pid;

        while (1)
        {
                pid = fork();
                switch ( pid )
                {
                        case 0:
                        printf("Child process starting emerald.\n");
                        execlp("emerald","--replace",NULL);
                        break;

                        case -1:
                        fprintf(stderr,"Fork failed.\n");
                        return -1;
                        break;

                        default:
                        printf("Main process waiting for PID %i to finish.\n",pid);
                        wait();
                        break;
                }
        }
return 0;
}

Компиляция это и позволяют Compiz выполнить это вместо изумруда. Это будет продолжать перезапускать изумруд каждый раз, когда это отказывает.

1
ответ дан 3 August 2019 в 22:51

Другие вопросы по тегам:

Похожие вопросы: