ubuntu开机执行脚本
㈠ 【tips】Ubuntu 两种开机自启动程序方式
个人制档链作的程序可以添加到开机自启动项中,简便一些流程,以下列出两种方式
方式一
卜蠢雹 第一种方式比较简单,通过Ubuntu 自带的Startup Applications即可添加,只要选中路径下的可执行文件即可。
方式二
通过Shell脚本+rc.local实现
step 01 创建一个脚本文件,比如起名为run_start.sh
step 02 修改rc.local文件,在exit 0之前添加执行脚本文件的命令
这两种方式,都会在开机时启动相应的程序。
当然,还有很多其他的启动三方程序型帆的方式,目前没有一一尝试,仅举两例。
㈡ Ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本
ubuntu-18.04不能像ubuntu14一样通过编辑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
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
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
5、给rc.local加上权限
sudo chmod +x /etc/rc.local
6、启用服务
sudo systemctl enable rc-local
7、启动服务并检查状态
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
8、重启并检查test.log文件
cat /usr/local/test.log
㈢ Ubuntu 设置程序双击启动和sh脚本开机自启动的另一种方法
系统 : Ubuntu16.04 LTS
在ubuntu下面开发的敬升Qt程序,进行动态发布之后有两个问题:
在home中搜索Terminal,找到后拖到桌面上。
在Terminal图标上邮件——Properties,然后在Command那一栏中填入以下指令:
例如:
还可以顺便给它换个孙枯图标,点击哪个图标就可以更换了,支持png格式图片,可以去 阿里巴巴矢量图库则稿洞 找一个.
然后关掉窗口,双击图标就可以运行脚本了。记得提前赋予脚本可执行权限。
之前一篇的自启动方法有点问题,下面的方法实测没有问题。
在home搜索: start
打开它:
点击add,中间那一栏填上面的那个指令,另外两栏随便填:
保存就可以了。
重启电脑,就会自动运行,不能运行来找我,我帮你再网络网络……嘿嘿嘿
㈣ Linux Ubuntu 20.04 —添加开机启动(服务/脚本)
本文章向大家介绍Linux Ubuntu 20.04 —添加开机启动(服务/脚本),主要包括Linux Ubuntu 20.04 —添加开机启动(服务/脚本)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
系统启动时需要加载的配置文件
一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)
二、自己写一个shell脚本
将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本。
三、通过chkconfig命令设置
四、自定义服务文件,添加到系统服务,通过Systemctl管理
1.写服务文件:如nginx.service、redis.service、supervisord.service
2.文件保存在目录下:以754的权限。目录路径:/usr/lib/systemd/system。如上面的supervisord.service文件放在这个目录下面。
3.设置开机自启动(任意目录下执行)。如果执行启动命令报错,则执行:systemctl daemon-reload
4.其他命令
5.服务文件示例:
㈤ Ubuntu Desktop下自动启动终端并运行脚本
1.进入桌面后按 Alt + F2 组合键,输入 gnome-session-properties 并回车
2.点击 添加 在command栏里输入我们要添加的程序
gnome-terminal -x bash -c "/home/alex/test.sh"
然后点击 保存 --> 关闭
3.重启测试
如果想要执行时有root权限
1. /etc/sudoers 添加权限外
如普通用户链帆名为 alex 则将下列内容写入上文件
alex ALL=(ALL:ALL)NOPASSWD:ALL
2.设置 ASK_PASS 使用 sudo -A script.sh
①同目录下建立密码读取文件 .pw ,输入以下内容并添加可执行权限
②在需要要执行的脚本中添加 export SUDO_ASKPASS=.pw
③在需要的指令前添加 sudo -A
via:
ubuntu开机自动打开终端并以root权含竖限执行程序
sudo 不用输入密码
PS:
Ubuntu下自谈唤大动启动终端并运行脚本或命令
Ubunut下几种设置脚本开机启动的方法
㈥ ubuntu 设置脚本开机自启动
Ubuntu 18.04的改动还是比较大,很多之前版本 Ubuntu上简单易用的一些功能都被砍了,比如设置 rc.local 自动启动脚本的功能。之前的 Ubuntu上只需要把想要自动启动的脚本放到 /etc/rc.local 这个文件,就可以开机启动了,但是 Ubuntu 18.04 这样做已经不行了,因为 rc-local.service 这个 systemd service 已经默认不启用了。所以我们所需要做的就是重新启用 rc-local.service,然后就可以像之前一样简单的设置开机自动启动脚本了。
这个配置文件默认在 /lib/systemd/system/ 这个目录下,我们只需将它拷贝到对应目录:
然后编辑这个文件:
在最后加上这些内容:
修改后的 rc-local.service 文件完整如下:
配置完成后,还需要创建一个 rc.local 文件:
在这个文件里写入我们想要开机自动启动的命令即可。
然后给这个文件加上执行权限:
至此,就已经完成了 rc.local 的配置,重启之后会自动启动对应想启动的脚本。
如果发现没有生效,可以尝试:
接着启动这个服务并查看它的状态
命令输出如下
可以看到rc.local中的脚本已经被正确执行了。
㈦ Ubuntu20.04开机运行自定义脚本
基于 Debian 的 Linux 系统默哗答认支持 rc-local.service 服务,这个服务主要用来在系统启动时运行用乱笑慧户自定义的脚本命令等。
要想使用 rc-local.service 服务在系统启动时运行用户自定义的脚本命令,首先需要在 /etc 目录下创建 rc.local 文件(若已创建则跳过创建)并修改可执行权限,然后设置该服务开机自启:
打开 /etc/rc.local 文件,往其中添加运行自定义脚本的命令即可。
【注】 /etc/rc.local 以及自定义脚本中都不能使用系统变量(比如 $HOME ,原因在于其执行自定义脚本时并没有继承系升雀统变量)。
此时会显示开机自启执行脚本的输出结果。
㈧ ubuntu开机和登陆后自动运行哪些脚本程序
1.开机启动时自动运行程序
Linux 加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local 文件(该文件通常是系统最后启动枯顷戚的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。
开机后还要自动运行很多服务,如mysql,memcache等。
2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊没陵文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。 因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
注意不是自动运行.bashrc脚本,而是.profile脚本。
可以看看源码.profile:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
,.. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin"乎或 ] ; then
PATH="$HOME/bin:$PATH"
fi
可以看出,我们平时使用的.bashrc文件,仅仅是被.profile脚本加载的。
所以很多同学默认是zsh会导致纯粹按照某些文章指示编写.bashrc脚本的环境变量不起作用,比如使用rvm的。
3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出登录时自动执行 “tar” 命令备份 *.c 文件。
4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为“00 9 23 Jan * HappyBirthday”,运行“crontab cronFile”命令后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“*”表示不管当天是星期几)。
因为.bashrc或者说.profile文件是在登录时才执行的,如果不登陆能执行么,或者说如果要运行服务怎么办,此时并没有某个用户登陆,也就麽有相应的环境变量了。
比如启动rails的服务的www用户。
使用sudo命令的参数-i
查看manue:
-i [command]
The -i ( simulate initial login ) option runs the shell specified by the password database entry of the target user as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. If a command isspecified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. The security policy shall initialize the environment to a minimal set of variables, similar to what is present when a user logs in. The Command Environment section in the sudoers(5) manual documents how the -i option affects the environment in which a command is run when the sudoers policy is in use.