15.(23)x windows设定简介


/etc/X11/xorg.conf        ----启动X Server时,Xorg会读取这个配置文件

~/.xservicerrc        ----位于用户家目录的X service配置文件
/usr/bin/X        ----系统最原始的X Server执行档
/etc/X11/xint/xservcerrc        ----X service配置文件与启动脚本


1. 什么是x window system
    注意:美编、排版、制图、多媒体等应用必须依赖于图形接口(GUI,Graphical Interface Interface)
    1.1x window的发展史【1-0 有价值的信息】
            1984----x在unix的system v这个操作系统版本上开发出来(应用程序而非操作系统)
            1987----更改x版本到x11,取得明显进步
            1992----XFree86计划顺利展开,持续维护X11R6的功能性(早期linux所使用的x window核心都由XFree86提供)
            1994----发布新版X11R6
            1995----X11R6.3
            2004----Xorg基金会接手X11R6的维护后,于这一年发布区X11R6.8
            2005----X11R7.x
    1.2主要组件:x server/x clent/window manager/display manager
        注意:基本架构【1-1】
            1.X Server:硬件管理、屏幕绘制与提供字型功能
            2.X Client:负责X Server要求的事件的处理
            3.X Window Manager:特殊的X Client,负责管理所有的X Client软件【1-2,3】
            4.Display Manager:提供登入需求(几乎所有像KDE等大型window manager都会提供Display Manager),加载使用者选择的window manager
    1.3x window的启动流程:startx,xinit
        注意:启动x windows systom的两种方式
            1.在文字接口输入startx
            2.run level5启动,通过display manager选择登入
        1.3.1在文字接口启动X:透过startx指令
            startx    能够直接启动也能够外接参数【1-4】【1-5 startx获得X server和X client的配置参数的顺序】
            # startx -- -depth 16        ---以颜色深度为16bit启动X(--前面可以跟x client的参数设定,后面跟x server的设定)
        1.3.2由startx呼叫执行的xinit
            注意:如果不通过startx呼叫xinit而是直接执行它,系统默认的X Server和X Client的情况是这样的【1-7】
            xinit    【1-6】
            # xinit /etc/X11/xinit/xinintrc -- /usr/bin/X        <==> # startx        ----默认情况下,参考startx参数搜寻顺序
        1.3.3启动X Server的档案:x serverrc
                /etc/X11/xorg.conf        ----启动X Server时,Xorg会读取这个配置文件
                ~/.xservicerrc        ----位于用户家目录的X service配置文件(默认不存在)
                /usr/bin/X        ----系统最原始的X Server执行档
                /etc/X11/xint/xservcerrc        ----X service配置文件与启动脚本(默认不存在)
        1.3.4启动X Client的档案:xinitrc
            注意:
                1.鉴于发行版的差异,尽量阅读一下startx这个脚本的内容
                2.自定义X Client的参数在~/.xinitrc这个档案,建议除了最后一个window manager或者x client外,都放到背景中执行
                ~/.xinitrc        ----家目录的参数配置文件
                /etc/X11/xinit/xinitrc        ----没有上面的配置文件会搜寻这个预设的X Client的预设脚本
                /etc/X11/xinit/xinitrc-common        ----上面的xinitrc 会呼叫这个档案参数
                /etc/X11/xinit/xinitrc/Xclints        ----上面的xinitrc 会呼叫这个档案参数
                /etc/sysconfig/desktop        ----DESKTOP=GNOME或DESKTOP=KDE来决定默认的窗口管理员(如果都没有会使用twm)
         1.3.5 X 启动的端口
            注意:linux可以同时开启多个X,这种情况会向下面的情形,启动X service/client时应该注明其主要提供或接受来自哪个display的端口
