Linux 版 (精华区)
发信人: don (驿路梨花), 信区: Linux
标 题: X窗口管理器启动文件说明
发信站: 哈工大紫丁香 (2000年06月09日11:51:17 星期五), 站内信件
X窗口管理器启动文件说明
作者: 何斌武 (hbwork@dlut.edu.cn,大连理工大学网络中心,April 1999.)
LINUX通常是通常执行/etc/X11/xinit/xintrc确定启动那个
窗口管理器的(fvwm,fvwm95,kde等),相关文件说明如下:
(事实上下面的说明适用于所有的X平台),但各个Distribution
(Slackware/Redhat/Debian)及不同版本的文件内容可能有所
差别,但其道理是相同的,希望下面的说明对大家有所帮助.
1.File /etc/X11/xinit/xinitrc
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
#
#以下内容读取有关x配置文件的内容,设置有关资源变量
#
#读取用户自定义变量
#功能说明:
# 一般情况下x应用程序有很多种选项,如字体,背景等,如果不使用资源文件
# 其启动命令行相当长,如:
# %xterm -fn -misc-fixed-bold-r-normal--15-140-75-75-c-iso8859-1 \
# -geometry 90x40 -bg yellow -fg navyblue &
# 使用资源文件可以使应用程序启动时自己使用所定义的资源变量
# 如对上所示xterm的资源文件定义内容为:
# XTerm*font: -misc-fixed-bold-r-normal--15-140-75-75-c-iso8859-1
# XTerm*Backgrould: yellow
# XTerm*Foregrould: navyblue
# XTerm*VT100.geometry: 90x40
#
# 这样直接执行 %xterm &就可以了.
# 资源文件的加载: xrdb -merge ResourceFileName-iso8859-1
userresources=$HOME/.Xresources
#
#使用xmodmap定义文件指定对键盘和mouse的解释
#具体说明请参老xmodmap之文档
usermodmap=$HOME/.Xmodmap
#
#系统资源文件及xmodmap定义文件
#
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
#
#根据系统所安装的package内容确定相应的浏览器
#
if [ -z "$BROWSER" ] ; then
# we need to find a browser on this system
BROWSER=`which netscape`
if [ -z "$BROWSER" ] || [ ! -e "$BROWSER" ] ; then
# not found yet
BROWSER=
fi
fi
if [ -z "$BROWSER" ] ; then
# we need to find a browser on this system
BROWSER=`which lynx`
if [ -z "$BROWSER" ] || [ ! -e "$BROWSER" ] ; then
# not found yet
BROWSER=
else
BROWSER="xterm -font 9x15 -e lynx"
fi
fi
fi
if [ -z "$BROWSER" ] ; then
# we need to find a browser on this system
BROWSER=`which arena`
if [ -z "$BROWSER" ] || [ ! -e "$BROWSER" ] ; then
# not found yet
BROWSER=
fi
fi
export BROWSER
# start some nice programs
#如果存在$HOME/.Xclients(用户自定义X clients文件,通常你可以修改
#此文件,选择启动不同的窗口管理器,如kde,fvwm95等,此文件应具有可执行
#权限
if [ -f $HOME/.Xclients ]; then
exec $HOME/.Xclients
#
#如果不存在$HOME/.Xclients文件,则使用系统默认的Xclients文件
#/etc/X11/xinit/Xclients
#
elif [ -f /etc/X11/xinit/Xclients ]; then
exec /etc/X11/xinit/Xclients
#
#如果以上两个文件均不存在,执行如下程序
#
else
#
#在启动窗口管理器之前先执行下面这些程序,这些程序必须以后台方式
#运行,否则只有等前一个窗口退出才能继续执行后面的程序
#
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
if [ -f /usr/X11R6/bin/arena -a -f /usr/doc/HTML/index.html ]; then
arena /usr/doc/HTML/index.html &
fi
#
#默认情况下启动fvwm,如果不存在文件/usr/X11R6/bin/fvwm则使用
#twm (the Tab Window Manager,MIT X发行).
#通常窗口管理器为最后一个执行的程序,并且是前台执行的,这一点在
#$HOME/.Xclients和/etc/X11/xinit/Xclients文件中相同,
if [ -f /usr/X11R6/bin/fvwm ]; then
exec fvwm
else
exec twm
fi
fi
2. /etc/X11/xinit/Xclients
#!/bin/bash
########################################################################
# -*- sh -*- #
# #
# ~/.Xclients: used by startx (xinit) to start up a window manager and #
# any other clients you always want to start an X session with. #
# #
# feel free to edit this file to suit your needs. #
# 通常上面的分析,我们知道如果存在$HOME/.Xclients文件,系统不会执行此文件#
# 只有在不存在$HOME/.Xclients文件时才会执行
########################################################################
# these files are left sitting around by TheNextLevel.
rm -f $HOME/Xrootenv.0
rm -f /tmp/fvwmrc* 2>/dev/null
# First thing - check the user preferences
# 如果存在文件$HOME/.wm_style,读取用户定义的Window Manager Style,
# 变量,并启动相应的窗口管理器
# Note: 因为很少使用此文件,大家可以改一下看看有什么结果,此文件的内
# 容可以通过下面case语句中的可选项得知,如出现了Afterstep|AfterStep,
# 则你可以使用Afterstep或AfterStep.
if [ -f $HOME/.wm_style ] ; then
WMSTYLE=`cat $HOME/.wm_style`
case "$WMSTYLE" in
Afterstep | AfterStep)
exec /usr/X11R6/bin/RunWM --AfterStep
;;
WindowMaker | Windowmaker | WMaker | wmaker)
exec /usr/X11R6/bin/RunWM --WindowMaker
;;
Fvwm95 | fvwm95)
exec /usr/X11R6/bin/RunWM --Fvwm95
;;
Mwm | MWM | Lesstif)
exec /usr/X11R6/bin/RunWM --FvwmMWM
;;
esac
fi
# Default: Fvwm95
# 默认情况下运行Fvwm95
# /usr/X11R6/bin/RunWM --Fvwm95运行成功? 如果运行失败则运行{}中的内容
#
/usr/X11R6/bin/RunWM --Fvwm95 || {
# gosh, neither fvwm95 nor fvwm2 is available;
# let's try regular fvwm (AnotherLevel doesn't work with fvwm1).
# 注意除最后一条命令外,其他程序必须是后台执行的
if [ -n "$(type -path fvwm)" ]; then
# if this works, we stop here
exec fvwm
fi
# wow, fvwm isn't here either ...
# use twm as a last resort.
xterm &
exec twm
}
3. $HOME/.Xclients文件
#!/bin/bash
#此文件启动KDE, 原始文件:/opt/kde/etc/skel/.Xclients
#
# kdesetup installs .kde and Desktop directories, if absent.
# Only run kdesetup if it exists (for compatibility of this .Xclients
# script with older versions of KDE)
# 如果KDE启动不正常,请加入
# export KDEDIR=/opt/kde
if [ -f $KDEDIR/bin/kdesetup ] ; then
$KDEDIR/bin/kdesetup
fi
# clean up old kde /tmp files that belong to the user
for file in /tmp/kfm_* /tmp/kio* ; do
if [ -O $file ] ; then
rm -fr $file
fi
done
# add any local customizations here, before the startkde script runs
$KDEDIR/bin/startkde
made by pageshop of CERNET network centre of DaLian region.copyright 1999
--
一条驿路,一种氛围。
一朵梨花,一种思考。
希望能在Linux这条驿路上与你同行!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.63]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.543毫秒