ubuntu添加启动程序

ubuntu添加开机自动启动程序方法
一、开机启动时自动运行程序
1、Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程
   etc目录有多个rc目录如下:
   rc0.d/    rc2.d/    rc4.d/    rc6.d/    rcS.d/
   rc1.d/    rc3.d/    rc5.d/    rc.local
   其中以d结尾的目录,里面存放各种软连接文件,基本上都是连接到/etc/init.d/ 里面的可执行程序 比如常用的xinetd reboot ufw 等系统自带的后台服务器进程和安装的进程
nfs-kernel-server ssh 等
  
2、 启动过程是以rc0.d最先启动,最后启动的脚本/etc/rc.d/rc.local 文件
   添加启动程序测试 vim /etc/rc.local  , 在exit 0 前面加入如下测试命令
   echo "test start" > /opt/teststart
 
3、重启系统,待系统完全启动之后,cat /opt/teststart  会看到test start输出;其它的可执行文件同样按照这种方法添加即可。
 
 
二、 登录时自动运行程序
 
   用户登录时,bash先自动执行系统管理员建立的全局登录script :
     /ect/profile
   然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:
     /.bash_profile、
     /.bash_login、 
     /.profile,
   但只执行最先找到的一个。因此,只需根据实际需要在上述文件中加入命令就可以实
   现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
 
三、退出登录时自动运行程序
   退出登录时,bash自动执行个人的退出登录脚本
     /.bash_logout。
   例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出
   登录时自动执行 “tar” 命令备份 *.c 文件。  
 
四、gnome-terminal命令
1、ubuntu 下打开一个终端的默认快捷方式(ctrl+alt+t),对应的命令就是执行gnome-terminal命令
 
2、gnome-terminal 命令相关描述
直接在su方式下切换到root用户下输入这个命令,拿不到root用户真正的环境变量,会导致创建失败,执行出现异常
 
3、gnome-terminal  命令参数
A、直接执行gnome-terminal 
    新创建出来的终端是当前终端 的一个子进程,父进程会被阻塞住,(可以用gnome-terminal  & 后台运行查看pid号)
 
B、gnome-terminal --maximize
打开新的终端之后最大化,脱离当前终端
 
C、gnome-terminal --full-screen
打开新的终端之后全屏显示,脱离当前终端
 
D、普通用户打开之后切换到超级用户的脚本命令
sudo gnome-terminal --maximize
E、全屏打开
gnome-terminal --full-screen
 
F、打开一个终端切换执行一个新的进程
gnome-terminal -e 'bash -c "ls; exec bash"'
 
 
五、系统信息查看命令
 
gnome-system-monitor
 
 
六、开机添加启动创建一个终端
1、linux启动最后的一个脚本是rc.local,由于这个配置文件是由root用户执行的,如果直接在这个脚本添加创建终端的命令gnome-terminal & 肯定不行
 
2、开机添加创建终端的命令在普通用户脚本就可以
vim /home/user/.profile 在最后一行
加入gnome-terminal &
重启即可 (注:创建出来的终端是普通用户的权限)
 
 
七、ubuntu开机以root方式登录
1、设置root密码
sudo passwd root

2、切换到root用户
sudo - root

3、想要在登录界面使用root身份登录,可编辑/etc/lightdm/目录下的lightdm.conf文件,如没有此文件,直接创建
vim /etc/lightdm/lightdm.conf
文件内容最终为:
[SeatDefaults]  
autologin-user=root #启动后以root身份自动登录
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true  #手工输入登陆系统的用户名和密码
allow-guest=false #禁用guest用户
4、重新启动,开机直接是以root方式登录
修改完之后执行reboot命令重启Ubuntu生效
 
 
八、最终目标,设置开机自动创建一个终端,同时只能执行一次
1、启动脚本如下  (/home/yue :是我普通用户的目录)
vim /home/yue/start.sh

START_DIR=/tmp/lock
START_FILE=$START_DIR/lockfile.net
if [ "$1" = "rm_file" ]; then
        rm $START_DIR -rf
        echo "rm  start  lock dir"
        exit 0
elif [ "$1" = "start_test" ]; then
        if [ -f "$START_FILE" ]; then
                echo "exist lock file"
                exit 0
        else
                mkdir $START_DIR
                touch $START_FILE
                echo "start test "
        fi
fi

#TAG_DIR=/home/yue
#TAG_SERVER=$TAG_DIR/client
#echo $TAG_SERVER

gnome-terminal -e 'bash -c "/home/yue/test; exec bash"' &

2、编写测试程序  (/home/yue :是我普通用户的目录)
cd /home/yue
vim test.c
 
#include <stdio.h>
int main(void)
{
    printf("hello world\n");
    return 0;
}
gcc test.c -o test
 
3、添加到开机启动选项里面
A、vim /etc/init.d/rcS  (根据前面所说的启动顺序,可以去/etc/ 下查看rc0.d里面的连接脚本的关系知道开机最先启动的脚本是rcS)
/home/yue/start.sh rm_file  #删除上一次运行测试脚本生成的文件锁
 
B、vim /root/.profile (root 用户启动创建终端并运行测试程序)
/home/yue/start.sh start_test
 
4、开机重新运行OK
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值