LFS中用户登录脚本、xinit与xdm启动应用程序(输入法)的快速设置

来源:互联网 发布:西班牙语翻译软件知乎 编辑:程序博客网 时间:2024/04/19 07:51
作者: esources  发布日期: 2007-7-24    查看数: 80   出自: http://www.linuxdiyf.com
<script type="text/javascript"><!--google_ad_client = "pub-8023555791144639";google_ad_width = 336;google_ad_height = 280;google_ad_format = "336x280_as";google_ad_type = "text_image";//2007-07-17: Contentgoogle_ad_channel = "0426587017";google_color_border = "F9F9F9";google_color_bg = "F9F9F9";google_color_link = "154BA0";google_color_text = "000000";google_color_url = "000000";//--></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript" style="display: none;"></script>
1.用户登录脚本
1.1./etc/profile文件
任何本地用户登录的第一个脚本,这里用默认值。

1.2.~/.bash_profile文件
当前用户进入控制台运行的脚本。这里以设置fcitx输入法为例,内容为:

PS1='/u:/w/$ '
export LANGUAGE="en_US:en_GB:en"
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
export LC_CTYPE=zh_CN
export LANG=en_US
PATH=$PATH:/usr/bin:/sbin:/usr/sbin
export PATH PS1

scim的设置类似。

1.3./etc/bashrc和~/.bashrc
/etc/bashrc常用以设置系统功能和别名等相关参数,一般被~/.bashrc调用。这里用默认值。
~/.bashrc常被称为用户的~/.bashrc文件,每启动一个终端,都将运行一次这个文件。这里设置内容为一些编译用到的变量,如:

if [ -f "/etc/bashrc" ] ; then
source /etc/bashrc
fi

export XORG_PREFIX="/usr"
export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc /
--localstatedir=/var --datadir=$XORG_PREFIX/lib"

2.init 3等进入控制台运行级别xinit(或startx)启动X的设置
xinit启动X server程序会寻找$HOME/.xinintrc文件,有就执行它,没有就会转到/etc/X11/xinit/xinitrc读取系统内定的启动 文件。接着就会读取$HOME/.Xdefaults,倘若没有,就会转到/usr/X11/xinit/Xcilents。从文件名Xclients看 来,这个是用来设置时执行哪些X应用的程序的文件。性质和xinitrc类似,同样是个shell script。但要注意的是:.Xdefaults是的权限具有755,即可执行。在正常的情况下,$HOME/.xinintrc是用来指派可以让X Window System正常运行的应用程序了。而.Xdefaults则被建议用来载入X资源设置和应用应用,以适合每个用户本身的喜爱程度而已。X server建立一个属于它自己的根视窗(Root windows),并设置视窗的背景与执行所指定的应用程序,显示一个大的"X"光标,便完成启动了。

因此,理论上可以把任何要运行的启动程序放入任一个启动脚本。

1.1这里仅设置~/.xinitrc,用以运行xfce4和fcitx输入法软件

xfce-mcs-manager
xfwm4 --daemon
xftaskbar4 &
xfdesktop &
fcitx &
exec xfce4-panel
3.设置xdm启动应用程序
3.1设置/etc/inittab,使进程直接转入执行xdm

# Begin /etc/inittab

id:5:initdefault: #init 5

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty -I '/033(K' tty1 9600
2:2345:respawn:/sbin/agetty -I '/033(K' tty2 9600
3:2345:respawn:/sbin/agetty -I '/033(K' tty3 9600
4:2345:respawn:/sbin/agetty -I '/033(K' tty4 9600
5:2345:respawn:/sbin/agetty -I '/033(K' tty5 9600
6:2345:respawn:/sbin/agetty -I '/033(K' tty6 9600
x:5:respawn:/usr/bin/xdm -nodaemon #init 5 run
# End /etc/inittab
3.2.xdm启动应用程序~/.xsession设置
xdm在启动用户会话成功后,标准的Xsession文档会将控制权传给一组Shell脚本中的某一个。具体使用哪个文档要根据用户具体情况决定。由于它 是使用exec来调用这些文档的,因此一旦被调用程序运行,它就成为一个新的用户会话并替代Xsession进程。这些Shell脚本包括:

  $HOME/.xsession

  $HOME/.Xclients

  /etc/X11/xinit/Xclients
这里仅以设置~/.xsession为例,内容为:(和xinit功能相同)

source ~/.bash_profile

xfce-mcs-manager
xfwm4 --daemon
xftaskbar4 &
xfdesktop &
fcitx &
exec xfce4-panel  
原创粉丝点击