GLX не работает с xvfb-run

Если у вас есть учетные данные другого пользователя и учетные данные целевого пользователя можно использовать для изменения файловой системы, вы можете скомпилировать следующую программу, установите бит s и использовать учетные данные другого пользователя для его выполнения.

ПРИМЕЧАНИЕ: исполняемый файл должен принадлежать целевому пользователю, чтобы иметь возможность установить seteuid на uid целевого пользователя.

Первым аргументом программы является uid целевого пользователя.

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <signal.h>
#include <errno.h>

int main(int argc, char**argv) {
    if(seteuid(atoi(argv[1])) != 0) {
        printf("seteuid failed... %d", errno);
    }
    if(kill(-1, SIGTERM) != 0) {
    printf("kill failed...%d", errno);
    }

    return 0;
}
5
03.10.2016, 05:19
1 ответ

Возможно, в вашей установке Ubuntu отсутствуют некоторые пакеты OpenGL / GLX для использования GLX. Вы можете попробовать установить mesa-utils (OpenGL в зависимостях) и запустить glxgears и glxinfo, чтобы проверить это.

1
27.01.2020, 20:43

Теги

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