Config HOWTO 系统设置 (2)

4/15/2005来源:Linux教程人气:12680

--------------------------------------------------------------------------------

4. 软件设置

下列设置档必需加以设定:/etc/PRofile /etc/bashrc .bashrc .bashrc .bash_profile .bash_logout .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc .abbrevs.sl .joerc .emacs . 在完成系统设定以前不要增添用户;需要将点文档(dot files)放入/etc/skel。 


4.1 bash(1) 
有人认为,这个软件是除内核之外最重要的软件。要使bash适合个人口味,可修改下列文档: 


/etc/bashrc 存有整个系统的别名和功能; 
/etc/profile 存有整个系统的环境参数和启动程式; 
$HOME/.bashrc 存有用户的的别名和功能; 
$HOME/.bash_profile 存有用户的环境参数和启动程式; 
$HOME/.inputrc 存有主要绑定数值和其他位元数值; 
下文例举对这些文档的修改。首先,最重要的文档是:/etc/profile。以下几节中可以看到,修改这个文档可以设定 linux 的各种功能。 



--------------------------------------------------------------------------------

# /etc/profile

# System wide environment and startup programs
# --整个系统环境和启动程式
#
# Functions and aliases go in /etc/bashrc
# --/etc/bashhrc中包含功能和别名
#
# This file sets up the following features and programs:
# --这个文档设定下列功能:
#
#   o path --路径
#   o prompts  --提示符
#   o a few environment variables  --几个环境变数
#   o colour ls --ls 的颜色
#   o less behaviour    --设定less的功能 
#   o rxvt
#
# Users can override these settings and/or add others in their
# $HOME/.bash_profile
# 用户可在 $HOME/.bash_profile 中取消这些设定和(或)增加其他设定


# set a decent path
# 设定可行的路径

PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."

# notify the user: login or non-login shell. If login, the prompt is
# coloured in blue; otherwise in magenta. Root's prompt is red.
# See the Colour-ls mini  HOWTO  for an explanation of the escape codes.
# 通知用户:登录(login)或不登录(non-login)的外围程序(shell)。
# 如果登录,则提示符为蓝色,否则为紫红色。Root的提示符为红色。
# 参阅Colour-ls mini  HOWTO 中对换码符(escape codes)的使用解释。

USER=`whoami`
if [ $LOGNAME = $USER ] ; then
  COLOUR=44  # blue --蓝色
else
  COLOUR=45  # magenta --紫红色
fi

if [ $USER = 'root' ] ; then
  COLOUR=41  # red --红色
  PATH="$PATH:/usr/local/bin"
fi

ESC="\033"
PROMPT='\h'    # hostname --主机名
STYLE=';1m'    # bold --粗体
# PROMPT='\u'  # username --用户名
# STYLE='m'    # plain --一般字体
PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ "
PS2="> "

# no core dumps, please
# 请勿转储内存信息

ulimit -c 0

# set umask
# 设定umask

if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
  umask 002
else
  umask 022
fi

# a few variables
# 几项变数

USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"  # sendmail, postfix, smail 
# MAIL="$HOME/Mailbox"        # qmail
NNTPSERVER=news.myisp.it      # put your own here 
VISUAL=jed
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER
export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE

# enable colour ls
# 设定ls的颜色

eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-s -F -T 0 --color=yes'

# customize less
# 设定less

LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
LESSCHARDEF=8bcccbcc13b.4b95.33b. # show colours in ls -l | less
# LESSCHARSET=latin1
PAGER=less
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF

# fix the backspace key in rxvt/xterm
# 设定rxvt/xterm中的退後键

CTRL_H="\010"
NULL_STRING=" $CTRL_H" # space + backspace
if [ "$NULL_STRING" != "" ] ; then
  stty erase ^?
else
  stty erase ^H
fi

# set xterm title: full path
case $TERM in
  xterm*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
    ;;
esac

