2006年2月4日星期六

Run X Applications in chrooted environment

我的Debian上没有装KDE,但Mandrake上装了,如今想试试eva(OpenQ好像确实是用不了了,Tencent放弃了对旧协议的支持),怎么弄?

有的朋友知道chroot,通过它可以跑一些简单的程序,但它好像没法知道“外面”的世界(设备文件、X服务器的unix socket位置,还有procfs, tmpfs等等),所以DISPLAY=localhost:0.0 eva并不能启动eva。

Answer:

How to startx in a chrooted environment

(既然新启一个X server都可以,只跑一个X程序更没问题了)

关键:

mount -t devpts none /path/to/chroot/dev/pts

mount --bind /tmp /path/to/chroot/tmp (因为X server的unix socket在/tmp/.X11-unix)

chroot /path/to/chroot

DISPLAY=localhost:0.0 eva

不要忘了在启动X程序之前在X服务器端用xauth或者xhost进行授权。


没有评论: