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脚本的学习效果吧。
分享到:
相关推荐
ubuntu-9.10-rc-desktop-i386.iso
第一步:把ubuntu-9.10-desktop-i386.iso 文件拷贝到非安装盘,比如D盘。 第二步:用UltraISO(或解压缩)把ubuntu-9.10-desktop-i386.iso里casper目录下的initrd.lz和vmlinuz两个文件提取出来放到D盘根目录下。 第...
bind-9.10.4-P1.tar.gz
ubuntu9.10上的中文输入法,deb包,比其自带的ibus更方便使用. 注意:需要先卸载系统自带的ibus输入法才能使用.
macos最新的catalina版本的RTUSB_D2870驱动,RTUSB_D2870-4.2.9.10_UI-5.0.0.01.dmg
ubuntu9.10的用户指南汉化包,deb格式.
ubuntu910界面汉化安装包,deb格式。由于包的相互依赖,需用如下命令安装: #dpkg -i language-pack-gnome-zh-hans_1%3a9.10+20091022_all.deb language-pack-gnome-zh-hans-base_1%3a9.10+20091022_all.deb #dpkg -...
ubuntu9.10的源,用于更新; Archive.ubuntu.com更新服务器(欧洲,此为官方源,电信网通用户使用): deb http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse deb ...
很详细的 Ubuntu 9.10 图解安装教程
ubuntu 智能拼音安装方法(个人比较中意这个输入法)
(2)Ubuntu9.10,注意在安装步骤第7步的时候,点击高级按钮,选择安装启动器引导设备的位置为你手动分区的那个光盘。 (3)登录win7(此时系统直接进入win7的),将此文件解压后直接放在C盘即可。 (4)重启后即有...
ubuntu910的ibus输入法,由于附件大小的限制,分开成两个资源上传.
AlphaControls v9.10 Full Source - xe7修改
资源分类:Python库 所属语言:Python 资源全名:chickenstats-1.7.3.8.9.10.9.5-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Ubuntu9.10建立交叉编译环境arm-linux-gcc-4.3.2
内蒙古自治区社会信用平台观摩会(9.10晚上调整-自适应黄埔厅).pptx
硬盘安装 windows 7 和 ubuntu 9.10 双系统 Windows 7 和 ubuntu 都已经发布了,想体验一下。 Windows 7 已经安装了,本来想用 wubi 安装 ubuntu ,担心 ubuntu 系统性能不好,使用虚拟机安装吧,也是担心同样的...
安装 Ubuntu 9.10 全过程视频教程
中文文档(9.10.2-U1) FreeNAS作为一个基于FreeBSD的NAS系统, 稳定性较好, 有着较为完善的RAID支持, 同时使用ZFS文件系统, 有着不错的IO性能, 其功能也能够通过自带的插件扩展. 以下文档翻译自 目录 简介 硬件要求 ...