Ubuntu18.04开机启动sudo命令

时间:2021-09-04 18:43:44

首先接前文:ubuntu18.04 下启动Android Studio报错KVM is required to run this AVD. /dev/kvm device: permission denied.

在安装好Android Studio后遇到了改变文件操作权限的问题(使用sudo chown)。当时把这条命令加入了 .bashrc 文件想着能够自启动的时候保证这个文件的权限(实则不用,sudo chown改变一次即可)。

但因此我发现了新的问题。由于在 .bashrc 文件中写入了sudo命令,每次打开一个新终端时( .bashrc 文件在每个新终端打开时云运行一次)会要求输入一次密码。

Ubuntu18.04开机启动sudo命令

如何让ubuntu在开机启动时执行你的sudo(root)命令?

方法一:

在 .bashrc 文件中按你原来的命令改写:

sudo chown usrname -R /dev/kvm  //原命令
echo password | sudo -S chown usrname -R /dev/kvm //改写

注:这里password是密码,参数-S专门为执行sudo命令的时候要输入密码而准备的,表示标准输入。

当然这种方法是极不好的,直接把密码写入了 .bashrc 文件中。而且虽然不用输入密码,但是每次终端会有输出符的残留(可能有办法去掉,太懒~~),所以不推荐使用。

Ubuntu18.04开机启动sudo命令

方法二:

需要开机执行的sudo命令可以写在/etc/rc.local中,因为/etc/rc.local是以root身份去执行的。
系统在启动时会先调用/etc/init.d/rc.local,在/etc/init.d/rc.local脚本中再调用/etc/rc.local。(两者之间的关系自行baidu)
可见,首先要必须先保证/etc/rc.local对root具有可执行权限。

通过sudo chmod u+x /etc/rc.local后,即可往/etc/rc.local中添加sudo命令实现开机自动执行了。