也许大家偶然会发现/sbin里有个init命令。你知道它是如何使用的吗?
如果你不喜欢使用图形登录方式,如何能够让用户在控制台下运行startx命令呢?
有时你要维护服务器,暂时不希望别的用户登录系统,但自己仍对网络有访问权,又该怎么办呢?
其实,如果你知道了三个问题之间的关系,它们就不成问题了。让我们这里入手了解一下Linux的运行级别(runlevel)吧!
其实init是Linux系统里的根进程,是系统所有进程的祖先。它的主要作用是根据记录在/etc/inittab里的一个脚本(script)程序产生进程。这个文件通常用于控制用户的登录模式。Linux系统的有效登录模式有0~9共十种,不过沿用UNIX系统的至多6种的限制,一般只有1到6有效。
init一般在系统启动时自动运行,也可以由root用户调用。它的作用是切换系统的运行状态。它的命令格式是:init NUM〈回车〉,其中NUM表示1到6的任一数字。
6种模式中有两种是系统内定的:
0:停止系统运行。init 0〈回车〉相当于 halt〈回车〉。
6:重启系统。init 6〈回车〉相当于 reboot〈回车〉。
如果你了解/etc/inittab文件,就千万不要把0设为缺省登录模式,否则你的Linux的运行就只能两点一线了——开机←→停机,或者是开机←→重启的无限循环。
其他的4种模式实际上是由操作系统确定的。如果你愿意修改Linux的源代码,你也可以定义这4种(甚至6种)模式的实际功能。其实只要知道Linux发布厂商的约定就足够了,下面我们就以蓝点2.0为例,看看init的常用约定吧——
init 1——进入单用户模式。
这和开机是选择Safe Mode是一样的,可以以root的权限对系统进行管理,但是不能进入图形模式,也不支持中文,声卡和网络服务等就更不用提了。总之,它是系统可运行的最低软硬件配置。
它和Windows的安全模式是比较相似的,但一个本质的差别:在于只要你在Linux下运行相应的命令,硬件设备是可以在这种模式下被驱动的。例如只要你的光驱连线正确,一个mount /dev/cdrom命令,你的光盘内容就随时可以在/mnt/cdrom里读出来。
要注意的是这一模式的字符控制台不能支持中文,但进入Xwin仍然能看到蓝点漂亮的中文字体,输入法也完全没有问题。
init 2——进入无网络服务的多用户模式
如果你的计算机根本没有连网,这个模式就跟普通模式一样了。否则的话别人就不能通过网络www、ftp或telnet登录你的计算机了,但对与ping 命令你的计算机还是会作出反应的。如果连ping你也拒绝访问,那么就不如直接把网线拔了!如果你的计算机作为网络服务器,这一模式就挺有用了。譬如你要修整系统或更新网站内容,就可以把计算机调到这一模式,然后放心的进行你的工作,等工作完成后再切换到模式3或5就行了。但注意如果原来已经有用户ftp或telnet进入了你的系统,用init 2 是不能中断他和你的连接的,小心让别人在这个时候黑你一把哦!——执行init 2前先用who命令检查一下吧。
这一模式下,在本机上的使用基本不变。你仍然可以访问网络,上Internet,ftp或telnet到网络中的任何一台服务器。只是你的计算机在网络中不给其他机器提供服务而已。计算机从第3运行级转入这一模式时你会看到一系列网络服务被停止。
init 3或init 4——进入控制台登录的多用户模式
这是蓝点1.0的默认登录模式,每个用户都要先从黑白屏幕登录之后才可以运行才能startx进入KDE精彩的图形世界。而且Xwin启动后,运行 startx的控制台就被锁定了,除非你用startx &把Xwin放到后台运行。要到别的控制台用Ctrl+Alt+F*,*表示数字1到6中任一个,Ctrl+Alt+F7则回到图形模式专用的7 号控制台(有时要用Ctrl+Alt+F8)。
如果是从init 1 或init 2切换回init 3,我们可以看到一系列服务被重启。
init 5——进入图形化登录的多用户模式
这是蓝点2.0安装后默认的启动模式。系统启动后或执行init 5命令后,悦目的蓝绿过渡色背景上就出现了漂亮的登录窗口。
所有帐号名都以图标的方式出现在窗口里等待选择,不必自己输入。不过系统管理员可能不高兴——这样系统里有多少用户岂不是让人一目了然?不过在KDE控制中心中修改就可以解决问题的,我就不多说啦。
如果系统出了问题,只要启动仍然能进入这个界面(说明X服务器没有问题),root帐号也可以从这里进入Linux的安全模式,就是在左下角的选择框把模式从kde换为save failed就行了。当然进入的界面绝对没有美观可言,但用于修复X窗口管理器或应用程序的问题是必不可少的。
登录窗口刚出现时1到6控制台常常都是锁定的。但在某个用户登录成功或失败后,1到6的控制台就会变得全部可用。是不是有点莫名其妙?有时你还要在切换之后多按几个回车甚至Ctrl+C才行呢。
现在就来解决文章开头所提的第二个问题吧——方法有两种:传统的方法就是root运行setup命令,重新配置X窗口系统,指定下次系统启动时不自动进入图形模式;另一种方法就是到控制台1到6的其中一个,键入init 3〈回车〉,图形登录窗口就会从7号控制台消失了,任何用户都可以使用startx登录系统。
init 5这个模式不能和其他模式进行太多的切换。否则系统Linux就开始自我感觉不良好了,于是就重启计算机以恢复元气——Linux有时也要打打喷嚏的。
更深入的了解……
上述介绍的几种模式玩够了吗?
如果你想知道更多,就不妨打命令man init看看完全版的手册,枯燥的手册会告诉你:命令init结合/etc目录下的一系列文件可以对你的系统的启动实现深入的定制化设置……一般的用户就不必为它操心啦。
分享到:
相关推荐
Linux操作系统有多个运行级别,这些级别定义了系统可以运行的不同状态。运行级别0表示系统将停止所有进程并关机,而运行级别1是单用户模式,通常用于系统维护,只运行必要的基本服务。运行级别2是多用户模式,但不...
在Linux操作系统中,运行级别(Runlevel)是一个关键概念,它定义了系统在不同阶段的行为和功能。Linux有七种不同的运行级别,每一种都有特定的用途。以下是这些运行级别的详细解释: 1. **运行级别0**:这是关机或...
Linux系统管理是IT运维中的重要组成部分,而理解Linux的启动过程和运行级别是进行有效系统管理的基础。在本文中,我们将深入探讨这两个概念,并介绍相关的命令。 首先,让我们来看看Linux的启动过程: 1. **开机...
### Linux系统的运行级别(Runlevel) 在Linux系统中,运行级别(Runlevel)是指系统启动后所处的不同操作状态或模式。不同的运行级别对应着不同的服务集和服务状态,从而决定了系统能够提供的功能和服务类型。理解...
`crontab`是Linux下的定时任务调度工具,用于设置周期性执行的任务。`crond`守护进程负责监控和执行`crontab`文件中定义的任务。用户可以使用`crontab -e`编辑个人的定时任务,或者`crontab -l`列出当前的任务。`...
在早期的Linux发行版中,可以在`/etc/inittab`文件中添加条目来指定在特定运行级别下执行的脚本。 2. **运行级别目录**: 更常见的做法是将脚本链接放置在如`/etc/rc.d/rc3.d`这样的目录下,这里的3代表运行级别...
对于C语言爱好者来说,掌握如何在Linux下使用GCC编译和运行C语言源文件是至关重要的。下面我们将详细探讨这个过程,以及相关的一些知识点。 首先,安装GCC。在大多数Linux发行版中,GCC可能已经预装,如果没有,...
本文将详细介绍如何在Linux环境下部署和运行PowerBuilder.NET WebForm应用程序,以及探讨如何使基于PowerBuilder的传统客户机/服务器应用程序能够在Linux上运行。 #### 在Linux上运行PowerBuilder.NET WebForm应用...
### SUSE Linux 下开机自动运行脚本命令的方法 #### 概述 在SUSE Linux(如openSUSE)中,为了实现系统启动时自动执行某些脚本或命令,需要了解和利用特定的启动脚本机制。本文将详细介绍openSUSE 11和10 SP2中的...
Linux 运行级init详解 Linux 作为一个功能强大且开放的操作系统,其启动过程中需要执行多个步骤。其中,init 程序扮演着至关重要的角色,它负责启动后续任务,包括多用户环境和网络等。那么,init 程序是如何工作的...
7、Linux运行级别和帮助指令 8、Linux指令之文件目录、时间日期、搜索查找、压缩和解压 9、Linux组管理和权限管理 10、Linux任务调度 11、Linux磁盘操作 12、Linux进程管理 13、Linux RPM 包和YUm包 14、...
本篇文章将详细阐述如何在这款硬件平台上成功运行Linux操作系统,以便利用其强大的计算能力,并实现与个人计算机(PC)的有效通信。 首先,我们要准备的是一个支持TMS320C6678的Linux内核。通常,这需要从开源社区...
在深入探讨Linux运行级修改这一主题前,我们首先需理解什么是Linux运行级,以及它为何在系统管理和维护中扮演着至关重要的角色。 ### Linux运行级概述 Linux运行级(Run Level)是系统的一种状态,决定了启动后...
内容概要:本文档详细介绍了Linux操作系统的运行级别及其切换方法,并全面讲解了多个实用指令的应用。包括帮助指令、文件目录类指令、时间日期指令、搜索查找类指令以及压缩和解压类指令。通过具体的例子展示了每个...
以下是如何在Linux环境下正确运行`.bin`文件的详细步骤: 1. **切换到文件所在目录**: 在终端中,你可以使用`cd`命令切换到`.bin`文件所在的目录。假设文件名为`abc.bin`,并且位于当前用户的主目录中,你可以...
本资源包含PTP协议在Linux上的运行源代码,分为版本1和版本2,其中版本2在性能和功能上进行了优化。 PTP协议的核心目标是通过最小化数据传输中的延迟和抖动来提供亚微秒级别的时钟同步。它由国际电工委员会(IEC)...
- `/etc/rc.d/rcN.d/`(N代表运行级别0-6):这些目录下的链接文件指向`/etc/rc.d/init.d/`中的服务脚本,决定哪些服务在特定运行级别启动。 Systemd管理服务的方式是通过`systemctl`命令,例如查看默认启动级别、...
### Linux下代码运行时间的高精度测量 #### 引言 在多媒体处理系统、实时控制系统等对时间要求严格的应用系统中,代码的运行时间是一个重要的技术指标。然而,精确测量代码运行时间却并非易事。计时精度以及其他...
在Linux操作系统中,跟踪线程运行情况是系统管理员和开发者常用的一种...掌握以上知识点,将有助于你在Linux环境下有效地跟踪和管理线程,解决多线程程序中的问题,提升系统性能。记得结合实际应用和具体场景灵活运用。