if(os_access(argv[4], OS_ACC_X_OK) < 0)
argv[4] = "port-helper";
+ /* Check that DISPLAY is set, this doesn't guarantee the xterm
+ * will work but w/o it we can be pretty sure it won't. */
+ if (!getenv("DISPLAY")) {
+ printk("xterm_open: $DISPLAY not set.\n");
+ return -ENODEV;
+ }
+
fd = mkstemp(file);
if(fd < 0){
printk("xterm_open : mkstemp failed, errno = %d\n", errno);
if(data->stack == 0) free_stack(stack, 0);
- if(data->direct_rcv)
+ if (data->direct_rcv) {
new = os_rcv_fd(fd, &data->helper_pid);
- else {
+ } else {
err = os_set_fd_block(fd, 0);
if(err < 0){
printk("xterm_open : failed to set descriptor "