`
superhj1987
  • 浏览: 205499 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ubuntu9.10及x-window的启动大概流程(转载)

阅读更多

1、先说ubuntu9.10的启动过程

       目前我用的版本是这样的ubuntu9.10,并且是全新安装的,不是升级上来的,至于升级上来的,是不是这个样,那就不得而知了。

       首先,明确的是,ubuntu9.10版和以前的版本的启动过程又不一样了。这在更新说明里有,因为在/etc目录下找不到event.d目录了,从网上搜关键字“ubuntu9.10”和“event.d”两个关键字就知道了,说是用/etc/init目录代替了,为了兼容。

        在/etc/init目录下有rc脚本文件和rc_sysinit脚本文件,启动的脚本在rc_sysinit文件的可能性更大,大概浏览器一下这个文件,应该是在里面设定了系统的默认运行级别为2级,并且下一步的关键运行为/etc/rc2.d目录下的脚本文件了。

      在/etc/rc2.d目录下,有如下两个类似文件99xmd和99wdm的脚本文件,大体翻阅了一下,其中,在这两个文件里面都涉及到了/etc/X11/default-display-manager这个文件,其大体意思就这样,看看这个文件里面启动的是哪个dm,如果返回false,则不启动x-window;如果不是false,则启动相应的dm程序。

     目前,通过大体上浏览翻看这些脚本文件,再加上网上查阅的一些相关资料,只是猜测启动流程是这样的,还没有仔细的阅读这些启动脚本文件,主要是目前还没有很顺畅阅读shell脚本的能力。

     实际上,至此,ubuntu基本上算启动完毕了,剩下的就是x-windo的启动了。

2、x-window的启动

        主要由两种方式,startx和dm。

       先说startx,在我的另一篇关于x-window的文章里也有所涉及。主要是用xinit来启动。

       无非就是~/.xinitrc(x客户端),~/.xserverrc(x-server),/etc/X11/xinit/.xinitrc文件,/etc/X11/xinit/.xserverrc文件来分别启动x-client和x-server,服务端很好办,通过.xserverrc文件(两个位置的该文件,~目录下的文件优先级高)来启动/usr/bin/X程序,然后又调用了xorg程序,这中间还有xorg.conf文件的参与等,启动起x-server端了。 通过.xinitrc文件,可以得到调用了/etc/X11/Xsession脚本文件,其实最终转到了/etc/X11/xsession.d目录下,执行该目下的脚本,就会根据gonme的要求,启动桌面环境需要的程序了。

       dm方式的启动流程:

       本机的x-window启动是否应用了XDMCP (X Display Manager Control Protocol)协议目前还不清楚,但是跨网络的x-window的dm方式启动肯定是用了该协议。

        首先是dm启动,并且在规定或公认的端口侦听,然后才是x-server的启动,这时的x-server的启动和上面的好像还不大一样,需要传进去某个特殊的参数,指示这个x-server去查询某地址某端口的dm,然后进行通讯,根据dm的要求显示登录画面,等待用户输入用户名和密码,并传给dm,由dm调用session相关的程序或脚本,然后才能建立起session,进而进入桌面环境。

3、需要注意的一点儿是:无论是startx(xinit)方式的x-window启动,还是dm方式的启动,都会调用Xsession相关的脚本或程序,因此,如果想针对桌面环境进行某项改动,最好的下手的地方应该是/etc/X11/xsession.d目录下的脚本了,或在这个目录下增加脚本。其实,两种x-window启动方式都会调用Xsession,在/etc/X11/Xsession脚本文件里的最开始的注释里有说明,同样,网上也可以查到相关的说明。

4、如果在ubuntu下安装了kde和xfce4桌面环境,会在/usr/bin/目录下有startkde和startxfce4启动脚本,这两个桌面环境具体是怎样的启动流程,目前还没研究呢,从这两个脚本中应该能找出来,目前,读起这两个脚本来有些吃力,放在以后,作为验证和巩固shell脚本的学习效果吧。

分享到:
评论

相关推荐

    虚拟机上安装Linux操作系统ubuntu9.10讲解.docx

    【标题】: "虚拟机上安装Linux操作系统Ubuntu 9.10详解" 【描述】: 本文档详细介绍了如何在Windows环境下使用VMware Workstation 7.0虚拟机软件安装Ubuntu 9.10 Linux操作系统的过程,包括创建虚拟机、配置虚拟机...

    ubuntu9.10开机CouldnotupdateICEauthorityfile解决方法.pdf

    ICEauthority文件是X Window System中用于存储认证信息的文件,它允许用户无须反复输入密码即可使用图形界面。当这个文件的权限配置不当或受到保护时,系统无法正确更新,导致用户在启动时遇到登录问题。 问题的...

    Linux操作系统实验教程

    - **Ubuntu安装流程**:掌握在VirtualBox中安装Ubuntu的具体步骤。 ##### 实验工具 - **软件包**:Ubuntu ISO镜像文件(如ubuntu-9.10-desktop-i386.iso)和VirtualBox(版本3.0.12)。 - **实验设备**:一台运行...

    ubuntu(vim,gedit等)乱码问题的解决

    **注意:** 以上步骤适用于Ubuntu 9.10版本,不同版本的Ubuntu可能存在差异,特别是新版本的Ubuntu已经默认支持更多的编码格式,因此可能无需额外配置。 ##### 2. 解决Totem和Rhythmbox播放MP3乱码问题 对于使用...

    OK6410开发板LINUX2.6用户手册.pdf

    ##### 2.1 安装Ubuntu 9.10 - **目的**:为开发板提供一个稳定且支持广泛的桌面环境。 - **步骤**: - 下载Ubuntu 9.10 ISO镜像文件。 - 使用虚拟光驱或USB启动盘工具将ISO镜像文件安装到计算机上。 - 完成安装后...

    Ubuntu与windows双系统下共用MySQL数据库的方法

    双系统安装完毕,利用GURB启动到Ubuntu Server 9.10,以管理员身份登录。 1)并读写方式(RW)认方式挂载Windows中D分区至/media/wind。 2)更改/media/wind/mysql/data权限 sudo chow mysql:mysql /media/wind/mysql/...

    proeforlinux安装教程.pdf

    - `libmotif3`:Motif库,用于X Window System下的图形用户界面,是许多旧应用软件的依赖。 - `libstdc++2.10-glibc2.2`:早期版本的C++标准库,与GLIBC 2.2兼容。 - `libgtk1.2`和`libgtk1.2-common`:GTK+ 1.x...

    ns2安装详解,ns2在linux下的安装

    本文将详细介绍在Linux环境下安装NS2的过程,特别是针对Ubuntu 8.04及10.10版本的操作系统。 #### 二、环境准备与基础配置 1. **操作系统选择**: - Ubuntu 8.04 Hardy Heron 或 Ubuntu 10.10 Maverick Meerkat。...

    powerPC CodeWarrior 10.0 使用手册

    可以通过菜单“Window > Install new software”启动Eclipse Updater。 - 默认的CodeWarrior安装路径为`C:\Program Files\Freescale\CWPAv10.x`。为了防止恶意软件,Windows Vista和Windows 7不允许普通进程更改...

    linux环境下安装dnw(formini2440).pdf

    在Ubuntu 9.10(Karmic Koala)上,C-Kermit不是默认安装的,因此你需要通过`sudo apt-get install ckermit`命令来安装。安装完成后,需要配置C-Kermit以适应你的USB转串口设备。通常,你可以通过`dmesg`命令来找到...

    基于Gtk+的Linux图形界面任务管理器

    程序是指编译后的可执行文件,可以在Ubuntu 9.10系统上运行。实验报告可能包含了设计决策、功能介绍、测试结果以及遇到的问题和解决方案。 这个任务管理器可能具有以下特性: 1. **进程查看**:列出系统中正在运行...

Global site tag (gtag.js) - Google Analytics