for i in /etc/profile.d/*.sh ; do
  if [ -x $i ]; then
    . $i # beware - variables and aliases might get overridden!
  fi
done

# call fortune, if available  --如有fortune
if [ -x /usr/games/fortune ] ; then
  echo ; /usr/games/fortune ; echo
fi


--------------------------------------------------------------------------------

此处为 /etc/bashrc: 



--------------------------------------------------------------------------------

# /etc/bashrc

# System wide functions and aliases
# 整个系统的功能和别名
#
# Environment stuff goes in /etc/profile
# /etc/profile中的环境参数
#
# Insert PS1 definitions here if you experience problems.
# 如有问题可将PS1的参数放在此处

export CDPATH="$CDPATH:

# common aliases --共同别名

alias cp='cp -i'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias rmbk='/bin/rm -f .*
alias u='cd ..'
alias which="type -path"
alias x=startx

# A few useful functions --几项有用的功能

c ()    # cd to the new directory and list its contents
{
  cd $1 ; ls
}

inst()  # Install a .tar.gz archive in current directory --在当前目录中建立.tar.gz储存库
{
  if [ $# != 0 ]; then tar zxvf $1; fi
}

cz()    # List the contents of a .zip archive --列出.zip的内容
{
  if [ $# != 0 ]; then unzip -l $*; fi
}

ctgz()  # List the contents of a .tar.gz archive --列出.tar.gz的内容
{
  for file in $* ; do
    tar ztf ${file}
  done
}

tgz()   # Create a .tgz archive a la zip. --建立压缩档.tgz
{
  if [ $# != 0 ]; then
    name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name}
  fi
}

crpm()  # list information on an .rpm file --列出.rpm档的内容
{
  if [ $# != 0 ]; then rpm -qil $1 | less; fi
}


--------------------------------------------------------------------------------

此处为 .bashrc: 



--------------------------------------------------------------------------------

# $HOME/.bashrc
# Source global definitions

if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

# this is needed to notify the user that they are in non-login shell
# 需要以下设定,以便通知处於不登录(non-login)外围程序(shell)中的用户

if [ "$GET_PS1" = "" ] ; then
  COLOUR=45; ESC="\033"; STYLE=';1m';  # STYLE='m'
  USER=`whoami`
  export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ "
fi

# personal aliases
# 个人别名

alias backup='tar -Mcvf /dev/fd0'
alias dial='eznet up myisp'
alias f='cd 
alias hangup='eznet down'
alias lyx='lyx -width 580 -height 450'
alias restore='tar -M -xpvf /dev/fd0'

# personal functions
# 几个个人使用的功能

xj()    # Launch xjed and a file in background --在背景启动xjed和文档
{
  xjed $1 &
}


--------------------------------------------------------------------------------

此处为.bash_profile: 



--------------------------------------------------------------------------------

# $HOME/.bash_profile

# User specific environment and startup programs
# 用户特定的环境参数和启动程式
#
# This file contains user-defined settings that override
# those in /etc/profile
# 这个文档中存有用户自订的设置,可取代/etc/profile 中的数值
#
# Get aliases and functions
# 设定别名和功能
#
if [ -f  then
  GET_PS1="NO"  # don't change the prompt colour --不改变提示符的颜色
  . 
fi

# set a few `default' directories
# 设定几个“默认”目录

export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology"


--------------------------------------------------------------------------------

此处为 .inputrc: 



--------------------------------------------------------------------------------

# $HOME/.inputrc

# key bindings
# 主要绑定

"\e[1
"\e[3
"\e[4
# (F1 .. F5) are "\e[[A" ... "\e[[E"
# (F1 .. F5) 分别为 "\e[[A" ... "\e[[E"

"\e[[A": "info \C-m"

set bell-style visible          # please don't beep
                                # 喇叭不发声
set meta-flag On                # allow 8-bit input (i.e, accented letters)
                                # 允许8-位元输入(例如重音字符)译注:用于欧洲

set convert-meta Off            # don't strip 8-bit characters
                                # 不取消8-位元字符
set output-meta On              # display 8-bit characters correctly
                                # 正确显示8-位元字符
set horizontal-scroll-mode On   # scroll long command lines
                                # 长指令行自动翻转
set show-all-if-ambiguous On    # after TAB is pressed
                                # 按TAB键


--------------------------------------------------------------------------------

设定下列参数使 backspace 和 delete 两键在xterm 和其他X11应用中运作正常: 

在.xinitrc中添加: 
usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap

在.Xmodmap中添加: 
keycode 22 = BackSpace
keycode 107 = Delete

以上就设定了主控台的参数。要修改xterm,则更改如下: 
在.Xdefaults中增添: 
xterm*VT100.Translations: #override BackSpace: string(0x7F)\n\
        Delete:        string(0x1b) string("[3
        Home:          string(0x1b) string("[1
        End:           string(0x1b) string("[4
        CtrlPrior:     string(0x1b) string("[40
        CtrlNext:      string(0x1b) string("[41

nxterm*VT100.Translations: #override BackSpace: string(0x7F)\n\
        Delete:        string(0x1b) string("[3
        Home:          string(0x1b) string("[1
        End:           string(0x1b) string("[4
        CtrlPrior:     string(0x1b) string("[40
        CtrlNext:      string(0x1b) string("[41

rxvt的问题比较复杂,因为在编辑时的一些设定会影响它的功能。参看上文 /etc/profile部分。 

在bash(1) 和 readline(3) 的 man 说明中有更多这方面的资料。 

不要以为这些设定在每种应用中都可正常运作。例如,在xterm中运行joe,有些键位就不起作用;运行rxvt也有相同的问题。 


4.2 ls(1) 
ls可用颜色显示目录,突出不同种类的文档。如上文所示,要使用这项功能,只要在 /etc/profile 增加几行内容即可。不过,这对有些版本的rxvt不起作用;得使用 xterm 替代。看来一些老版本的rxvt有设计不全之处,以致在有些情况下无法正确使用环境参数。 

Caldera版本的ls不显示颜色,但它有一个类似的color-ls。将以下内容加到 /etc/bashrc: 


alias ls="color-ls $LS_OPTIONS"


4.3 less(1) 

利用这个优越的页面调度程序不仅能浏览一般文字文档,也能观看压缩的 gzip 文档和以 tar 和 zip 格式储存的档案文档和 man 文档,其设置如下: 


如要配合使用方向键,则将以下以ASCII编写的一般文字档.lesskey 置于home目录内: 
^[[A   back-line
^[[B   forw-line
^[[C   right-scroll
^[[D   left-scroll
^[OA   back-line
^[OB   forw-line
^[OC   right-scroll
^[OD   left-scroll
^[[6
^[[5
^[[1
^[[4
^[[7
^[[8

然後运行指令lesskey。(这是类似vt100型终端机的换码符)。这会生成绑定键位的二进制文档 .less。 
编制下列称为w /usr/local/bin/lesspipe.sh的文档: 
--------------------------------------------------------------------------------

#!/bin/sh
# This is a preprocessor for 'less'.  It is used when this environment
# variable is set:   LESSOPEN="|lesspipe.sh %s"
# 此为‘less’的预处理器。当环境参数定为LESSOPEN="|lesspipe.sh %s"
# 时,便起用这个预处理器。

lesspipe() {
  case "$1" in
  *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files
                                  # 阅读.tar和.tgz档的内容
   *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
  *.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; # View compressed files
correctly
                                                # 正确阅读压缩文档
  *.zip) unzip -l $1 2>/dev/null ;; # View archives
                                    # 阅读档案文档
  *.arj) unarj -l $1 2>/dev/null ;;
  *.rpm) rpm -qpil $1 2>/dev/null ;;
  *.cpio) cpio --list -F $1 2>/dev/null ;;
  *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) FILE=`file -L $1`
    FILE=`echo $FILE | cut -d ' ' -f 2`
    if [ "$FILE" = "troff" ]; then
      groff -s -p -t -e -Tascii -mandoc $1
    fi ;;
  *) file $1 | grep text > /dev/null ;
    if [ $? = 1 ] ; then # it's not some kind of text
      strings $1
    fi ;;
  esac
}

lesspipe $1


--------------------------------------------------------------------------------
然後运行chmod 755 lesspipe.sh,使其成为可执行档。 
按照上文将必要的变数放入/etc/profile。 

4.4 emacs(1) 文本编辑器 
由于我不太用emacs,因此心得不多。有些emacs 版本没有预先设置颜色和语法标示。可在.emacs中增添: 


(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

这只对X11有用。如需使用重音符号,可增加此行: 


(standard-display-european 1)

我让您自己从关於emacs的文件资料中寻找设定符合您的需要的方法,有时这需要几个月的时间。点文档产生器( 设置软件)可以帮些忙。 


4.5 joe(1) 文本编辑器 

有些joe的版本不在主控台显示颜色,并且有些特殊键位不起作用。解决这项问题的最快方法是: 


   (译注:原文似乎有漏)

要使特殊键位发生作用,只要修改.joerc、.jstarrc或喜爱的仿真设定;首先改变/usr/lib/joe中的设置文档。利用第四部分(键位梆定)设定Home和 End两键。 


bol ^[ [ 1 
eol ^[ [ 4 

找出ESC的次序,键入cat,然後再键入特殊键。 


4.6 jed(1) 文本编辑器 
这是相当好用的编辑器:比emacs短小精悍,也宜於设定,使用方式也与其他编辑器十分类似。我们大学的许多用户都用jed替代VMS的系统编辑器EDT。 

jed的设置文档为 .jedrc和/usr/lib/jed/lib/*;前者可从後者目录中的jed.rc修改而得。 


要使jed的特殊键位设置正确,编制/usr/lib/jed/lib/defaults.sl档,其内容如下: 
() = evalfile(" Linux ");

如果xjed不识别DEL键,则在.jedrc中增加下列内容: 
#ifdef XWINDOWS
  x_set_keysym (0xFFFF, 0, "\e[3
  setkey (``delete_char_cmd'', "\e[3
#endif

编辑/usr/lib/jed/lib/ Linux .sl,设定Info_Directory = "/usr/info";并在/UCB_Mailer = "/bin/mail";后添加/bin/mail; 
设置jed模拟EDT(或其他编辑器)的工作不难:只须编辑 .jedrc 中的几行内容。 如果要用小键盘中的‘+’键删字,而不只删一个字母,则在.jedrc中() = evalfile("edt")(或类似的设定)之後增添下列内容: 
unsetkey("\eOl");
unsetkey("\eOP\eOl");
setkey("edt_wdel", "\eOl");
setkey("edt_uwdel", "\eOP\eOl");

在EDT模拟中,要使xjed使用数字小键盘,则须在 .Xmodmap 中添加下列内容: 
keycode 77  = KP_F1
keycode 112 = KP_F2
keycode 63  = KP_F3
keycode 82  = KP_F4
keycode 86  = KP_Separator

在.Xdefaults中增加以下内容可以更改xjed的颜色: 
xjed*Geometry: 80x32+150+50
xjed*font: 10x20
xjed*background: midnight blue
# and so on...

设定“简称表”可节省许多时间。编辑一个称为 $HOME/.abbrevs.sl 的程序(如要改变名称,可在.jedrc中插入variable Abbrev_File = "/usr/lib/jed/abbrev.sl";): 
create_abbrev_table ("Global", "0-9A-Za-z");
define_abbrev ("Global", "GG", "Guido Gonzato");
create_abbrev_table ("TeX", "\\A-Za-z0-9");
define_abbrev ("TeX", "\\beq", "\\begin{equation}");
define_abbrev ("TeX", "\\eeq", "\\end{equation}");
% and so on...

并键入ESC x abbrev_mode使其运行。如要自动运行简称功能,将下列内容加入 .jedrc: 
define text_mode_hook ()
{
  set_abbrev_mode (1);
}
%
define fortran_hook ()
{
  set_abbrev_mode (1);
  use_abbrev_table ("Fortran");
}
% and so on...


4.7 pine(1) 邮件阅读器 
修改/usr/lib/pine.conf中涉及整个系统的设置,特别注意: user-domain、smtp-server和nntp-server。同时注意 inbox-path取决于使用何种 MTA:如使用 sendmail 或 postfix,则为 var/spool/mail/$USER;如使用 Qmail,则为 /home/$USER/Mailbox (但 root 使用 /usr/lib/pine.conf)。 


4.8 minicom(1) 
除非 root 修改影响整个系统的设置,否则用户无法使用 minicom。记住修改。 


4.9 efax(1) 软件 

可能这是一套最容易收发传真(fax)的软件。只要修改 /usr/bin/fax 内的指令即可;修改不难,但有些小地方却需注意: 


利用 at+fclass=? 指令找出系统内的数据机的级别为 class 1、2或2.0型。系统的回覆可能为 0,1,2;1 和 2 表示数据机支持的级别; 
DIALPREFIX: 单单使用“T”或“P”可能不适用于有些国家(至少不适用于义大利)。改用 “ATDT”或“ATDP”拨号; 
INIT and RESET: efax 需要起始参数 “-i”和 “-k”。如需使用 AT 指令,则将其从指令中消除,并以 “-i” 或 “-k”替代。例如:在 INIT 中使用 “ATX3” 指令,则加入 “-iX3”即可。 
完成这项设置後,还要设置几项使用者的权限设定,这样非 root 的使用者才能收发传真。首先要使 /var/lock 和 /var/spool/fax 成为可写目录。要完成这项工作,不妨设立 faxusers 群组,将使用者加入其中,然後以下列指令改变属性: 


 chmod g+w /var/spool/fax


4.10 Ghostscript 
这个有用的软件有点小问题。因为美国的出口限制,pdf2ps 不能在加密的 .pdf 文档上使用。解决办法是将浏览器接上 http://www.ozemail.com.au/, 把 pdf_sec.ps 文档取代 Ghostscript 中的同名文档即可。 


4.11 TeX 的使用 

假设 Linux 机上已安装了LeTeX。 


从最近的镜像站下载其他与LaTeX有关的软件,例如 ftp://ftp.dante.de/pub/tex。将这些文档放在 /usr/share/texmf/tex/latex 目录下,然後运行指令texhash,使 teTeX知道新软件的存在; 
设置连字符(hyphenation),则可修改 /usr/share/texmf/tex/generic/config/language.dat档,然後运行: 
 texconfig hyphen

如要设定dvips,则需编辑 /usr/share/texmf/dvips/config/config.ps档。 注意:有关默认分辨率的参数也影响 xdvi的运行;如果每次运行时发现都要创造字体,则可改动 .Xdefault的内容如下: 
XDvi*mfmode:

这应有所帮助。 
扩大TeX的寻找□围可将子目录中的PostScript数字包括再内。将下列指令放入 .bash_profile: 
export TEXINPUTS="$HOME/figures::./figures"

这使TeX在查找默认目录之前先查找$HOME/figures,并在查找默认目录之後查找 ./figures。 

4.12 避免PPP的问题 

目前 Linux 的内核几乎都已编入了 PPP + TCP/IP 功能,设定了回送地址(loopback)和正确安装了pppd软件和作为suid root。当然,ISP 得支持PPP。目前有两种方式可使 PPP 正常运作:(a)手动设定;和(b)利用一个程式自动设定。不论采用何种方式,均请收集下列资料: 


ISP的电话号码 
ISP的名字、邮件和新闻服务器的地址 
ISP的域名 
用户名字和密码 
手动设置是件单调无聊、十分乏味的事。虽然涉及的工作无非是修改文档和编辑脚本,并不麻烦,但极易出错,新手往往不敢轻易□试。幸好有 PPP HOWTO 可以参考。此外,也有工具可以使用,输入上述资料,然後自动为您设置。 Gnome和KDE两套软件中分别包括了gnome-ppp和kppp两个工具,方便安装PPP,令人十分感激。此外,也不妨使用在主控台上操作的工具wvdial和eznet。只要提供ISP的电话号码、用户姓名、密码,就联网上路了。它们的网页是 http://www.worldvisions.ca/wvdial和 http://www.hwaci.com/sw/eznet,不妨试用。这两个工具都十分好用,也需後者更方便一些。 


使用eznet

首先,建立一个文档/etc/resolv.conf,内容如下: 


nameserver w.x.y.z

其中填入您使用的ISP的域名伺服器(nameserver)的地址。要利用eznet建立帐户,可使用下列指令: 


#(译注:原文有漏)

这会产生一个属於root的文档/var/eznet/eznet.conf,使用权限为600;如要让大家都能使用,用chmod将其改为666。利用eznet up YOUR_ISP拨号给ISP。如果数据机一直等待电话的接拨信号,无法接通,试试下列指令: 


#(译注:原文有漏)

要挂断电话,只要发出eznet down指令。不是十分简单吗! 


使用wvdial

wvdial的设置甚至更短。键入wvdialconf /etc/wvdial.conf,然後修改这个文档使其列入用户姓名、密码和电话号码。用wvdial试拨,希望一切顺利。要断线,用 Ctrl-C即可。 


4.13 POP用户端程序 
要从POP伺服器收取邮件,可使用POP用户端程序,如fetchpop或 fetchmail等;後者比较先进,但需要运行sendmail。这对低档电脑而言,似乎是多此一举。这些软件可从 ftp://metalab.unc.edu/pub/ Linux /system/mail/pop得到。 

设置用户端的程式如下: 


fetchpop:在第一次运行这个软件时会要求输入一些资料。只要回答所有问题即可。如果ISP的POP3伺服器不能正确执行LAST指令,在使用fetchpop时必需加附参数-r 
fetchmail:修改.fetchmailrc如下: 
# $HOME/.fetchmailrc
poll mbox.myisp.com with protocol pop3;
  user john there with passWord _Loo%ny is john here

有个用户指出在第二行中增加“smtphost localhost”能大大改善运行速度。 必须运行chmod 600 .fetchmailrc设定此档的使用权限,否则fetchmail会完全拒绝运行。这个例子只是一种非常基本的设定,还有其他各种可能设定的办法, 可参看 http://www.ccil.org/。 

4.14 X 视窗系统 (XFree86) 


设定X伺服器

归根结底,设定X伺服器已经没有以前那麽困难。所有版本的 Linux 现在都包括了设定X11的工具(XConfigurator、sax、XF86Setup 或至少有xf86config)。目前X伺服器的设置几乎完全自动,只是有少数几种视像卡可能拒绝工作。在设定X伺服器时如遭遇困难,可用下列简单的方法解决: 


确定安装了通用的VGA伺服器; 
连接到 ftp://ftp.XFree86.org/pub/XFree86/current/binaries,cd到适当的 Linux 子目录,下载X_version_bin.tgz、X_version_set.tgz和所有伺服器。在其他软件中,第一个存档软件内载有最新的SuperProbe; 
将X_version_bin.tgz打开到一个临时目录,cd到该目录,然後运行 ./SuperProbe。如果这个程式测得视像卡,那就有可能设定视像卡。否则就没有希望; 
从/usr/X11R6/安装各个伺服器和X_version_set.tgz,然後运行 XF86Setup。 
这种方法一般都万无一失,但各人的情况可能不同。X11不开始运行的多数原因是视像器的参数选择过高。不妨从比较低的参数开始,例如选800x600和256色,然後逐步上升。注意:这些操作应谨慎小心,可能会损坏视像器! 



数字小键盘

上文已经示□如何设定几个特别键位。如果使用Xjed,示□文档.Xmodmap就符合需要,但缺点是无法使用数字小键盘(keypad)。因此需要.Xmodmap.num另作设定: 


! Definitions can be found in 
! 在中可找到各项定义
keycode 77  = Num_Lock
keycode 112 = KP_Divide
keycode 63  = KP_Multiply
keycode 82  = KP_Subtract
keycode 86  = KP_Add
keycode 79  = KP_7
keycode 80  = KP_8
keycode 81  = KP_9
keycode 83  = KP_4
keycode 84  = KP_5
keycode 85  = KP_6
keycode 87  = KP_1
keycode 88  = KP_2
keycode 89  = KP_3
keycode 90  = KP_0
keycode 91  = KP_Decimal

确定/etc/X11/XF86Config中不得有下列三行: 


  ServerNumLock
  Xleds
  XkbDisable

否则用#注销。要重新使用数字小键盘,运行指令xmodmap .Xmodmap.num。 


用xdm图像登录

要使用图像登录,不妨修改/etc/inittab,使其包含下列内容: 


x:5:respawn:/usr/bin/X11/xdm -nodaemon

其中5是X11的运行级别(runlevel)(S.u.S.E. 用4)。按照下列方法修改默认运行级别(通常为2或3): 


id:5:initdefault:

颜色的数值设定于/etc/X11/xdm/Xserver: 


:0 local /usr/X11R6/bin/X :0 -bpp 16 vt07  # first X server, 65k colours
:1 local /usr/X11R6/bin/X :1 -bpp 32 vt08  # second X server, true colour

如果已有.xinitrc,将其复制成.xsession,并运行chmod +x .xsession使其成为可执行档。然後运行指令telinit 5,那就大功告成了。 


视窗管理器

一旦X伺服器能够无误地工作,那就有各种组合的设置;当然,这得看用哪种视窗管理器(window manager),目前就有几十种可选。多数设置都是修改一、两个主目录内的文本文件(ASCII files);也有根本不需作任何修改的视窗管理器,而用一个小程式或甚至菜单来管理。 


举例如下: 


属於fvwm家族: 拷贝 /etc/X11/fvwm/system.fvwmrc (或类似的程式)到主目录, 打开试用。用这种方法可能会浪费不少时间,不过这样才会真正知道它的特性,并了解是否投你所好; 
WindowMaker: 它有几个设置文档,都在 $HOME/GNUstep内,并有一个相当不错的小程式(applet); 
KDE 和 Gnome: 没有任何修改之处:任何设定都通过菜单进行。 
简言之,如果不在乎修改设置文档,可选用icewm、fvwm*、blackbox等;否则就选用目前常见的KDE、Gnome、WindowMaker和XFCE。 

应该要有一个好的.xinitrc。举例如下: 


#!/bin/sh
# $HOME/.xinitrc

usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap

xset s noblank  # turn off the screen saver -- 关闭屏幕保护软件
xset s 300 2    # screen saver start after 5 min -- 5分钟之後启动屏幕保护
xset m 10 5     # set mouse acceleration -- 设定鼠标的速度

rxvt -cr green -ls -bg black -fg white -fn 7x14 \
  -geometry 80x30+57+0 &

if [ "$1" = "" ] ; then  # default
  WINMGR=wmaker
else
  WINMGR=$1
fi

$WINMGR

虽然并非必需,但将其变成可执行档chmod +x .xinitrc。 

这个 .xinitrc 让你选用视窗管理器: 


$ startx startkde # or other w.m. -- 或其他视窗管理器

(不过它不适用于有些版本的 S.u.S.E.) 


X11 应用软件的默认值

找出app-defaults的所在位置(应该在/usr/X11R6/lib/X11/app-defaults)。有几个应用软件的设置文档都在这个目录内。 


4.15 使用者的设置文档 

完成 Dot 文档的编辑後,将这些设置文档按 软件设置的方法抄到 /etc/skel。 

4.16 制作 .rpm 
rpm是一种管理整套软件的好方法,除非在特殊情况下(安全理由),一般我都不太愿意安装.tar.gz软件。要安装.tar.gz软件时,不妨将其转换成.rpm档,然後再安装;参考RPM HOWTO。此外,在使用比较新的gcc版本时,例如 egcs或pgcc,不妨将下列内容加入/etc/rpmrc: 



optflags: i386 -O2 -mpentium


4.17 Upgrading 

在机器升级时,应首先制作备份,并保存一些重要文档,其中应包括 /etc/X11/XF86Config、/usr/bin/fax和/usr/local 中的所有文档以及内核设置、全套/etc和/var/spool/mail中的所有邮件。 

然後应该升级(极少降级)软件版本附带的应用软件,和增加应用软件。 



--------------------------------------------------------------------------------

    
--------------------------------------------------------------------------------

5. 设置软件 
有一些程式使 Linux 易于安装和设置。有些程式已经成为标准: Red Hat 和 Caldera 以及一些附带 setup、printtool、netcfg、usertool的版本, S.u.S.E.奉送整套设置程序Yast。其他有用的程序包括: 


The Dotfile Generator: X视窗的应用软件和模组,以便设置emacs、bash、procmail等软件。其网址为 http://www.imada.ou.dk/ 
Linux conf: 最有用的设置工具。它能在主控台和X下均可运行。要查找资料,不妨利用 http://www.solucorp.qc.ca/ Linux conf网址。 


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

6. 结束


6.1 版权说明(译者:保留原文) 

Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. 

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. 

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTO s. 

If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at [email protected] via email. 


6.2 反馈意见 

这份 HOWTO 也许比其他 HOWTO 更需要您提出意见和作出评论。我不仅对此表示欢迎,事实上,这还是必需的。如果您发现遗漏或错误,请务必通知我。如果您使用的版本不同于 Red Hat/Mandrake,并且设置文档放置在不同的目录内,请通知我,我会列入您的使用心得。我希望大家使用 Linux 能越方便越好。 

Linux 的版本很多,因此不可能罗列所有各种说明。请将您的要求和建议尽量符合最“合理”的程式 - 我留待您自己决定何者为合理的程度。 


6.3 免责声明Disclaimer 

“系统设置 HOWTO ”是我 Guido Gonzato [email protected]编写的,在此我要感谢所有其他 HOWTO 的作者和 man 说明的作者和(或)管理人员,因为我时常剽窃他们的心得,实感汗颜。我并要感谢所有对我的文章提出批评和建议的同好。 

这份文件就以以上的内容提供给大家。我已尽力使内容正确,请各位斟酌使用,但我对大家使用这份文件可能造成的後果不负任何责任。 

我衷心希望这篇文章对您有用,因为我在安装新 Linux 系统时,也都时时借助.... 

希望您用得得心应手。 

Guido =8-) 


--------------------------------------------------------------------------------