Friday, January 16, 2009

还是使用xfce

实在受不了fluxbox之类的"非主流"windows manager!

本是想着使用最小软件集的, 在受不了的情况下, 只能使用xfce这样的"套件"了.

# UES="alas doc -gnome" sudo emerge xfce4

安装后, 启动xfce:
# startxfce4

一开始就个问题: 找不到nio-laptop这个域名, 不过还提示本人使用/etc/hosts文件. ^_^

增加 "127.0.0.1 nio-laptop"到文件/etc/hosts问题解决!
* 这里有一个问题: gentoo下的主机名(nio-laptop)是在哪里存放的?
* ubuntu下有一个/etc/hostname的文件, gentoo是没有的. where ??

安装后, 第一件事是启动urxvt!

第二件事, 查看:
1. $HOME/.xsessinio文件

2. 看查/etc/X11下的文件
发现有新的东西:

增加了以下文件:
/etc/X11/dm/Sessions/xfce.desktop (目录也是新创建的)
/etc/X11/wmsession.d/10XFce4 (目录也是新创建的)
/etc/X11/Sessions下增加了一个Xsession文件
/etc/xdg (目录也是新创建的)

为什么要了解这种东西呢?

因为windows manager的主要配置文件, 这就关系到initrc与xsessinio之关的知识!(这部分下次写出来)

如果已经存在一个DISPLAY变量,会报X服务器已经存在. 可以删除这个环境变量:
* unset DISPLAY


使用startx很慢.为什么呢? 是没有-nolisten tcp的问题?
* 发现启动scim后, 启动使用X server resource的程序就变得很慢, 比如使用urxvt, xterm, 解决方法可以search本blog的"scim"关键字

startxfce4启动很快, 可是进入去没有没有输入法!
看了一下startxfce4的代码, 发现有一个目录:
$HOME/.config/xfce4/xinitrc

在没有细看代码的情况, 就生成了这个文件, 内容如下面:
#!/bin/bash
export LC_CTYPE="en_US.UTF-8"
export XIM=SCIM
export XIM_PROGRAM=/usr/bin/scim
export XIM_ARGS="-d"
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
export DEPENDS="scim,scim-pinyin|scim-tables"

$XIM_PROGRAM $XIM_ARGS

exec startxface4



结果, 报misc字体被多次引用!


无奈之下, 只能细看/etc/xdg/xfce4/xinitrc的代码了.发现此文件要干的活N多!! T_T X的启动还真不简单.

但是/etc/xdg/xfce4/xinitrc的脚本没有调用用户的任何代码,不可能在这个文件中增加用户的代码的!至少一般用户没有这个权限.

在startxfce4中看到下面的命令:
$prog /etc/xdg/xfce4/xinitrc $CLIENTRC -- -nolisten tcp $SERVERRC

在startxfce4没有参数调用时, 命令如下:
xinit /etc/xdg/xfce4/xinitrc -- -nolisten tcp

又加上看startxfce4的代码, 发现, 有了$HOME/.config/xfce4/xinitrc文件后, /etc/xdg/xfce4/xinitrc文件就不被使用了!

于是想到:
* 用户要在xfce4启动时增加自己的代码, 应该在$HOME/.config/xfce4/xinitrc文件中增加, 然后这个文件去调用/etc/xdg/xfce4/xinitrc脚本!这样就可以定义自己想要的启动过程!
如下是使用startxfce4后有输入法的方法:
#!/bin/bash
export LC_CTYPE="en_US.UTF-8"
export XIM=SCIM
export XIM_PROGRAM=/usr/bin/scim
export XIM_ARGS="-d"
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
export DEPENDS="scim,scim-pinyin|scim-tables"

$XIM_PROGRAM $XIM_ARGS
. /etc/xdg/xfce4/xinitrc



看来要启动输入法, 不能简单的处理. 还要知道xfce4对Sessinio脚本, xinitrc脚本的使用方式了.....

No comments:

Post a Comment

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