My configuration is rather simple, a workstation (running oi_151a7 which is illumos based aka solaris)
The server, is actually a non-global zone where pkgsrc (trunk) is installed with modular xorg etc.. X applications (including gtk) work seemingly fine, in particular gedit3, meld, pgadmin, openerp/tryton etc.
If I try to do an Xnest over the forwarded X session, a window pops up but quickly goes away with the following:
richard@devzoneX:~$ Xnest _XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root _XSERVTransmkdir: Owner of /tmp/.X11-pipe should be set to root [dix] Could not init font path element /opt/pkg/share/fonts/X11/OTF, removing from list! [dix] Could not init font path element /opt/pkg/lib/X11/fonts/misc, removing from list! [dix] Could not init font path element /opt/pkg/lib/X11/fonts/Type1, removing from list! [dix] Could not init font path element /opt/pkg/lib/X11/fonts/100dpi, removing from list! [dix] Could not init font path element /opt/pkg/lib/X11/fonts/75dpi, removing from list! [dix] Could not init font path element /opt/pkg/lib/X11/fonts/cyrillic, removing from list! Fatal server error: could not open default cursor font 'cursor'
The path problems aren't a real problem as I found using truss, but to illiminate them I just explicitly specify the modular xorg path:
richard@devzoneX:~$ Xnest -fp /opt/pkg/share/fonts/X11/misc _XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root _XSERVTransmkdir: Owner of /tmp/.X11-pipe should be set to root Fatal server error: could not open default cursor font 'cursor'
I'have have verified that the misc cursor font is installed:
richard@devzoneX:~/src/pkgsrc$ pkg_info | grep cursor xcursorgen-1.0.5 Prepare X11 cursor sets for use with libXcursor font-xfree86-type1-1.0.4 XFree86 cursor Type1 fonts font-dec-misc-1.0.3 DEC cursor and session PCF fonts font-cursor-misc-1.0.3 Standard X11 cursors in PCF format libXcursor-1.1.13 Client-side cursor loading library for X
And verified that it is seen okay with: $ xfd -fn cursor (even that the Xserver on the workstation has a valid one):
richard@devzoneX:~/src/pkgsrc$ xlsfonts -l cursor DIR MIN MAX EXIST DFLT PROP ASC DESC NAME --> 0 153 all 0 9 16 17 cursor --> 0 153 all 0 9 16 17 cursor --> 0 153 all 0 9 16 17 cursor
even trussed (similar to strace) to verify that it finds the cursor file:
open("/opt/pkg/share/fonts/X11/misc/fonts.alias", O_RDONLY) = 9 fstat(9, 0xFFFFFD7FFFDFD8F0) = 0 fstat(9, 0xFFFFFD7FFFDFD750) = 0 fstat(9, 0xFFFFFD7FFFDFD6A0) = 0 ioctl(9, TCGETA, 0xFFFFFD7FFFDFD710) Err#25 ENOTTY read(9, " ! $ X o r g : f o n".., 6656) = 6270 brk(0x006786F0) = 0 brk(0x006886F0) = 0 read(9, 0x0062B6A4, 6656) = 0 lseek(9, 0, SEEK_CUR) = 6270 close(9) = 0 open("/opt/pkg/share/fonts/X11/misc/6x13-ISO8859-1.pcf.gz", O_RDONLY) = 9 read(9, "1F8B\b\0\0\0\0\00203ED \".., 8192) = 4499 read(9, 0x00634DF0, 8192) = 0 brk(0x006886F0) = 0 brk(0x006906F0) = 0 brk(0x006906F0) = 0 brk(0x006946F0) = 0 close(9) = 0 pollsys(0xFFFFFD7FFFDFF710, 1, 0x00000000, 0x00000000) = 1 writev(8, 0xFFFFFD7FFFDFF800, 3) = 76 pollsys(0xFFFFFD7FFFDFF710, 1, 0x00000000, 0x00000000) = 1 recv(8, "01\0F1\0\0\0\0\0\0\0\0\0".., 4096, 0) = 32 recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN pollsys(0xFFFFFD7FFFDFF6E0, 1, 0x00000000, 0x00000000) = 1 writev(8, 0xFFFFFD7FFFDFF7D0, 3) = 84 pollsys(0xFFFFFD7FFFDFF750, 1, 0x00000000, 0x00000000) = 1 recv(8, "01\0F3\0 503\0\0\0\0\0\0".., 4096, 0) = 3316 recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN open("/opt/pkg/share/fonts/X11/misc/cursor.pcf.gz", O_RDONLY) = 9 read(9, "1F8B\b\0\0\0\0\00203ED [".., 8192) = 5206 read(9, 0x00687780, 8192) = 0 brk(0x006946F0) = 0 brk(0x0069C6F0) = 0 close(9) = 0 pollsys(0xFFFFFD7FFFDFF690, 1, 0x00000000, 0x00000000) = 1 writev(8, 0xFFFFFD7FFFDFF780, 3) = 28 pollsys(0xFFFFFD7FFFDFF700, 1, 0x00000000, 0x00000000) = 1 recv(8, "01\0F5\0E701\0\0F1FF\0\0".., 4096, 0) = 1980 recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN pollsys(0xFFFFFD7FFFDFF660, 1, 0x00000000, 0x00000000) = 1 writev(8, 0xFFFFFD7FFFDFF750, 3) = 112 pollsys(0xFFFFFD7FFFDFF6D0, 1, 0x00000000, 0x00000000) = 1 recv(8, "0101FB\010\0\0\0\0\0\0\0".., 4096, 0) = 96 recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN pollsys(0xFFFFFD7FFFDFF660, 1, 0x00000000, 0x00000000) = 1 writev(8, 0xFFFFFD7FFFDFF750, 3) = 116 pollsys(0xFFFFFD7FFFDFF6D0, 1, 0x00000000, 0x00000000) = 1 recv(8, "0101020110\0\0\0\0\0\0\0".., 4096, 0) = 96 recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN recv(8, 0x005EFDB4, 4096, 0) Err#11 EAGAIN Fatal server error: write(2, "\n F a t a l s e r v e".., 21) = 21 could not open default cursor font 'cursor'write(2, " c o u l d n o t o p".., 43) = 43 write(2, "\n", 1) = 1
So it finds the file, but doesn't seem to like what it finds. libXcursor???I even verified that it's not the compression by decompressing it, and indeed it is identitical to the cursor.pcf on my workstation. redid as root a mkfontdir/fc-cache -f all with the same result.
I should mention that my workstations xorg is more recent that the version in pkgsrc trunk, I believe it is xorg-server-1.12.2.
I'd like first to determine whether it is a general or solaris specific problem.
Can anybody with a headless server with modular-xorg built do a successful Xnest as I've described above?
Any other hints to debug this? Perhaps I'm omitting something obvious... Thanks loads in advance. Cheers.