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操作系统Ubuntu 9.10详解" 【描述】: 本文档详细介绍了如何在Windows环境下使用VMware Workstation 7.0虚拟机软件安装Ubuntu 9.10 Linux操作系统的过程,包括创建虚拟机、配置虚拟机...
ICEauthority文件是X Window System中用于存储认证信息的文件,它允许用户无须反复输入密码即可使用图形界面。当这个文件的权限配置不当或受到保护时,系统无法正确更新,导致用户在启动时遇到登录问题。 问题的...
- **Ubuntu安装流程**:掌握在VirtualBox中安装Ubuntu的具体步骤。 ##### 实验工具 - **软件包**:Ubuntu ISO镜像文件(如ubuntu-9.10-desktop-i386.iso)和VirtualBox(版本3.0.12)。 - **实验设备**:一台运行...
**注意:** 以上步骤适用于Ubuntu 9.10版本,不同版本的Ubuntu可能存在差异,特别是新版本的Ubuntu已经默认支持更多的编码格式,因此可能无需额外配置。 ##### 2. 解决Totem和Rhythmbox播放MP3乱码问题 对于使用...
##### 2.1 安装Ubuntu 9.10 - **目的**:为开发板提供一个稳定且支持广泛的桌面环境。 - **步骤**: - 下载Ubuntu 9.10 ISO镜像文件。 - 使用虚拟光驱或USB启动盘工具将ISO镜像文件安装到计算机上。 - 完成安装后...
双系统安装完毕,利用GURB启动到Ubuntu Server 9.10,以管理员身份登录。 1)并读写方式(RW)认方式挂载Windows中D分区至/media/wind。 2)更改/media/wind/mysql/data权限 sudo chow mysql:mysql /media/wind/mysql/...
- `libmotif3`:Motif库,用于X Window System下的图形用户界面,是许多旧应用软件的依赖。 - `libstdc++2.10-glibc2.2`:早期版本的C++标准库,与GLIBC 2.2兼容。 - `libgtk1.2`和`libgtk1.2-common`:GTK+ 1.x...
本文将详细介绍在Linux环境下安装NS2的过程,特别是针对Ubuntu 8.04及10.10版本的操作系统。 #### 二、环境准备与基础配置 1. **操作系统选择**: - Ubuntu 8.04 Hardy Heron 或 Ubuntu 10.10 Maverick Meerkat。...
可以通过菜单“Window > Install new software”启动Eclipse Updater。 - 默认的CodeWarrior安装路径为`C:\Program Files\Freescale\CWPAv10.x`。为了防止恶意软件,Windows Vista和Windows 7不允许普通进程更改...
在Ubuntu 9.10(Karmic Koala)上,C-Kermit不是默认安装的,因此你需要通过`sudo apt-get install ckermit`命令来安装。安装完成后,需要配置C-Kermit以适应你的USB转串口设备。通常,你可以通过`dmesg`命令来找到...
程序是指编译后的可执行文件,可以在Ubuntu 9.10系统上运行。实验报告可能包含了设计决策、功能介绍、测试结果以及遇到的问题和解决方案。 这个任务管理器可能具有以下特性: 1. **进程查看**:列出系统中正在运行...