`

Linux爱好者入门经典教程2

阅读更多

第四章 X的配置 

虽然文章写得不好,但是我还是希望我的文章为公社的朋友提供帮助,和以前一样的,这个系列教程的文章我只在公社发表,希望大家捧场。 

我的文章耽误了很久了,很抱歉。前段时间因为我一直忙着找工作,又生病一场,所以文章的事情一推再推,现在终于可以奉献给大家了。 

这一章我主要介绍X系统用的主要配置文件XF86Config-4,我采用了对照的方法介绍,一边贴出我的XF86Config-4文件,一边介绍具体的内容。这篇文章对于大家没有什么立杆见影的帮助,不果可以让你对于X的只是有一个基本的了解。 

XF86Config-4文件是X系统的主要配置文件。在Redhat 8以前版本中都叫做XF86Config-4这个名字,Redhat 8已经不再叫做这个名字。 

编辑这个文件需要小心谨慎一点,因为一点错误,你的X将不能启动。不果没关系啦,改回来就是了学习Linux最好的办法当然还是求助于男人(man),大家有什么问题尽管看看man的帮助就是了。如果你要删除文件中的内容,最好不要直接的删除,而应该在前面加上#符号把它变成注释。 

在Redhat 8以前的版本中,X的配置工具是Xconfigurator,在Debian中X的配种方法是: 
dpkg-reconfigure xserver-xfree86 
当然你都得用root的身份来运行。 

在/usr/share/doc/xfree86-common/FAQ.gz文件中你可以看到具体的技巧。 


第一段是Files段,这个部分用来配置X系统说能够使用的字体,每一行都代表一个目录,保存了具体的字体和字体的配置信息。 
代码: 

Section "Files" 
    FontPath     "/usr/X11R6/lib/X11/fonts/xp" 
  FontPath     "/usr/X11R6/lib/X11/fonts/XChinese" 
  FontPath   "unix/:7100"       # 这是本地字体服务器 
  # 如果本地字体服务器出了问题,我们可以使用下面的配置 
  FontPath   "/usr/lib/X11/fonts/misc" 
  FontPath   "/usr/lib/X11/fonts/cyrillic" 
  FontPath   "/usr/lib/X11/fonts/100dpi/:unscaled" 
  FontPath   "/usr/lib/X11/fonts/75dpi/:unscaled" 
  FontPath   "/usr/lib/X11/fonts/Type1" 
  FontPath   "/usr/lib/X11/fonts/Speedo" 
  FontPath   "/usr/lib/X11/fonts/100dpi"   #这两个字体是每一个X 
  FontPath   "/usr/lib/X11/fonts/75dpi"   #系统都必需安装的英文字体 
EndSection 


下面的是模块段,用来配置X系统加载的模块。 
代码: 

Section "Module" 
  Load   "xtt"     #gtk1使用的字体引擎,效果好,速度稍慢 
  Load   "GLcore"   #如果你是用的是Nvidia的显卡,似乎一定要注消掉这一行 
  Load   "bitmap" 
  Load   "dbe" 
  Load   "ddc" 
  Load   "dri" 
  Load   "extmod" 
#   Load   "freetype"   #如果你使用了xtt模块,那么freetype模块就需要注消掉 
  Load   "glx" 
  Load   "int10" 
  Load   "record" 
  Load   "speedo" 
  Load   "type1" 
  Load   "vbe" 
EndSection 


下面的段是用来配置你的键盘的,属于“输入设备” 
代码: 

Section "InputDevice" 
  Identifier   "Generic Keyboard"   #这是你的键盘的名字,随便你啦 
  Driver     "keyboard"     #键盘的驱动…哇,键盘也有驱动 
  Option     "CoreKeyboard"     #如果你有多个键盘,那么你需要在这里指定哪一个键盘是主要的键盘 
  Option     "XkbRules"   "xfree86" 
  Option     "XkbModel"   "pc104"   #键盘的分布格式,一般来说 
  Option     "XkbLayout"   "us"   #美国104键盘是大家通用的。 
EndSection 


这里配置你的鼠标,当然你可以配置两个鼠标,如果你有的话 
代码: 

Section "InputDevice" 
  Identifier   "Configured Mouse"   #鼠标的名字 
  Driver     "mouse"       #鼠标的驱动 
  Option     "CorePointer"     
  Option     "Device"     "/dev/input/mice" 
  #注意,这里很重要,这是鼠标的设备文件 
  #我的鼠标是光电鼠标,用的USB接口,对应的鼠标文件是/dev/input/mice 
  #如果你的鼠标是普通的滚轮鼠标,用的是PS2接口,那么你应该使用 
  #/dev/mouse或者/dev/psaux或者/dev/ttys0这个设备 
  Option     "rotocol"     "ImPS/2" 
  #这是鼠标的类型,如果不是是滚轮鼠标,那么使用PS/2 
  Option     "Emulate3Buttons"   "true" 
  #在Linux系统中,鼠标的第三个键非常有用, 
  #如果你的鼠标没有第三个键,那么我们应该允许使用双键同时点击来模拟 
  Option     "ZAxisMapping"     "4 5" 
EndSection 


下面的设备是显卡,这是最头痛的设备了,如果你的显卡太新潮,很有可能不能支持哦。Nvidia的GForce2显卡就必需自己编译显卡的驱动程序才能使用 
代码: 

Section "Device" 
  Identifier   "Generic Video Card" 
  Driver     "ati"     #如果你是Nivida的显卡,这里应该是"nvidia" 
EndSection 



这个设备是显示器。 
代码: 

Section "Monitor" 
  Identifier   "Generic Monitor"   #显示器的名字 
  HorizSync   30-60       #显示器的频率,一半来说你的显示器 
  VertRefresh   50-75       #应该可以达到我的这个水平 
            #因为我的显示器是15"的老显示器了 
            #大家的电脑都比我的好吧? 
  Option     "DPMS" 
EndSection 


下面是综合以上你的配置的设备的各种显示效果 
代码: 

Section "Screen" 
  Identifier   "Default Screen"   #效果的名字 
  Device     "Generic Video Card"   #你可以指定你的显卡的名字 
  Monitor     "Generic Monitor"   #指定你的显示器的名字 
  DefaultDepth   24       #默认的颜色深度 
  SubSection "Display" 
    Depth     1 
    Modes     "1024x768" 
  EndSubSection 
  SubSection "Display" 
    Depth     4 
    Modes     "1024x768" 
  EndSubSection 
  SubSection "Display" 
    Depth     8 
    Modes     "1024x768" 
  EndSubSection 
  SubSection "Display" 
    Depth     16 
    Modes     "1024x768"   #在这里你可以指定扫描频率例如 
            #"1024x768 @ 85"就是用85mhz的频率 
  EndSubSection 
  SubSection "Display" 
    Depth     24 
    Modes     "1024x768" 
  EndSubSection 
EndSection 



最终你必需定义下面的段用来告诉X服务器你使用的配置 
代码: 

Section "ServerLayout" 
  Identifier   "Default Layout"   #刚才我们给我们的配置取的名字 
  Screen     "Default Screen"   #给我们的效果取的名字 
  InputDevice   "Generic Keyboard"   #我们的键盘的名字 
  InputDevice   "Configured Mouse"   #我们的鼠标的名字 
          #这些名字一定要在前面的配置中已经定义 
EndSection 

Section "DRI" 
  Mode   0666 
EndSection 



一般来说我们X启动时候会遇到的问题是: 
1:no screen found 
这有可能是你没有正确的定义所需要的效果,也有可能是你的其他部分定义出错倒置你的效果不能实现 
2:xtt和freetype的冲突,注消一个就可以了 
3:驱动没有找到,如果你的显卡非常的新潮,那么多半是这个错误了,编译你的驱动吧…
_________________


第五章 Linux命令和技巧 

1. mount umount 命令 

在Linux里面想要使用你的软盘和光盘可不是像在Windows里面那么的危险。 
想想看如果你在Windows里面安装一个光盘里面的软件或者玩游戏的时候,你的女朋友,甭管是第几个女朋友,因为对你每天打游戏而不做晚饭,乃至于别人做了晚饭你居然没时间吃,而气急败坏的按了一下光盘的Eject按钮……哈哈,害怕了?放心,在Linux里面这种事情绝对不用你操心。 

要使用光盘,首先把光盘安放好以后,执行以下命令: 

mount -t iso9660 /dev/cdrom /mnt/cdom 把光驱挂装到/mnt/cdrom目录 

-t参数是指定光盘的文件系统类型,一般来说,光盘都是用的iso9660标准的格式。接下来的/dev/cdrom是你的光驱对应的设备文件,我们前面说过每一个硬件设备都对应了一个标准的设备文件。最后一个/mnt/cdrom目录是你的一个本地硬盘上的目录,在使用以前如果发现没有这个目录,可以建立一个。当然也不一定非要使用这个目录,你甚至可以很变态的使用mount /dev/cdrom /root命令把你的光驱挂装到你的的/root目录,这样一来你的/root的内容将不再是原来的内容,直到你取消挂载。 

下面的命令取消挂载: 

umount /mnt/cdrom 或 umount /dev/cdrom 

这两个命令都可以把刚才挂装上去的光盘取消挂载,只有这样你的光盘才能取出。不行的话,你再执行一次挂装命令,然后按一下光驱上的Eject按钮,看看有没有什么反应啊?没有,对不对?这就是Linux的一个优点,虽然操作起来有点麻烦的感觉,但是想想看,非常安全和稍微的复杂,你选哪一个? 

使用软盘的方法也很类似: 

mount /dev/fd0 /mnt/floppy 

/dev/fd0是你的软盘对应的设备文件,后面的自然是你的挂装目录。但是如果这个时候你想要尝试能不能在没有取消软盘的挂装就推出软盘,你就是一个非常BT的人了。有没有搞错?软盘的退出是机械的操作,你硬要按出来,我有什么办法?那么取消软盘挂载的方法也是很类似的: 

umount /dev/fd0 或 umount /mnt/floppy 

其实挂装时候第一个参数-t,可以省略,因为系统会自动的判断应该用什么样的格式来识别。不过知道了我们用的软盘或者光盘的格式,对于挂装一个ISO文件有帮助。 

mount -t iso9660 -o loop /home/kris/somewhat.iso /mnt/cdrom 

我们都知道现在网上有很多的ISO文件,就是把光盘的所有内容打包成为一个文件,方便网上的传送。我们获得这样的文件以后不一定非要用刻录机把它刻录成为光盘,我们只要用上面的命令就可以把光盘的ISO文件挂载到/mnt/cdrom目录了。第一个参数-t iso9660就是光盘使用的文件系统格式,第二个参数是loopback的意思。 

取消挂装:umount /mnt/cdrom 

2. 管道命令 

管道命令是Linux系统的一个很重要的内容,这里我们只介绍一些简单的。 

首先我们已经学过一个命令cat,用来显示一个文件的内容,但是你有没有遇到一个文件很长,一页显示不完的情况?如果你需要把一个很长的文件分页显示,每当你按一个键才显示下一页的话,你可以用more命令: 

more LoveLetter 
这样,LoveLetter的内容显示在屏幕上,没到一页就自动停下来,等待你的按键,然后才继续显示下面一页。 

可是如果我们用ls命令显示一个目录的所有文件的时候遇到一页不能显示完的情况该怎么办?这就需要一个管道符号“|”,就是“\”按钮上面的字符: 

ls /dev | more 

下面,我们遇到一个新的问题,我们不仅仅想要看看/dev目录下面有哪些文件,我们还希望用一个文件来纪录刚才ls的命令显示的所有结果,难道需要用手工输入?不需要,我们介绍两个管道符号:“>;”“>;>;”,也就是大于符号啦。 

ls /dev >; filenames.txt 

还有一个管道符号是由两个大于号组成的“>;>;”,它和刚才“>;”的区别在于一个大于符号的管道是用来创建一个新的文件filenames.txt,如果已经有了同名的文件就复盖掉以前的内容;而两个大于符号的管道是用来在已经存在的文件后面追加新的内容,如果没有这个文件就创建它。 

现在我们vi filenames.txt看看一共有多少行,是不是1000多行啊?我们运行 

ls /dev >;>; filenames.txt 

再来vi filenames.txt看看,是不是一共2000多行啦? 

其实这两个管道符号很容易记忆,向左边的箭头意思就是把前面命令的内容输入到后面的文件中去,刚才那个“|”管道符号是用来把前面命令的输出结果当作后面一个命令的输入数据。下面我们看一个和刚才“>;>;”刚刚相反的管道符号“<<”: 

cat >;>; friends << "EOF" 
>; a 
>; b 
>; c 
>; EOF 
运行第一行以后,意思就是把我们接下来的输入内容保存到friends文件里面,当我们输入“EOF”的时候结束。“<<”的意思就是向前面的命令传送一个数据。 
中间我象征性的输入了a b c三行,每一行前面的“>;”是系统自动产生的提示符号。第四行输入“EOF”系统就保存刚才输入的a b c三行到一个叫做friends的文件里面去。 
现在我们cat friends看看是不是刚才的输入成功的保存了。怎么样,同样的命令,使用不同的管道符号,即可以显示文件内容,也可以用来创建文件,这就是管道符号的强大 

3. Linux使用技巧(没有整理完成,有待大家的帮助) 

Linux中有太多的使用技巧,这里慢慢的总结: 
4. 基本命令总结 

1) ls 

ls --color=never *.txt >; report 不显示文字颜色,将所有txt文件记录到report文件中 

2) cd 
cd ../ 到上一级目录 
cd ../.. 到上二级目录 
cd ~ 进入用户的个人目录,root用户就是/root目录,kris用户就是/home/kris目录 

3) rm 
rm -fr 目录名 直接删除一个目录和里面的所有目录,没有任何提示 

4) cp 
cp 源目录 目标位置 -R 复制原目录里面所有的文件和子目录的内容 

5) echo 
echo message “我爱你” 在字符界面下面显示一些内容,这里是“我爱你” 

6) export 
export LC_ALL= 定义一个变量LC_ALL并且设置为空NULL 
export LANG=zh_CN.gb2312 定义一个变量LANG的值是zh_CN.gb2312 
export http_proxy="
http://xxx.xxx.xxx.xxx:port
定义http代理服务器 

7) find 
find -iname [目录] 文件名 在指定目录里面(如果不指定目录就是当前目录)查找指定文件名的文件 

grep 
ps -A | grep some_command 

用ps命令加上-A参数显示所有的当前运行的进程,用管道符号“|”加上grep命令检索是否有我们指定的some_command运行 

9) lynx 
lynx 
www.google.com 

字符界面的网络浏览器,我们这里用来浏览
www.google.com,因为没有图片,所以非常快

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics