X Window 设定介绍

  1. 在 Unix Like 上面的图形用户接口 (GUI) 被称为 X 或 X11
    • X11 是一个『软件』而不是一个操作系统;
    • X11 是利用网络架构来进行图形接口的执行与绘制;
    • 最著名的 X 版本为 X11R6 这一版,目前大部分的 X 都是这一版演化出来的 (包括 X11R7);
    • 现在大部分的 distribution 使用的 X 都是由 Xorg 基金会所提供的 X11 软件;
    • X11 使用的是 MIT 授权,为类似 GPL 的自由软件授权方式
  2. 主要组件: X Server/X Client/Window Manager/Display Manager
    1. X Server:硬件管理、屏幕绘制与提供字型功能:
      • 『每部客户端主机都需要安装 X Server,而服务器端则是提供 X Client 软件,以提供客户端绘图所需要的数据数据』。X Server将来自输入设备 (如键盘、鼠标等) 的动作告知 X Client,硬件的动作是由 X Server 来管理的, 但是 X Server本身并不知道接口设备这些动作会造成什么显示上的效果, 因此 X Server 会将接口设备的这些动作行为告知 X Client ,让 X Client 去伤脑筋。
    2. X Client:负责 X Server 要求的『事件』之处理:
      • X Client 最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据,再将这些绘图数据传回给 X Server。X client 本身是不知道他在 X Server 当中的位置、大小以及其他相关信息的。X client 彼此不知道对方在屏幕的哪个位置啊!
    3. X Window Manager:特殊的 X Client ,负责管理所有的 X client 软件
      • 提供许多的控制元素,包括任务栏、背景桌面的设定等等
      • 管理虚拟桌面 (virtual desktop);
      • 提供窗口控制参数,这包括窗口的大小、窗口的重迭显示、窗口的移动、窗口的最小化等等。
    4. Display Manager:提供登入需求
      • 在 tty7 的地方有个可以让你使用图形接口登入 (输入账号密码) 的咚咚,其实是个 Display Manager。这个 display manager 最大的任务就是提供登入的环境, 并且加载使用者选择的 Window Manager 与语系等数据喔!
  3. X Window 的启动流程
    • 先启动管理硬件与绘图的 X Server ,然后才加载 X Client
    • 在文字接口启动 X :透过 startx 指令
      1. [root@www ~]# startx [X client 参数] -- [X server 参数]
        • X server 的参数方面:
          1. 使用 startx 后面接的参数;
          2. 若无参数,则找寻用户家目录的档案,亦即 ~/.xserverrc
          3. 若无上述两者,则以 /etc/X11/xinit/xserverrc
          4. 若无上述三者,则单纯执行 /usr/bin/X (此即 X server 执行档)
        • X client 的参数方面:
          1. 使用 startx 后面接的参数
          2. 若无参数,则找寻用户家目录的档案,亦即 ~/.xinitrc
          3. 若无上述两者,则以 /etc/X11/xinit/xinitrc
          4. 若无上述三者,则单纯执行 xterm (此为 X 底下的终端机软件)
      2. 由 startx 呼叫执行的 xinit
        • 事实上,当 startx 找到需要的设定值后,就呼叫 xinit 实际启动 X 的。他的语法是:
        • [root@www ~]# xinit [client option] -- [server or display option]
        • xinit 主要在启动 X server 与加载 X client ,但这个 xinit 所需要的参数则是由 startx 去帮忙找寻的。
  4. X 启动的端口
    • 在 X Window System 的环境下,我们称 port 6000 为第 0 个显示接口,亦即为 hostname:0 , 那个主机名通常可以不写,所以就成了 :0 即可。在预设的情况下,第一个启动的 X (不论是启动在第几个 port number) 是在 tty7 。
  5. X 启动流程测试
    • 1. 先来启动第一个 X 在 :1 画面中
      • [root@www ~]# X :1 &   在tty1下达命令,可以在tty8显示窗口
    • 2. 输入数个可以在 X 当中执行的虚拟终端机
      • [root@www ~]# xterm -display :1 &
      • [root@www ~]# xterm -display :1 &
    • 3. 在输入不同的 X client 观察观察,分别去到 tty8 观察喔!
      • [root@www ~]# xclock -display :1 &
      • [root@www ~]# xeyes -display :1 &
    • 4. 输入可以管理的 window manager
      • [root@www ~]# twm -display :1 & ----------窗口变成有标题可移动的了
    • 5. 将所有刚刚建立的 X 相关工作全部杀掉!
      • [root@www ~]# kill %6
  6. 览析 xorg.conf 设定 ----------鸟哥linux私房菜基础篇 835
    • X server 所使用的字型其实是 XFS 这个服务所提供的,因此没有启动 XFS 服务时,你的 X server 是无法顺利启动
    • [root@www ~]# Xorg :7 -configure
      • 此时 X 会主动的以内建的模块进行系统硬件的探索,并将硬件与字型的侦测结果写入 /root/xorg.conf.new 这个档案里面去,这就是 xorg.conf 的重制结果。
    • [root@www ~]# X -config /root/xorg.conf.new :1 ----测试是否正确
  7. 关于屏幕分辨率与更新率
    1. 屏幕的分辨率应该与显示适配器相关性不高,而是与显示器的更新频率有关!
    2. [root@www ~]# gtf 水平像素 垂直像素 更新频率 [-xv]
      • 水平像素:就是分辨率的 X 轴
      • 垂直像素:就是分辨率的 Y 轴
      • 更新频率:与显示器有关,一般可以选择 60, 75, 80, 85 等频率
      • -x :使用 Xorg 配置文件的模式输出,这是默认值
      • -v :显示侦测的过程
    3. 例:[root@www ~]# gtf 1024 768 75 -x
      • Modeline "1024x768_75.00" 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +Vsync
      • vim /etc/X11/xorg.conf
        • Section "Monitor" 增加以下内容
        • Modeline "1024x768_75.00" 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +Vsync

 

posted @ 2016-08-04 15:04  狂奔__蜗牛  阅读(258)  评论(0编辑  收藏  举报
levels of contents