#include #include #include #include #include void openDisplay(char* display) { Display *d = NULL; printf("trying to open display %s\n", display); d = XOpenDisplay(display); if (d) { printf("successfully opened display %s\n", display); XCloseDisplay(d); if (d) free(d); } else { printf("could not open display %s\n", display); } } #define MAX_HOSTNAME_LEN 1024 int main() { char* display = getenv("DISPLAY"); if(!display){ printf("Could not determine your current display from the DISPLAY environment " "variable.\nAre you running this program in X?\n"); exit(1); } char* display2 = (char*) malloc(MAX_HOSTNAME_LEN + strlen(display) + 1); gethostname(display2, MAX_HOSTNAME_LEN); strncat(display2, display, strlen(display)); openDisplay(display); openDisplay(display2); free(display2); exit(0); }