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.