linux带级别类型的启动


一般的linux的运行级别为6个等级(其中4一般不定义,不过应该也可以):0—6,

0 :关机

1 :单用户mod

2–5:为多用户模式,基本无区别(这与一般的linux不一样,2为默认级别)

6 :重启

S :单用户恢复模式,运行很少进程以及服务

参考:http://book.51cto.com/art/200905/126183.htm

查看运行级别: $runlevel

更改运行级别: telinit *(0 -6 S)(一般没必要更改为S)

在/etc/rc$.d目录种定义了各种运行级别的运行服务;

要在ubuntu中关闭X服务,x客户端,桌面启动器等进程就行了

那你可以直接终止这些服务就可以了,但是我门要定义的是一开机就进入终端的模式。(ubuntu server版就默认进入终端,那是应为本来就没配置图形X服务)

由于2-5都是大致一样的,在/etc/rc1-5.d目录中找不到桌面启动器的服务,可能老版本的有,我的是ubuntu11.10,

然后在/etc/init/lightgdm.conf中找到了关于启动器的配置,默认是从2-5都是启动X的,那可以修改该配置,使某个运行级别不启动桌面启动即可。(这是linuxmint的配置)ubuntu的应该为gdm的配置。

下面的文本是说明ubutnu虽然使用的upstart的,但也遵循intitab的

修改/etc/inittab (没有的话新建一个,root用户)

查看当前运行级别

runlevel
#runlevel 显示上次的运行级别和当前的运行级别,“N”表示没有上次的运行级别

切换运行级别

int [0123456Ss]
#即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0 命令关机;用 init 6 命令重新启动。

Linux 系统主要启动步骤:

1. 读取 MBR 的信息,启动 Boot Manager

Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个
版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。
Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。

2. 加载系统内核,启动 init 进程

init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。

3. init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别,

按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启
动,并指向一个系统中的程序。
通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是
/etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动
目录为 /etc/rc3.d/ 。

4. 根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg

Xwindow 为 Linux 下的图形用户界面系统。

5. 启动登录管理器,等待用户登录

Ubuntu 系统默认使用 GDM 作为登录管理器,您在登录管理器界面中
输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/
文件夹中找到一个名为 S13gdm 的链接)

工具sysv-rc-conf的使用

#安装
sudo apt-get install sysv-rc-conf
#使用
sudo sysv-rc-conf

操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。

常见的系统服务

APP说明
acpi-support高级电源管理支持
acpid acpi守护程序.这两个用于电源管理,非常重要
alsa声音子系统
alsa-utilsanacroncron 的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行
apmdacpi 的扩展
atd类似于 cron 的任务调度系统。建议关闭
binfmt-support核心支持其他二进制的文件格式。建议开启
bluez-utiles蓝牙设备支持
bootlogd启动日志。开启它
cron任务调度系统,建议开启
cupsys打印机子系统。
dbus消息总线系统(message bus system)。非常重要
dns-clean使用拨号连接时,清除 dns 信息。
evms企业卷管理系统(Enterprise Volumn Management system)
fetchmail邮件用户代理守护进程,用于收取邮件
gdm gnome登录和桌面管理器。
gdomapgpm终端中的鼠标支持。
halt别动它。
hdparm调整硬盘的脚本,配置文件为 /etc/hdparm.conf。
hibernate系统休眠
hotkey-setup笔记本功能键支持。支持类型包括: HP, Acer, ASUS, Sony,Dell, 和 IBM。
hotplug and hotplug-net即插即用支持,比较复杂,建议不要动它。
hplip HP打印机和图形子系统
ifrename网络接口重命名脚本。如果您有十块网卡,您应该开启它
inetd在文件 /etc/inetd.conf 中,注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。
klogd重要。
linux-restricted-modules-common受限模块支持。
/lib/linux-restricted-modules/文件夹中的模块为受限模块。例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。
lvm逻辑卷管理系统支持。
makedev创建设备文件,非常重要。
mdamd磁盘阵列
module-init-tools 从/etc/modules加载扩展模块,建议开启。
networking网络支持。按 /etc/network/interfaces 文件预设激活网络,非常重要。
ntpdate时间同步服务,建议关闭。
pcmcia pcmcia设备支持。
powernowd移动 CPU 节能支持
ppp and ppp-dns拨号连接
readahead预加载库文件。
reboot别动它。
resolvconf自动配置 DNS
rmnologin清除 nologin
rsyncrsync 守护程序
sendsigs在重启和关机期间发送信号
single激活单用户模式
sshssh 守护程序。建议开启
stop-bootlogd在 2,3,4,5 运行级别中停止 bootlogd 服务
sudo检查 sudo 状态。重要
sysklogd系统日志
udev & udev-mab用户空间 dev 文件系统(userspace dev filesystem)。重要
umountfs卸载文件系统
urandom随机数生成器
usplash开机画面支持
vbesave显卡 BIOS 配置工具。保存显卡的状态
xorg-common设置 X 服务 ICE socket。
adjtimex调整核心时钟的工具
dirmngr证书列表管理工具,和 gnupg 一起工作。
hwtools irqs优化工具
libpam-devperm系统崩溃之后,用于修理设备文件许可的守护程序。
lm-sensors板载传感器支持
mdadm-raid磁盘陈列管理器
screen-cleanup清除开机屏幕的脚本
xinetd管理其他守护进程的一个 inetd 超级守护程序

建立自启动

touch /etc/init.d/xxDaemo.sh

写入如下内容,目的是建立环境变量,启动相应的程序

#!/bin/sh
#FOR XWindow
xhost +
#FOR QT
export TSLIB_ROOT=/usr/QT_5.14.1_INSTALL/TSLIB_INSTALL
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_TSEVENTTYPE=input
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
#
export QT_ROOT=/usr/QT_5.14.1_INSTALL/QT_5.14.1_INSTALL
export QML_IMPORT_PATH=$QT_ROOT/qml
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_GENERIC_PLUGINS=tslib

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:rotation=270:mmsize=240x160
export QT_QPA_FONTDIR=/usr/share/fonts/ms
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event1
export QT_QPA_FB_HIDECURSOR=1
export QT_DEBUG_PLUGINS=0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11_INSTALL/lib:/usr/XCB_INSTALL/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib
export PATH=$PATH:$TSLIB_ROOT/bin:/opt/opencv/bin:$QT_ROOT/bin

start() {
	start-stop-daemon -S -q -m -b -p /var/run/opencv.pid \
		--exec /opt/opencv/bin/opencv
	[ $? = 0 ] && echo "START opencv OK" || echo "START opencv FAIL"
}
stop() {
#	printf "Stopping gnnga_screen: "
	start-stop-daemon -K -q -p /var/run/opencv.pid
	[ $? = 0 ] && echo "STOP opencv OK" || echo "STOP opencv FAIL"
}
restart() {
	stop
	start
}

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart|reload)
	restart
	;;
  *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac

添加可执行权限

chmod +x /etc/init.d/xxDaemo.sh

建立软连接

#确认当前运行级别,当然也可以依据上面的命令使用int X设置一个运行级别
runlevel
#得到数字后再rcX.d中建立软连接,X为得到的数字
ln -s /etc/init.d/xxDaemo.sh /etc/rcX.d/S99xxDaemo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aron566

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值