>[оверквотинг удален]
>>>> xorg стартует позже.
>>
>зачем править код, когда можно сделать это в шелл.
>я не понимаю чего вы хотите добится :-(
>
>если xorg, или какой либо другой xserver, не стартовал, то функция вернёт
>NULL
>и вы получите сообщение в лог Вся фишка в том, что в коде есть if-else
if (dpy != NULL ) {
XWorker(dpy); // если работаем с Х-ами
} else {
FBWorker(); // если во фреймбуферной консоли.
}
Демон стартует задолго до Х-ов.
Если при запросе к этой функции не соединяется с X-ами, считаем, что работаем в консоли.
>if ( dpy == NULL )
> syslog(LOG_INFO. "Error XopenDisplay");
Вот пример, запускать, скажем из /etc/init.d/rc5.d/S00test
void conn2X(void) {
Display *dpy;
dpy = XOpenDisplay(NULL); // пытаемся открыть
if ( dpy == NULL ) {
syslog(LOG_INFO. "Error XopenDisplay"); // смотрим сислог
exit 1;
}
XCloseDisplay(NULL);
}
int main(void) {
sleep(180); // курим три минуты
conn2X(void); // переходим...
return 0;
}