Xorg 6.8.1: can't switch VT or resolution (partially solved)

Corey Hickey bugfood-ml at fatooh.org
Sat Oct 2 16:30:42 PDT 2004


Glynn Clements wrote:

>>>>and it seemed that libxkbfile.so.1 wasn't found until I `export
>>>>LD_LIBRARY_PATH=/usr/local/X11R6cvs/lib/` after which ldd showed all the
>>>>libraries. The strange thing is, I have LD_LIBRARY_PATH set in the
>>>>console from which I start xorg. I tried unsetting LD_LIBRARY_PATH, and
>>>>it did make a difference: xorg wouldn't load, with the console output
>>>>saved and attached as nold.log.
>>>
>>>
>>>The X server strips out all LD* variables from the environment for 
>>>security.  See xc/programs/Xserver/os/utils.c:1847.
>>
>>Once again, thank you for your help. Modifying utils.c to not strip LD*
>>would suit my purposes for now, but I'm having trouble doing so.
> 
> 
> [snip]
> 
> 
>>Now that I'm leaving the permissions of xterm alone, the LD* stripping
>>results in xterm failing to load as well. I don't know how the file
>>permissions fit in, but it seems that as long as I can preserve
>>LD_LIBRARY_PATH I won't have any trouble with xterm either.
> 
> 
> The Linux loader (ld-linux.so) also deletes the LD_* variables when
> running a setuid/setgid program.
> 

Ah, well I suppose it ought to, now that I think about it. :) That's one
of those things that makes perfect sense when someone tells me, but I
didn't think of on my own.

I tried removing setuid from Xorg to see what happened and only got as
far as:

Fatal server error:
xf86OpenConsole: Server must be suid root

So, I guess I can't go down that road.


I should ask, also, if there are any alternatives to using
LD_LIBRARY_PATH for what I want to do. Basically, I just want xorg to
not interfere with my current installation of xfree86, and vice versa. I
want xorg, and any programs I run within xorg, to look for libraries in
/usr/local/X11R6.8/lib first. Xfree86 and programs that run within
xfree86 should only look for libs in the usual places.


Thanks,
Corey



More information about the xorg mailing list