다음 이전 차례

3. 소프트웨어 설정

3.1 bash(1)

bash를 길들이려면 다음과 같은 파일들을 편집해야 한다.

   - /etc/bashrc에는 시스템 규모의 alias들과 함수들이 들어있다.
   - /etc/profile에는 시스템 규모의 환경 설정과 시작 프로그램들이  
     들어있다.
   - $HOME/.bashrc에는 사용자가 정의한 alias들과 함수들이 있다.
   - $HOME/.bash_profile에는 사용자가 결정한 환경 설정과 시작  
     프로그램들이 들어있다.
   - $HOME/.bash_logout에는 로그 아웃할 때 수행될 행동이 들어있다.
   - $HOME/.inputrc에는 키 결정(binding)과 기타 내용들이 있다.
예제 파일들을 아래에 적어 두었다. 첫 번째는 가장 중요한 /etc/profile 이다. 이 파일은 이어지는 여러 절에서 보게 되듯이 리눅스 시스템의 많은 특성을 결정하기 위해 쓰인다.

 
# /etc/profile
# 시스템 규모의 환경 및 시작 프로그램.
# 함수와 alias는 /etc/bashrc에 적도록 한다.
# 이 파일은 다음과 같은 특성을 정한다.
#
#   o 패스
#   o 프롬프트
#   o 몇 가지 환경 변수들
#   o 컬러 ls
#   o less의 특성
#   o 키보드 설정
#
#  사용자들은 각자의 $HOME/.bash_profile을 편집해서 이 파일의
#  설정을 무시하게 할 수도 있고, 다른 특성을 추가할 수도 있다.
#  추가 패스 설정(set a decent path)
   echo $PATH | grep X11R6 > /dev/null
   if [ $? = 1 ] ; then   # add entries to the path
     PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
   fi
# 사용자에게 로그인 쉘인지 아닌지 알려준다.  로그인 쉘이면 푸른 색,
# 아니면 자홍색 프롬프트를 쓰고, 루트는 붉은 프롬프트를 쓴다.
USER=`whoami`
if [ $LOGNAME = $USER ] ; then
   COLOUR=44
else
   COLOUR=45
fi
if [ $USER = 'root' ] ; then
   COLOUR=41
fi
# ^[ 대신 진짜 esc 키를 쓴다.
PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1m\w\$ '
PS2="Continue> "
# core dump를 만들지 않는다.
ulimit -c 0
# umask 설정
if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
   umask 002
else
   umask 022