x 窗口号码 显示接口号码 默认终端机 网络监听端口 快捷键
第一个X hostname:0(:0) tty7 port 6000 ctrl+alt+f7
第二个X hostname:1(:1) tty8 port 6001 ctrl+alt+f8
    1.4x启动流程测试
        注意:底下的指令都是在tty1中执行的,可以通过切换tty1和tty8进行切换(Rad hat这类系统需要xfs)
        1.先启动第一个X在:1中
            # X:1 &        ---- 在tty8启动X srevice,然后系统会主动跳转到tty8,ctrl+alt+F1切换回tty1
        2.输入数个可以在X当中执行的虚拟终端机(xterm是必须要在X底下才能够执行的终端机接口)
            # xtem -display :1 &        ----指出在第2个display中建立一个虚拟终端机,【ctrl+alt+F8】切换到tty8看看
            # xtem -display :1 &        ----【ctrl+alt+F1】回到tty1再打开一个
        3.在输入不同的X client,去tty8观察观察
            # xclock -display :1 &        ----打开clock这个X client(时钟)
            # xeyes -display :1 &         ----打开eye(聚焦光标的一双眼睛)
        4.输入可以管理上面多个X Client的windows manager
            # twm -display :1 &        ----这个窗口管理员是比较简陋的,不像kde或
        5.将刚刚建立的X相关的工作全部杀掉
            # kill %6
  # kill %5
  # kill %4
  # kill %3
  # kill %2
  # kill %1
    1.5我是否需要启动x window system

2. x server配置文件解析与设定
    注意:在修改这个档案之前务必将这个档案备份,免得出错导致x server无法启动
        /usr/lib/xorg/modules/        ----相关的显示模块放置的模块
        /etc/X11/        ----X Server的配置文件预设放置的位置,比如xorg.conf
        /usr/share/X11/fonts/        ----提供的屏幕字体
        /usr/lib/xorg/modules/drivers/        ----显示适配器的芯片组
        /usr/lib/xorg/modules/extensions/        ----更多模块在这个目录
    chkfontpath    通过这个指令取得目前系统有的字型档案目录
    2.1解析xorg.conf设定
        # X -version        ----查看当前的x server是第几版
        # vim /etc/X11/xorg.conf        ----修改这个配置文件
        Section "section name"        ----常见的section name【1-8】
        ... ...        ----与这个section name有关的设定项目
        EndSection
        # cd /etc/X11
        # cp -a xorg.conf xorg.conf.20140115        ----备份X server的配置文件
        # vim xorg.conf        ----编辑配置文件
        Section "Module"        ----下面的这些模块是X server启东时,希望能够额外获得的相关支持的模块
            Load "dbe"
            Load "extmod"
            Load "record"
            Load "dri"
            Load "xtrap"
            Load "glx"
            Load "vnc"
        EndSection
        Section "InputDevice"
            Identifier "Keyboard0"        ----键盘的配置文件被定义为Keyboard0,最后会被用于ServerLayout中
            Driver "kbd"
            Option "Xkbmodell" "pc105"
            Option "XkbLayout" "us"        ----是us美式键盘对应
         EndSection
            ...
            ...        ---【1-9,...,12】
        1.启动xfs(x font server)服务,Files项目如果使用使用直接写入字型的路径就不需要启动
            # /etc/init.d/xfs start
        2.测试X Server的配置文件是否正常
            # startx        ----直接在run level 3启动X
            # X :1        ----在tty8单独启动x server看看
    2.2x font server(XFS)与加入额外中文字形:chkfontpath,fc-cacche
        /etc/X11/fs/config        ----XFS的主配置文件
        /usr/share/X11/fonts/        ----字型文件的位置
        /etc/init.d/xfs        ----启动脚本
        # vim /etc/X11/fs/config        ----编辑XFS的主配置文件(字型服务相关设定)【1-13】
        2.2.1建置新的额外的中文字型
        1.先安装中文字型软件,亦即fonts-chinese这个软件
            # yum install fonts-chinese
        2.查阅taipei字型的目录位置
            # rpm -ql fonts-chinese | grep taipei
        3.建立字型文件的目录架构
            # cd /uar/share/fonts/chinese/misc
            # mkfontdir        ----建置fonts.dir这个档案,提供字型档案目录的说明
        4.将上述的目录加入xfs的支持之中
            # chkfontpath    -a /usr/share/fonts/chinese/misc/        ---加入支持
            # chkfontpath        ----列出支持的所有路径
            # /etc/init.d/xfs restart        ----重启xfs服务
        5.在X window底下启动终端机,测试一下有没有捉到该字型
            # xlsofnts | grep taibei
        2.2.3让窗口管理员可以使用额外的字型
            注意:这里拿windows上的三个自行档案作为测试,kaiu.ttf(中楷体)、mingliu.ttc(明体)、times.ttf(times and romans),假设这三个档案在/root下
        1. 将上述三个档案放置到系统设定目录,亦即底下的目录中
            # cd /usr/share/fonts/
            # mkdir windows
            # cp /root/*.tt[fc]  /usr/share/fonts/windows
        2.使用fc-cache将上述的档案加入字型的支持中
            # fc-cache -f -v        ---- -v:列出目前的字型数据,-f:强制重新建立字型快取
        3.透过fc-list列出目前已经被使用的档案
            # fc-list:file        ----找出被快取的档案
        4.通过窗口管理员(以GNOME为例)设定
            【系统】->【偏好设定】->【字型】
    2.3配置文件重建与显示器参数微调:透过gtf调整分辨率
        2.3.1X无法启动救援(配置文件侧地损坏或丢失)
        # Xorg -configure :1        ----X主动以内建的模块进行系统硬件的探索,并肩硬件与字型的侦测结果写入/root/xorg.conf.new这个档案
        # X -config /root/xorg.conf.new :1        ---在tty8环境下显示,避免切换到不同的run level
        注:如果一切顺利,将/root/xorg.conf.new复制成为/etc/X11/xorg.conf覆盖掉错误的档案,然后重启X
