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