Saturday, January 17, 2009

X的启动

早就想了解X服务器的了. 只是没有好的机会和需求.

现在. 被gentoo逼出来了.

到底, 在startx, startxfce4之类的启动X服务的脚本中, 都干了些什么事呢?

能不能手动X服务器和自己想要的软件呢?

答案是可以的!!!!

来玩一把吧! ^_^

首先, 来一个最简的启动方案:
# X

看到一个什么都没有的"桌面". 这就是所谓的X服务器.

这个X服务器没有启动其它的外壳程序(shell), 这样, 我们只能看, 不能操作!!因为我们没有办法去fork出一个新的程序!

那么我们真的没有办法去操作了吗? 那个所谓的X服务器就只能看到"白板"一块了吗?

答案是: 可以的!

X服务器启动后, 显示默认使用的console是F7. 我们可以切换到其它的console, 比如console2. 在console2下, 我们就有了fork的基础了(^_^, 不是fuck哦)

如下的方法启动程序:
# firefox --display :0.0 &

这样, firefox的图形跑到console7了. 而当前的console2还是有平时一样!!

平时我们是不可能这样玩的, ^_^, 至少要在X服务器上跑一个可以fork程序的外壳程序(shell)吧.当然, 我们也可以像上面的方式那样跑一个shell,比如urxvt, 但是这样玩, 程序程序需要支持显频定向的功能. mousepad这样的程序就不能这样玩了(至少直接运行不行,需要export DISPLAY环境变量才行.)

那么, 还要什么改进呢?

答案是: 使用xinit

之前写过, xinit命令会使用到一个xinitrc的脚本. 好, 现在创建$HOME/.xinitrc文件.

其中加入:mousepad, 然后运行xinit
#xinit -no-listen tcp

哈, 可爱的mousepad就和X服务器一起出来了!!!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.