开机_开机键 - CSDN
  • 开发过程中,有时需要一些sh脚本、python脚本、命令等在开机的时候自动执行;通过查看网上的许多文章和教程,得出了两种比较便捷的开机自启方法。 目录 方法一:rc.local脚本 方案二:update-rc.d 方法一...

     背景

    开发过程中,有时需要一些sh脚本、python脚本、命令等在开机的时候自动执行;通过查看网上的许多文章和教程,得出了两种比较便捷的开机自启方法。

    目录     

                 方法一:rc.local脚本

        方案二:update-rc.d


     

    方法一:rc.local脚本

    这种方法比较适合于ubuntu16及之前的版本;毕竟像ubunutu18本来是不带rc.local脚本的(但是本文也能实现)

    简介

    rc.local脚本是一个Ubuntu开机后会自动执行的脚本,在该脚本内添加命令行,开机时会自动执行。

    • 脚本路径:/etc/rc.local

    • 需要root权限才能修改。

    实现(ubutu16 及之前的版本)

    1)打开rc.local脚本

    sudo vi   /etc/rc.local

    不熟悉vi编辑工具的朋友可以使用vim、gedit等工具代替vi

     

    2)在rc.local脚本添加命令

    在exit 0前添加要执行的命令,里面可以直接写命令或者执行Shell脚本文件sh

    例如:让ubuntu系统实现每隔5s执行一次温度检测脚本:net-temperature.sh

    这里可以指定sh脚本的路径目录;

    watch -n 5  是指每隔5s重复执行net-temperature.sh (关于对watch不了解的朋友,推荐搜索认识一下)

     

    rc.local脚本的设置开机自动执行的sudo命令也是可以执行的;比如:

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.:
    
    sudo sh run_name.sh
    exit 0
    

    rc.local命令不执行,程序不启动的问题

    1、添加log,查看程序执行情况

    2、rc.local文件头部/bin/sh修改为/bin/bash

    3、如果是执行sh文件,那么要赋予执行权限sudo chmod +x xxx.sh,然后启动时加上sudo sh xxx.sh

     

    实现(Ubuntu18)

    Ubuntu 18 不再使用initd管理系统,而是使用systemd

    参阅下列链接

    https://askubuntu.com/questions/886620/how-can-i-execute-command-on-startup-rc-local-alternative-on-ubuntu-16-10

    ubuntu-18.04不能像ubuntu16一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发挥作用。

    1、建立rc-local.service文件

    sudo vi /etc/systemd/system/rc-local.service

    2、将下列内容复制进rc-local.service文件

    [Unit]
    Description=/etc/rc.local Compatibility
    Documentation=man:systemd-rc-local-generator(8)
    ConditionFileIsExecutable=/etc/rc.local
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/etc/rc.local start
    TimeoutSec=0
    RemainAfterExit=yes
    GuessMainPID=no
    
    [Install]
    WantedBy=multi-user.target
    Alias=rc-local.service

    内容解释:

    启动文件主要分成三部分

    [Unit] 段: 启动顺序与依赖关系;

    [Service] 段: 启动行为,如何启动,启动类型;

    [Install] 段: 定义如何安装这个配置文件,即怎样做到开机启动;

     

    3、创建文件rc.local  

    sudo vi /etc/rc.local 

    4、将下列内容复制进rc.local文件

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    echo "如果能看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
    exit 0

    创建软链接

     systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接

    ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/

     

    5、给rc.local加上权限

    sudo chmod +x /etc/rc.local

    6、启用服务

    sudo systemctl enable rc-local

    这个命令 等同于

    sudo ln -s '/usr/lib/systemd/system/rc-local' '/etc/systemd/system/multi-user.target.wants/rc-local'

    Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录。 systemctl enable命令用于在上面两个目录之间,建立符号链接关系。

    如果配置文件里面设置了开机启动,systemctl enable命令相当于激活开机启动。

    与之对应的,systemctl disable命令用于在两个目录之间,撤销符号链接关系,相当于撤销开机启动。(这个是选择操作)

    sudo systemctl disable rc-local

    所以说之前问题可能出现在上一步软链接创建失败,或者说光创建链接未激活开机启动。

     

    7、启动服务并检查状态

    sudo systemctl start rc-local.service

    sudo systemctl status rc-local.service

    8、重启并查看test.log文件

    cat /usr/local/test.log  

     

    方案二:update-rc.d

    使用  update-rc.d,我们可以添加和删除服务,并将它们添加到Ubuntu / Debian启动脚本中,实现开启自启动效果。

    实现过程:

    1)新建个脚本文件 new_service.sh

    #!/bin/bash
    # command content
      
    exit 0
    

    2)设置权限

    sudo chmod +x new_service.sh

    3)把脚本放置到启动目录下

    sudo mv new_service.sh /etc/init.d/

    4、将脚本添加到开机启动脚本

    执行如下指令,在这里90表明一个优先级,越高表示执行的越晚 (优先级范围:0~90)

    cd /etc/init.d/
    sudo update-rc.d new_service.sh defaults 90
    

    然后重启电脑;

    5)查看全部服务列表

    sudo service --status-all

    这时应该能看到新加开机启动脚本(new_service.sh的名字在列表中;说明开机时会启动这个sh脚本的。

    附加:看到列表中,启动前面会可能出现以下三种状态de

    • [+] –具有此标志的服务当前正在运行。
    • [–] –具有此标志的服务当前未运行。
    • [?] –没有  状态开关的服务。

       左图中只是列举一部分

     

    6)服务的启动停止状态

    xxx为第5步查询得来的启动服务(脚本)名字

    sudo service xxx status
    sudo service xxx start
    sudo service xxx stop
    sudo service xxx restart

    其他

    移除开机启动脚本

    sudo update-rc.d -f new_service.sh remove

     

    update-rc.d的详细参数

    使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):

    update-rc.d [-n] [-f] <basename> remove
    update-rc.d [-n] <basename> defaults
    update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
    update-rc.d <basename> start|stop <NN> <runlevels>

    -n: not really
    -f: force
    disable|enable:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。
    start|stop:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)
    NN:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)
    runlevels:则指定了运行级别。


     

    希望对你有帮助。

     

     

    展开全文
  • 开机logo和开关机动画

    2019-06-12 13:51:49
    android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于android LOGO显示部分。...开机LOGO一般有两种:静态的和动态的,Android开机时共有三种LOGO(5.1之前可能算是4种吧)。 1. uboot显...

    转载自:http://blog.csdn.net/u014770862/article/details/52624627

    android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于android LOGO显示部分。此博客所讲之处若有错误,敬请原谅,谢谢!
    开机LOGO一般有两种:静态的和动态的,Android开机时共有三种LOGO(5.1之前可能算是4种吧)。
    1. uboot显示 (名字为:logo.bmp)
    2. kernel显示 (名字为:logo_kernel.bmp)
    3. android开机动画 (bootanimation.zip)
    一般情况下将前两幅图做成一样的,第三个就是开机动画部分。(uboot显示logo一般可以不做,加快android启动速度)。

    注意:图片不能太大,一般不要超过500k,太大会花屏或者显示黑屏。

    一、kernel显示

    1.内核支持
    首先在内核中配置支持开机LOGO显示:

    Graphics support  ------>
           [*] Bootup logo ----->
               --- Bootup logo
                   [*] Standard black and white Linux logo
                   [*] Standard 16-color Linux logo
                   [*] Standard 224-color Linux logo
    •  
    •  
    •  

    2.LOGO制作
    1).使用png格式图片

    pngtopnm linuxlogo.png > linuxlogo.pnm  //linuxlogo.png为原始图片
    pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
    pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
    •  
    •  
    •  

    2).使用bmp格式图片

    convert logo.bmp linuxlogo.png     //logo.bmp为原始图片
    pngtopnm linuxlogo.png > linuxlogo.pnm
    pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
    pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
    • 1
    • 2
    •  

    其他格式的图片也可以使用图片工具另存为png格式的图片,再按照上述代码执行即可。也可以将上述代码写成脚本,这样使用更方便。把制作好的logo_linux_clut224.ppm拷贝到内核drivers/video/logo/目录下面,删除文件夹下的logo_linux_clut224.o和logo_linux_clut224.c(如果有着两个文件就删除),然后编译烧录即可。

    二、Android 开机动画

    Android5.1的android字样貌似是不能单独更改的,可以用开机动画替换,和5.1之前的版本相比在init.c代码中做了一些改动:

    开机画面显示的重点函数console_init_action()并没有调用load_565rle_image(INIT_image_FILE),即在调用到console_init_action()函数后,指定的开机画面为ANDROID字样。
    load_565rle_image()函数也是不存在的。这就是android 5.1和之前不同之处,这也就说明了android5.1后,”android开机LOGO”不能替换了,只能通过替换开机动画来达到效果。将开机动画替换后,ANDROID字样也随之改变,因此通过直接更换开机动画来达到目的即可。
    开机动画的制作:bootanimation.zip
    将该文件放置在/system/media/目录下,系统启动时会自动加载该目录下的bootanimation.zip。bootanimation.zip压缩包主要由这几部分组成:

    其中desc.txt的作用就是指导系统如何去执行开机动画,desc.txt编写规范:例如开机需要用到两个文件夹part1和part2,在系统启动时,会首先将part1里面的内容播放一遍,再循环播放part2里面的内容,直到要进入launch界面时停止。示例desc.txt内容如下:

    1080 1920代表了屏幕的分辨率,22表示22帧每秒
    p 1 0 part1 :p就是play。1是播放一次,0是无限次。0代表阶段间隔帧数为0,也就是帧动画形式播放图片。part1指定了要播放的第一个文件夹为part1(也可以取别的名称,做相应修改即可)
    p 0 0 part2:第一个0表示循环播放。第二个0表示每张图片间隔帧数为0(和上面指令一样)。part2表示要循环播放的文件夹

    将制作好的文件打包成bootanimation.zip即可,注意:必须是zip格式,且包的大小最好不要超过3M。然后放入/system/media/目录下即可。

    最近在制作开机动画过程中发现添加开机动画后其一直不能显示,经过千辛万苦的寻找最终得出如下结论:
    开机动画zip的压缩尽量在linux环境下进行,在windows或者ubuntu的UI界面下压缩 bootanimation.zip可能会造成开机动画不能显示,在linux下,进入素材目录,执行压缩命令:

    zip -Z store bootanimation.zip part0/*.png part1/*.png desc.txt
    •  

    Windows下打包ZIP也需要进入素材目录。例如:选中part0,part1,desc.txt三个文件,右键选择”添加到压缩文件”,选择”ZIP”压缩,“存储”模式即可。

    展开全文
  • 1.鼠标右键单击计算机图标,找到管理图标,如下图所示。 ... ...5.所有时间ID中输入6005,6006(6005表示开机,6006表示关机) 6.点击确定,页面跳转如下图所示。 这样就可以查看电脑开关...

    1.鼠标右键单击计算机图标,找到管理图标,如下图所示。

    2.点击管理,页面跳转,如下图所示。

    3.找到系统按键(事件查看器—>Windows日志—>系统),位置如下图所示。

    4.点击右侧筛选当前日志,如下图所示。

    5.所有时间ID中输入6005,6006(6005表示开机,6006表示关机)

    6.点击确定,页面跳转如下图所示。

    这样就可以查看电脑开关机的记录了。

    展开全文
  • 控制windows开关机代码

    2018-07-17 10:26:57
    开机代码 注意需要为支持魔术包开机的主板才可用   "AC-9E-17-B9-C3-0D"是主板mac地址 #include &lt;stdio.h&gt; char s[] = "AC-9E-17-B9-C3-0D"; unsigned char b[6]; int...

    开机代码

    注意需要为支持魔术包开机的主板才可用

     

    "AC-9E-17-B9-C3-0D"是主板mac地址
    #include <stdio.h>
    
    	char s[] = "AC-9E-17-B9-C3-0D";
    	unsigned char b[6];
    	int v;
    	int i;
    
    	for (i = 0; i<6; i++) {
    		sscanf(s + 3 * i, "%02x", &v);
    		b[i] = (unsigned char)v;
    		printf("%02X ", b[i]);
    	}

    这样  广播这个数据包就可以了

    关机代码

    #include <iostream>
    system("shutdown -s -f -t 0");

    这些代码都可用于UE4

    展开全文
  • 将jar打包成windows系统服务,并实现开机自启 ** 前阵子将系统部署到客户服务器上后,比较坑的是客户那边机房经常停电。客户不会自己启动服务(实际只要双击几个图标就行)。于是计划给他们搞一个开机自启。 ...
  • 自动启动顺序,从上往下 ①Windows系统第一步启动:系统注册表HKLM1 计算机\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run ②Windows系统第二步启动:用户注册表HKCU1 ...
  • 现如今我们大家不论是生活中还是工作中运用电脑都是甚为广泛,对于电脑的操作,有人会把一些软件设置为开机自启动,如果当我们不需要自启动的时候怎样关闭自启动程序呢?不能自启动软件开一次你手动关一次吧,这样太...
  • 就拿win10自动修复这个功能来说,玩过win10的朋友,多数人都遇到过win10一开机就自动修复,而且开机自动修复失败,然后电脑开机卡在自动修复,只能重启,再自动修复,再重启,始终无法开机。 我的一个朋...
  • Win10管理开机启动项的方法相信大家已经非常熟悉,msconfig命令各系统都通用,那么很多用户发觉Win10和Win7 XP等系统不同,没有启动文件夹,那么我们怎么添加开机启动项呢?如晨软件或程序没有开机启动设置的话,是...
  • 这里说明一下无法开机的前提条件:你的电脑可以正常开机,只是有一天突然无法开机了,发神经呗! 如果电脑系统本身就是坏的,那肯定不能开机,需要重新安装系统或者拿去维修。 有些同事前天电脑还是正常,第二天就...
  • 自己的linux每次开机都要启动tomcat,网上好多都是用shell脚本来实现tomcat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效。然后实验总结出,其实其他的比如redis和nginx也是可以这样...
  • VMware 虚拟机开机黑屏

    2019-09-27 12:10:54
    前一段时间电脑上的虚拟机打不开了,点击开机就一直黑屏,挂起时能够看到显示,但是开机就黑屏。 百度了之后找到了解决方案:(我是第一种方案就解决了)(据说可能是wegame的锅。。。) 方法1: 命令行窗口cmd...
  • 出现这个报错原因就是开机时默认启动加载机械硬盘了,可以简单理解为没有正确识别系统主分区导致的。然而Windows系统默认安装在固态硬盘里面的,所以我们需要手动修改开机系统配置信息。 一、进入系统Main界面 点击...
  • 详细描述:使用U盘安装工具(优启通)在固态硬盘安装win10后,电脑开机显示恢复(你的电脑\设备需要修复),错误代码0xc0000225解决方法:格式化固态硬盘SSD的所有盘,并对SSD进行重新快速分区,然后使用win10原版...
  • 最近有用户反映电脑无法正常启动,一开机就自动进入bios设置界面,面对这种情况只能束手无策。那么,电脑一开机就进入到bios设置界面怎么办?下面快启动小编带大家来解决这个问题。  原因分析:  一开机直接...
  • 目录 一、问题描述 二、问题原因 三、问题解决 一、问题描述  1.今天安装了Office之后发现开机每次...找了半天之后发现是信任中心里面加载了一个启动组件导致每次都开机自启,所以关闭了就好 三、问题解决 ...
  • Win10开机提示自动修复失败无限死循环的一种可能的解决方法 今天电脑上想装一个以前的老游戏,装完之后提示我要开启管理员模式安装一个安全启动的软件,结果这个软件没装成,电脑直接就关机了,然后重启之后就开始...
  • 写在前面:前两天为了做人工智能的作业,给自己和室友装了...完美解决(***华硕联想***)安装deepin系统因NVIDIA显卡造成开机卡在logo界面以及进入桌面鼠标一直转圈等问题deepin开机卡在logo登录界面(解决机型:华...
  • 比如文件域名配置服务器,电脑重启后经常要去运行这个tomcat的start脚本手动启动这个tomcat,所以有时候就很烦,然后找了一个办法摆脱这种烦恼:就是把tomcat配置为本地的服务,然后设置为开机自启动就完美解决了,...
  • 1.系统本来开机特别快,显示是7秒开机,但是内存在开机后占用会很高。C盘占用大。 2.首先进行内存测试 控制面板-》管理工具-》windows内存诊断。完毕重启,直接开机30多秒,内存降低到25%。C盘占用降低2G。 3....
1 2 3 4 5 ... 20
收藏数 455,080
精华内容 182,032
关键字:

开机