显示管理器会自动的启动XServer和XClient,server一般就是Xorg。
如果我们没有自启动的登录管理器,就会进到默认的终端登录,答仔者你需要在终清薯端上输入 startx 才能显出窗口管理器。startx是xinit的包装,会启动XServer对应的配置文件 /etc/X11/xinit/xserverrc
X这个程序就是Xorg程序。
startx还会启动XClient对应的配置文件 ~/.xinitrc
这样,你的桌面就显示出来了,dwm主要会调用xlib的接口,其它桌面则调用更多像Qt、Gtk这样的接口实现
Arch安装文档已经很全面了,在UbuntuServer上安装图形化界面也类似。
vim ~/.xinitrc
本周我们学习了如何使用Linux编辑脚本程序,当我们编写好脚本的时候,我们需要返回终端界面,使用各种编译器运行程序,但是有时候我们需要在系统开机的时候就自动运行这些程序,下面我们就来看一下在Linux下将脚本设定成开机自动运行的方法。
Linux在散肆启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下。假冲没轿设我们需要运行的脚本文件是test1目录下的test.py。
在系统中找到/etc/rc.local文件,系统会根据该文件来启动所指定的脚本或命令。
我们需要用超级用户登录,并在上述文件最后添加需要运行的脚本文件。
随后cd /home/test1返回test1目录以对其进行更改。
su test1 -c "python /home/test1/test.py" --把要察洞执行的命令作为一个参数传递级su
下面我们就可以实现这个脚本的开机自动运行。
昨天在写关于linux设置脚本开机启动的文章时,有个疑问就是开机时怎么确认运行级别,然后遍历执行/etc/rcN.d/目录下的所有服务程序。带着疑问, 在前人的基础上 学习总结一下linux系统初始化的工作的内容,现在树莓派4B上展示出来。
1、加载内核
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。旅山 *** 作系统接管硬件以后,首先读入 /boot 目录下的内核文件。树莓派4B的内核是Raspbian GNU/Linux 10 (buster),基于Debian。
2、初始化进程init
内核文件加载以后,运行第一个程序init,它的作用是初始化系统环境。init位于目录/sbin,进程号PID为1,即1号进程,其他所有进程都由init衍生,是init的子进程。
同时还有个0号进程,idle进程,在系统初始化时由内核kernel自身从无到有创建,通过调用kernel_thread创建一个内核线程去执行init函数,0号进程创建1号进程。
3、运行级别
具体介绍请参考笔者的文章-Linux运行级别简介 ,但是开机时是怎么确定运行级别的呢?
init进程首先读取文件 /etc/inittab,它是运行级别的设置文件。但是各个发行版不太一样,init的仔稿配置文件也不一样,有可能使用/etc/event.d里面的配置文件,最新版的改用为/etc/init目录。
4、开机启动程序
具体详情请参考文章-linux中/etc/init.d设置开机启动 ,确定运行级别后,执行rcN.d目录下的文件,这些链接文件是连接到init.d目录下的程序。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。
比如运行级别为5(图形化多用户)时启动的程序:
5、用户登录
开机启动程序加载完毕以后用户登录。用户的登录方式有三种:
命令行登录:init进程调用getty程序。
ssh登录:init进程调用sshd程序。
图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm。
6 、login shell
默认shell时bash,命令行界面,让念镇孝用户可以直接与 *** 作系统对话。读取环境变量,具体请参考笔者文章-Linux环境变量的设置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)