2.3.2关于屏幕分辨率与更新率
    gtf    调整屏幕分辨率的指令【1-14】
    1.使用1024X768的分辨率,75Hz的更新频率来取得显示器的内容
         # gtf 1024 768 75 -x        ----重点是modelline那一行    
    2.将上述的数据输入xorg.conf内的monitor项目中
         # vim /etc/X11/xorg.conf
         Section "Monitor0"
             Identifier "Monitor0"
             VendorName "Monitor Vendor"
             ModelName "Monitor Model"
             Modeline "1024X768_75.00" 81X80 1024 1080 1192 1306 768 769 772 802 -HSync +Vsync        ----新增这一行内容
        EndSection
    3.重启X
        # init 3;init 5        ----切换到文本模式,再切换到图形模式,另外一种简单的方式是【alt+ctrl+backspace】,不过这要在run level5模式下                        

3.显示适配器驱动程序安装范例
    注意:Xorg已经针对NVidia公司的显示适配器驱动程序提供了nv模块,不过这个模块不具备额外的功能
    3.1NVidia
        1. 下载驱动程序
            网址:http://www.nvidia.com.tw
            档名(以Intel Core2架构为例):NVIDA-Linux-x86_64-185.18.14-pkg2.run
        2. 开始安装驱动程序
            # sh NVIDA-Linux-x86_64-185.18.14-pkg2.run
        3.查阅/etc/X11/xorg.conf目录
            # cat /etc/X11/xorg.conf            ----会发现Device的Driver设定会变成nvidia而不是nv,而且/usr/lib64/xorg/modules/drivers 目录下会多出一个nvidia_drv.so的驱动程序档案
            # nvidia-installer --update        ----利用nvidia_drv.so进行驱动程序的升级检查
            # ll /var/log/nvidia*        ----从这些档案中查看新的显示适配器的功能
    3.2ATI(AMd)
        1.下载驱动程序
            网址:http://www.amttaiwan.com.tw
            档名(使用的Randon HD 3200的显示适配器芯片):ati-driver-installer-9-6-x86.x86.x86_64.run
        2.开始安装驱动程序
            # sh ati-driver-installer-9-6-x86.x86_64.run
        3.看看新的驱动程序
            # ll /usr/lib64/xorg/modules/drivers/        ----新增fglrx_drv.so这个新的驱动程序
            # aticonfig -v        ----aticonfig帮忙设定xorg.conf,类似于Nvidia的 nvidia-installer
    3.3Intel
        注意:
            1.只要是整合型主板芯片组,通常都整合了Intel的显示适配器
            2.Intel的显示适配器常常会使用i810等驱动程序,而不是较新的intel驱动程序,需要做一下设置
            # locate libdram
            # locate intel | grep xorg        ----查找intel的显示适配器驱动程序
            /usr/lib64/xorg/modules/drivers/intel_drv.so        ----CentOS已经安装了intel的驱动程序,因此不许重装
            # vim /etc/X11/xorg.conf        ----修改一些配置就可以【1-15】
            3.重启X server
        

4.重点回顾【1-16】

5.本章习题【1-17,18,19】

6.参考数据与延伸阅读
posted @ 2014-02-21 16:36  Neuromancer  阅读(505)  评论(0编辑  收藏  举报