fi
# 몇 가지 변수들
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME 
HISTSIZE HISTFILESIZE
# 컬러 ls를 사용
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -s -T 0 --color=tty'
# less를 취향에 맞게 바꾼다.
LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
VISUAL=jed
LESSCHARSET=latin1
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
# 키보드도 취향에 맞춘다.
/sbin/kbdrate -s -r 16 -d 500
for i in /etc/profile.d/*.sh ; do
   if [ -x $i ]; then
     . $i
   fi
done


다음은 /etc/bashrc 파일의 예다.

   # /etc/bashrc
   # 시스템 규모의 함수들과 alias들
   # 환경 설정에 관계된 내용은 /etc/profile에 두어야 한다.
   alias which="type -path"
   alias d="ls"
   alias dir="d"

다음은 .bashrc 파일이다.

   # $HOME/.bashrc
   # 시스템 규모로 정의된 것들을 적용한다.
   if [ -f /etc/bashrc ]; then
     . /etc/bashrc
   fi
   # 아래는 사용자에게 비-로그인 쉘에 있다고 알려주기 위해 필요하다.
   COLOUR=45
   # ^[ 대신 진짜 Esc 문자를 쓰도록 한다.
   PS1='^[[$COLOUR;37m$USER:^[[37;40m\w\$ '
   # alias들
   alias cp='cp -i'
   alias l=less
   alias lyx='lyx -width 900 -height 700'
   alias mv='mv -i'
   alias rm='rm -i'
   alias x=startx
   # 몇 가지 유용한 함수들
   inst() # 현재 디렉터리에 .tar.gz 압축 파일을 설치한다.
   { gzip -dc $1 | tar xvf - }
   cz() # .zip 압축 파일의 내용 목록을 출력한다.
   { unzip -l $* }
   ctgz() # .tar.gz 압축 파일의 내용 목록을 출력한다.
   {
     for file in $* ; do
     gzip -dc ${file} | tar tf -
     done
   }
   tgz() # gzip과 tar로 압축 파일을 만든다.
   {
     name=$1 ; tar -cvf $1 ; shift
     tar -rf ${name} $*
     gzip -S .tgz ${name}
   }


다음은 .bash_profile 파일이다.

   # $HOME/.bash_profile
   # 사용자가 정한 환경과 시작 프로그램들
   # 이 파일에는 /etc/profile의 정의에 우선하는 사용자 정의 설정이 있다.
   # alias와 함수들을 적용한다.
   if [ -f ~/.bashrc ]; then
     . ~/.bashrc
   fi
   # PS1 설정을 다시 적용한다.
   if [ $USER = 'root' ] ; then
     COLOUR=41
   else
     COLOUR=44
   fi
   # ^[ 대신 진짜 Esc를 쓴다.
   PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1m\w\$ '
   export PS1


다음은 .bash_logout 파일이다.

   # $HOME/.bash_logout
   clear

다음은 .inputrc 파일이다.

   # $HOME/.inputrc
   # 키 설정
   "\e[1~": beginning-of-line
   "\e[3~": delete-char
   "\e[4~": end-of-line
   # (F1 .. F5) are "\e[[A" ... "\e[[E"
   "\e[[A": "info \C-m"
   set bell-style visible          # beep 음을 내지 않는다.
   set meta-flag On             # 8 비트 입력을 허용 (i.e, accented
   set convert-meta Off         # 8 비트 문자를 변환하지 않는다.
   set output-meta On          # 8 비트 문자를 제대로 표시한다.
   set horizontal-scroll-mode On
   set show-all-if-ambiguous On

xterm을 비롯한 X11 응용 프로그램에서 백스페이스와 delete 키가 제대로 
작동하도록 하기 위해서는 아래의 작업이 필요하다.
   - 아래의 내용을 자신의 .xinitrc에 넣는다.
        usermodmap=$HOME/.Xmodmap
        xmodmap $usermodmap
   - 아래의 내용을 자신의 .Xmodmap에 포함시킨다.
        keycode 22 = BackSpace
        keycode 107 = Delete
이렇게 해서 콘솔을 제대로 맞춘 다음에는, xterm을 수정한다.
   - 아래의 내용을 .Xdefaults에 넣는다.
        xterm*VT100.Translations: #override 
                <Key>BackSpace:       string(0x7F)\n\
                <Key>Delete:           string(0x1b) string("[3~")\n\
                <Key>Home:           string(0x1b) string("[1~")\n\
                <Key>End:             string(0x1b) string("[4~")\n\
                Ctrl<Key>Prior:         string(0x1b) string("[40~")\n\
                Ctrl<Key>Next:         string(0x1b) string("[41~")
        nxterm*VT100.Translations: #override 
                <Key>BackSpace:       string(0x7F)\n\
                <Key>Delete:           string(0x1b) string("[3~")\n\
                <Key>Home:           string(0x1b) string("[1~")\n\
                <Key>End:             string(0x1b) string("[4~")\n\
                Ctrl<Key>Prior:         string(0x1b) string("[40~")\n\
                Ctrl<Key>Next:         string(0x1b) string("[41~")

정보가 더 필요하면 bash(1)과 readline(3)의 매뉴얼 페이지를 보기 바란다. 모든 응용 프로그램이 정확히 작동하리라고는 기대하지 말아야 한다. 예를 들어 xterm에서 joe를 실행시키면 몇 가지 키가 작용하지 않을 것이다. rxvt에서도 마찬가지다. 이런 것은 termcap의 문제라는 소문이 있다.

3.2 ls(1)

서로 다른 파일 유형을 강조하기 위해, 컬러 ls로 디렉터리 목록을 출력할 수 있다. 이렇게 하려면 아래의 행들을 /etc/profile에 추가해야 한다.

     eval `dircolors /etc/DIR_COLORS -b`
     export LS_OPTIONS='-F -T 0 --color=tty'
이 두 줄은 /etc/DIR_COLORS에 준비된 색상표를 포함하는 LS_COLORS 환경 변수를 설정하는 것이다. 주의: 이 방법은 rxvt의 특정 버전에서는 제대로 작동하지 않는데, 필자도 그 까닭은 모른다. 대신 xterm 같은 것을 쓰도록 하자. 아마 rxvt 내에 어떤 환경에서는 환경을 정확히 물려받지 못하도록 하는 버그가 있는 듯 하다.

3.3 less(1)

이 탁월한 페이져(pager)는 일반 텍스트 파일 뿐 아니라 gzip으로 압축된 파일이나, tar와 zip으로 묶여진 파일, 매뉴얼 페이지 등도 볼 수 있다. less의 설정은 몇 단계로 이루어진다.

   - less에서 이동 키를 쓰려면, 아래와 같은 .lesskey라는 아스키 파일이 
     자신의 홈 디렉터리에 있어야 한다.
        ^[[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~    forw-scroll
        ^[[5~    back-scroll
        ^[[1~    goto-line
        ^[[4~    goto-end
        ^[[7~    goto-line
        ^[[8~    goto-end
     다음에는 lesskey라는 명령을 실행한다.  이 명령은 키 설정을 담은 
     .less 라는 이진 파일을 만들어 낸다.
   - 아래 파일을 /usr/bin/lesspipe.sh로 쓴다.

#!/bin/sh        
# 이 파일은 'less'의 전처리기이다.  
# 이 파일은 LESSOPEN="|lesspipe.sh %s" 라는 환경 변수가 설정되었을 
# 때 사용된다.
lesspipe() {
case "$1" in
   *.tar) tar tf $1 2>/dev/null ;; # .tar와 .tgz 파일의 내용을 본다.
   *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
   *.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; # 압축 파일을 제대로 본다.
   *.zip) unzip -l $1 2>/dev/null ;; # 압축 파일을 본다.
   *.arj) unarj -l $1 2>/dev/null ;;
   *.rpm) rpm -q -p -i -l $1 2>/dev/null ;;
   *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.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=`file -L $1` ; # 이진 파일의 경우 보기 위해 점검한다.
   FILE1=`echo $FILE | cut -d ' ' -f 2`
   FILE2=`echo $FILE | cut -d ' ' -f 3`
   if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \
     -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then
        strings $1
   fi ;;
   esac
}
lesspipe $1

다음에는 chmod 755 lesspipe.sh해서 실행 가능하게 만든다.

   - 다음 몇 줄을 /etc/profile에 추가한다.
        LESS="-M-Q"                  # long prompt, silent
        LESSEDIT="%E ?lt+%lt. %f"    # edit top line
        LESSOPEN="| lesspipe.sh %s"   # filter
        VISUAL=jed                    # 기본 에디터-원하는 것으로.
        LESSCHARSET=latin1           # 필요하면 강조 문자를 쓴다.
필자가 이탈리아에 살고 있고 ISO 8859/1 문자 집합을 쓰고 싶기 때문에 LESSCHARSET 변수를 라틴으로 했다. 다른 나라 사람들은 이렇게 설정하지 않는 것이 좋다.

3.4 emacs(1)

몇 가지 이맥스 배포본들은 색깔과 구문 강조(syntax highlighting)를 위한 설정이 되지 않은 상태로 설치된다. 이 경우 아래의 내용을 자기 홈 디렉터리의 .emacs 파일에 써야 한다.

   (global-font-lock-mode t)
   (setq font-lock-maximum-decoration t)
이 설정은 X11에서만 작동한다. 이맥스를 각자의 필요에 맞게 길들이는 방법을 찾기 위해서는 스스로 이맥스 관련 문서들을 찾아보기 바란다. 이맥스를 제대로 설정하려면 여러 달 걸릴 수도 있다.

3.5 joe(1)

/usr/bin 밑에 jmacs나 jstar, jpico 등이 joe로 심볼릭 링크되어 있는지 아니면 따로 이진 파일로 되어 있는지 확인해 보아야 한다. 별도의 이진 파일로 되어 있다면, 이 파일들 대신 심볼릭 링크를 써서 디스크 공간을 아낄 수 있다.

   ~# cd /usr/bin
   /usr/bin# ln -sf joe jmacs ; ln -sf joe jstar ; ln -sf joe jpico
다음에는 /usr/lib/joe/joerc를 자기 홈 디렉터리에 .joerc라고 복사하고, 적절히 편집하면 된다.

3.6 jed

필자는 이 에디터를 좋아한다. 필자가 바라는 기능이 있고, 이맥스에 비해 작고 설정도 쉽다. 또 다른 에디터들을 상당히 쉽게 흉내낼 수 있다. 필자가 다니는 대학의 많은 사용자들은 VMS의 시스템 에디터인 EDT 비슷하게 jed를 쓰고 싶어한다.

.jedrc와 /usr/lib/jed/lib/* 가 설정 파일이다.  .jedrc는 /usr/lib/jed/lib의 
jed.rc를 복사/편집해서 쓰면 된다.
   - jed가 몇 가지 키를 제대로 쓰도록 하려면 /usr/lib/jed/lib/defaults.sl 
     파일을 만들어서
        () = evalfile("linux");
     라는 한 줄 만 넣어주면 된다.
   - /usr/lib/jed/lib/linux.sl을 편집한다.  Info_Directory = "/usr/info" 
     라는 행의 주석문 표시를 지우고, /bin/mail을 UCB_Mailer = 뒤에 
     추가한다.
   - jed가 EDT(혹은 다른 에디터)를 흉내내도록 설정하는 것은 쉽다.  
     .jedrc 내의 두 줄만 편집하면 된다.  숫자 키 패드의 '+'로 글자 
     하나 대신 여러 낱말을 지우도록 하려면, 아래 내용을 .jedrc의 "() = 
     evalfile("edt")"라는 행 아래에 추가한다.
        unsetkey("\eOl");
        unsetkey("\eOP\eOl");
        setkey("edt_wdel", "\eOl");
        setkey("edt_uwdel", "\eOP\eOl");
   - xjed가 숫자 키 패드를 써서 EDT를 흉내내도록 하려면 아래의 
     내용을 .Xmodmap에 삽입한다.
        keycode 77  = KP_F1
        keycode 112 = KP_F2
        keycode 63  = KP_F3
        keycode 82  = KP_F4
        keycode 86  = KP_Separator
     다음에는  /etc/X11/XF86Config에 아래 두 줄이 포함되어 있는지 
     확인하도록 한다.
        #    ServerNumLock  # must be commented out
        XkbDisable
     이 설정은 XFree 3.2에 적용된다.  하지만 표준 미국식 키보드를 
     쓰지 않는다면, "XkbDisable"로 설정했을 경우 몇 가지 작은 문제가 
     생긴다.  이 문제는 각자 해결해야 한다.
   - xjed의 색상을 취향에 맞게 하려면 아래와 같은 행을 .Xdefaults에 
     추가하면 된다.
        xjed*Geometry: 80x32+150+50
        xjed*font: 10x20
        xjed*background: midnight blue

이 밖의 정보들은 패키지에 포함된 xjed.doc에 있다.

3.7 TeX 및 관련 프로그램들

TeTeX 배포본을 가지고 있다고 가정하도록 하자. 여기서는 몇 가지만 얘기한다.

   - 자기가 쓰는 언어에 따른 하이픈 규칙을 설정하려면,   
     /usr/lib/texmf/texmf/tex/generic/config/language.dat 파일을  
     편집하고, 다음 명령을 실행시킨다.
        ~# texconfig init ; texconfig hyphen
   - LaTeX 패키지를 추가하려면 /usr/lib/texmf/texmf/tex/latex/ 아래에 
     파일을 추가한 다음에 texhash 명령을 수행해서 TeTeX이 새로운 
     패키지를 인식할 수 있도록 해야 한다.
   - dvips 설정을 바꾸려면 /usr/lib/texmf/texmf/dvips/config/config.ps. 
     파일을 편집해야 한다.  기본 해상도에 대한 항목은 xdvi에도 영향을 
     준다는 점을 염두에 두기 바란다.  xdvi를 실행시킬 때마다 폰트를 
     만드는 것이 귀찮다면, .Xdefault 안에 아래 한 줄을 넣으면 된다.
        XDvi*mfmode:

3.8 PPP

커널이 PPP + TCP/IP를 지원하도록 컴파일 되어 있고, 루프백(loopback)이 가능하며, pppd 패키지를 제대로 설치했다고 하자. (이 요구사항들은 기본적으로 되어 있어야 한다) PPP가 작동하도록 하는 방법은 가)수동으로 설정하거나 나)자동 설정 프로그램을 쓰는 두 가지가 있다. 먼저 수동 옵션을 보자.

자신의 ISP(인터넷 서비스 제공자)가 아래와 같다고 하자.

   - 전화 번호: 1234567
   - 네임 서버: 123.231.112.111
   - 메일 서버: mbox.supernet.edu
   - 도메인: supernet.edu
   - 원격 호스트 이름:<url url="http://www.supernet.edu" name="www.supernet.edu">
   - 사용자 이름: John
   - 패스워드: _Loo%ny
     을 수동으로 설정하기 위해서는 아래와 같은 것을 해야 한다.
   - 아래 내용을 ISP에 연결하기 위해 사용될 /usr/local/bin/ppp-on 
     파일로 저장한다.
   #!/bin/sh
   # ppp-on: #ISP에 연결하는 스크립트
   INIT=ATX3  # 자기 모뎀에 맞게 쓴다.
   PHONE=1234567
   /usr/sbin/pppd connect "/usr/sbin/chat '' $INIT OK ATDP$PHONE 
   CONNECT '' " user John
     다음에는 chmod 755 /usr/local/bin/ppp-on 해서 실행 가능하게 한다.  
혹시 자신의 ISP가 PAP 프로토콜을 쓰지 않는다면, 아래의 스크립트를 써야 한다.
  #!/bin/sh
  # ppp-on: #ISP에 연결하는 스크립트
  INIT=atx3  # 자기 모뎀에 맞게 쓴다.
  PHONE=1234567
  /usr/sbin/pppd connect "/usr/sbin/chat '' $INIT OK ATDT$PHONE \
  CONNECT '' 'ogin' John 'word' _Loo%ny ''" /dev/modem 38400 \
  modem defaultroute
   - 아래 내용을 ppp 연결을 종료하기 위해 쓰일 /usr/local/bin/ppp-off 
     파일에 쓴다.
        #!/bin/sh
        # ppp-off
        DEVICE=ppp0
        if [ -r /var/run/$DEVICE.pid ]; then
                kill -INT `cat /var/run/$DEVICE.pid`
                if [ ! "$?" = "0" ]; then
                        echo "removing stale $DEVICE pid file."
                        rm -f /var/run/$DEVICE.pid ; exit 1
                fi
                echo "$DEVICE link terminated" ; exit 0
        fi
        # link not active
        echo "$DEVICE link is not active" ; exit 1
     역시 chmod 755 /usr/local/bin/ppp-off로 실행 가능하게 한다.
   - /etc/ppp/options에 아래와 같이 쓴다.
        # /etc/ppp/options
        /dev/modem
        38400
        lock
        crtscts
        modem
        asyncmap 0
        remotename <url url="http://www.supernet.edu" name="www.supernet.edu">
        defaultroute
   - ISP가 PAP 프로토콜을 쓰면 (대부분이 쓴다), /etc/ppp/pap-secrets 
     파일에 아래와 같이 쓴다.
        # /etc/ppp/pap-secrets
        # username    remotehost           secret
          John        <url url="http://www.supernet.edu" name="www.supernet.edu">    _Loo%ny
   - /etc/resolv.conf를 편집한다.
       # /etc/resolv.conf
       search supernet.edu
       nameserver 123.231.112.111
   - /etc/sendmail.cf를 편집한다.  DS로 시작하는 줄을 찾아서 아래와 
     같이 만든다.
        DSmbox.supernet.edu
휴! 운이 좋다면, 이 정도로 PPP를 쓸 수 있다. 하지만 PPP-HOWTO를 공부할 준비를 해두기 바란다. 수동 설정은 할 일이 너무 많다. 하지만, 이 온갖 너절한 일들을 옛 일로 만들 수 있는 멋진 패키지가 있다. 아래 주소에서 ezppp 패키지를 당장 다운받도록 하자. www.serv.net/~cameron/ezppp/index.html

3.9 POP 클라이언트

POP 서버에서 메일을 받아오려면 fetchpop나 fetchmail 같은 POP 클라이언트를 써야 한다. 자신의 PPP 서버가 LAST 명령에 문제를 보인다면 fetchmail을 써야할 것이다. 이 클라이언트들을 설정하는 방법은 아래와 같다.

   -  fetchpop: 처음 실행시킬 때 몇 가지 안내를 볼 수 있다.  질문에 
     대답하면 설정이 끝난다.
   - fetchmail: 아래의 .fetchmailrc 예제를 쓰면 된다.
        # $HOME/.fetchmailrc
        poll mbox.supernet.edu with protocol pop3;
        user john there with password _Loo%ny is john here
        mda "/usr/bin/procmail -f fetchmail"
마지막 줄은 필요 없을 수도 있다. chmod 600 .fetchmailrc로 허가권을 주어야 하며, 허가권이 다르게 되어 있으면 fetchmail이 실행되지 않는다.

3.10 X 윈도우 시스템

비디오 카드 설정 등을 통해서 X 윈도우가 제대로 작동하게 만들고 나면, 수많은 설정이 가능하게 된다. 어떤 설정을 쓰는지는 각자 사용하는 윈도우 매니저에 따라 다르다. 어느 경우에나 자신의 홈 디렉터리에 있는 하나나 그 이상의 아스키 파일을 편집함으로써, 설정을 마치게 된다. 몇 가지 윈도우 매니저의 경우에는 아래와 같다.

   - fvwm: /etc/X11/fvwm/system.fvwmrc를 홈 디렉터리에 .fvwmrc라고 
     복사하고, 그 내용을 살펴보면서 자기에게 맞춰 가도록 한다.  미리 
     들어있는 system.fvwmrc는 약간 지나치게 단순해서 fvwm의 기능을 
     충분히 활용하지 못한다.
   - fvwm95-2: /etc/X11/fvwm95-2/fvwm2rc95를 자신의 홈 디렉터리에 
     .fvwm2rc95라고 복사한 뒤 편집한다.  이 설정은 상당히 훌륭하다.
   - TheNextLevel: 이 매니저는 설정하기가 비교적 까다롭다.   
     /etc/X11/TheNextLevel/.*를 홈 디렉터리에 복사하고, 조심해서 
     살펴본 뒤에 자기에게 맞도록 바꾸도록 한다.  가장 먼저 살펴볼 
     파일은 .fvwm2rc.defines이다.

아울러 올바른 .xinitrc를 가지고 있어야 한다.  아래 예를 보자.
   #!/bin/sh
   # $HOME/.xinitrc
   # 몇 가지 키를 적절하게 설정한다.
   usermodmap=$HOME/.Xmodmap
   xmodmap $usermodmap
   xset s noblank  # 스크린 세이버를 끈다.
   xset s 300 2    # 5분 후에 스크린 세이버를 작동한다.
   xsetroot -solid "medium blue" &
   # rxvt는 메모리를 적게 쓰지만, 버그가 몇 가지 있다.
   #  - home, end 키가 인식되지 않는다.
   #  - backspace와 delete가 콘솔에서 처럼 작동하지 않는다.
   # - 환경이 색상을 제대로 상속받지 못한다.
   # - 일반적으로 환경에 문제가 있다.
   # 따라서 많은 경우에 xterm이 더 낫다.  하지만 mc 같은 몇 가지 
   # 컬러 응용 프로그램을 수행시키기에는 rxvt가 최고다.
   xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 \
     -fb 10x20bold -title "Color xterm" -geometry 80x25+150+0 &
   fvwm95-2

3.11 포트란

필자의 경험에 따르면, 포트란이 필요하다면 g77 대신 포트란-C 번역 프로그램인 f2c와 프런트-엔드인 yaf77을 쓰는 것이 좋다.

yaf77은 ftp.unc.edu/pub/Linux/devel/languages/fortran/yaf77-1.4.tgz

와 그 미러 사이트에서 구할 수 있다.

3.12 개별 사용자를 위한 설정

새로운 사용자가 처음 로그인 했을 때를 위해 몇 가지 설정 파일들을 준비해 두는 것이 좋다. bashrc, bash_profile, bash_logout, inputrc, less, xinitrc, fvwmrc, fvwm2rc95, Xmodmap, Xdefaults, jedrc, joerc, emacs 파일들을 /ect/skel에 두도록 하자.

(주의: 포맷 문제 때문에 필자는 각 파일 이름 앞의 점('.')을 떼어냈다.) .pinerc는 완전히 편집할 수는 없다는 것에 주의해야 한다. 최소한 user-domain, smtp-server, nntp-server 란은 제대로 설정되었는지 확인해 두자.


다음 이전 차례