/*********************************************************************
 * Author  : Samson
 * Date    : 06/18/2014
 * Test platform:
 *              Mint 15
 *              GNU bash, version 4.2.45
 * *******************************************************************/

关于在基于upstart机制下的系统的启动模式(大多数都叫它启动级别)的改动,在Mint中主要有三种方式进行改动,由于upstart模式还是考虑了对system V等老系统的兼容的,所以在/etc/init下有一个名为:rc-sysinit.conf的文件,此文件里对三种改动方法已经进行了说明:

0)、改动环境变量:env DEFAULT_RUNLEVEL=2  图形界面的一般都是为2  若是须要单用户登录的话,那么此值设置为1就可以;

1)、创建/etc/inittab文件,并依照老的system V的配置方式进行配置,system V的详细怎样设置,在网上一大把资料,请自寻找并自取了解了;

2)、在kernel command-line中输入相应的启动模式值,读取这个命令行的地方为文件: /proc/cmdline ,而这个文件的所相应的值一般为 BOOT_IMAGE=/boot/vmlinuz-3.14.× root=UUID=5d5daf1d-cf45-4f1c-b28d-e517a32dcf28 ro quiet splash vt.handoff=7  类似的行,这行相应的是在grub启动选项中进行填入的,能够在系统启动的时候按e键进行配置,仅仅要存在-s或0~6的数值,那么DEFAULT_RUNLEVEL的值将会改变为相应的值,然后会使用telinit 
${DEFAULT_RUNLEVEL}进行相应启动模式的启动;



关于upstart事件驱动的介绍可參考:

http://blog.csdn.net/yygydjkthh/article/details/24796755

主要代码在rc-sysinit.conf中的例如以下代码中体现:

script

    # Check for default runlevel in /etc/inittab

    if [ -r /etc/inittab ]

    then

        eval "$(sed -nre 's/^[^#][^:]*:([0-6sS]):initdefault:.*/DEFAULT_RUNLEVEL="\1";/p' /etc/inittab || true)"

    fi



    # Check kernel command-line for typical arguments

    for ARG in $(cat /proc/cmdline)

    do

        case "${ARG}" in

        -b|emergency)

            # Emergency shell

            [ -n "${FROM_SINGLE_USER_MODE}" ] || sulogin

            ;;

        [0123456sS])

            # Override runlevel

            DEFAULT_RUNLEVEL="${ARG}"

            ;;

        -s|single)

            # Single user mode

            [ -n "${FROM_SINGLE_USER_MODE}" ] || DEFAULT_RUNLEVEL=S

            ;;

        esac

    done



    # Run the system initialisation scripts

    [ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS



    # Switch into the default runlevel

    telinit "${DEFAULT_RUNLEVEL}"

end script

系统的启动模式(启动级别)的改动---使用upstart启动机制的的更多相关文章

  1. CentOS修改系统的默认启动模式为命令号界面

    CentOS在安装桌面之后,将图形界面设置为默认模式,给PC内存带来较大压力,所以希望修改系统的默认启动模式为命令号界面,而不启动图形界面.方法如下: 1.以 root用户登录系统:或者 用su切换到 ...

  2. Android Activity的4种启动模式详解(示例)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5233269.html 先介绍下Android对Activity的管理,Android采用Task来管理多个A ...

  3. 关于activity的启动模式

    在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程.而启动模式就决定Activity启动运行方式. 1.设置方式它是在主配置文件中,Activi ...

  4. Android Activity 启动模式和任务栈

    在了解了基本的Activity的生命周期后,我们能够很好的在一个Activity上面做相关的业务.但是这是不够的,因为Android通过任务栈来保存整个APP的Activity,合理的调度任务栈才能够 ...

  5. android学习笔记 activity生命周期&任务栈&activity启动模式

    activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序 ...

  6. Activity启动模式 及 Intent Flags 与 栈 的关联分析

     http://blog.csdn.net/vipzjyno1/article/details/25463457    Android启动模式Flags栈Task   目录(?)[+] 什么是栈 栈 ...

  7. 【转】Activity启动模式 及 Intent Flags 与 栈 的关联分析

    http://blog.csdn.net/vipzjyno1/article/details/25463457    在学习Android的过程中,Intent是我们最常用Android用于进程内或进 ...

  8. 任务栈 启动模式 Flag taskAffinity

    关于任务栈Task 栈的概念 栈(Stack)是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下 ...

  9. Android基础知识06—活动的四大启动模式

    ------ 活动的启动模式 ------ 在实际项目中应该根据特定的需求为每个活动指定恰当的启动模式. 四种启动模式: standard . singleTop . singleTask . sin ...

随机推荐

  1. Java2_Java泛型

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  2. 在mac系统安装Apache Tomcat的详细步骤

    对于Apache Tomcat 估计很多童鞋都会,那么今天就简单说下在mac上进行tomcat的安装:    第一步:下载Tomcat       这里Himi下载的tomcat version:7. ...

  3. iPhone不同机型适配 6/6plus --备用

     机型变化 坐标:表示屏幕物理尺寸大小,坐标变大了,表示机器屏幕尺寸变大了: 像素:表示屏幕图片的大小,跟坐标之间有个对应关系,比如1:1或1:2等: ppi:代表屏幕物理大小到图片大小的比例值,如果 ...

  4. IE8下String的Trim()方法失效的解决方法

    String的Trim()方法失效,在ie8下是有这样的情况的,解决方法也很简单使用$.trim(str)即可,需要的朋友可以了解下 用jquery的trim()方法,$.trim(str)就可以了.

  5. bzoj 1914: [Usaco2010 OPen]Triangle Counting 数三角形 容斥

    1914: [Usaco2010 OPen]Triangle Counting 数三角形 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 272  Sol ...

  6. MDN > Web technology for developers > HTTP

    The Hypertext Transfer Protocol (HTTP) is an application-layer protocol for transmitting hypermedia ...

  7. 【2015年最新App Store退款流程详解】最详细AppStore退款流程图文教程

    本帖最后由 想吐就吐出来 于 2015-7-1 14:25 编辑 如果你一不小心买错了iOS软件,从App Store上下载了游戏或软件后悔了,那怎么办?可以退款吗?答案是可以的!苹果这点还是很人性化 ...

  8. bzoj1799

    这是一道比较难的数位dp 因为逐位统计好像无法处理数位和整除原数的 但是有了刚才的bzoj1072的经验,我们能做的是逐位处理被一个数d整除的方案 不难想到先穷举数位和now,now最大也就162,可 ...

  9. Android Volley - volley StringRequest編碼問題

    有些時候這個類並不能很好的解決中文編碼問題 如果出現亂碼,就 要重寫該類的parseNetworkResponse 方法了. 繼承StringRequest,然後重寫parseNetworkRespo ...

  10. wpa_supplicant对wep,wpa,wpa2的psk和隐藏ap的scan_ssid扫描配置

    # 请不要修改下面这一行内容,否则将不能正常工作ctrl_interface=/var/run/wpa_supplicant # 确保只有root用户能读取WPA的配置ctrl_interface_g ...