首先接前文: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 文件在每个新终端打开时云运行一次)会要求输入一次密码。
如何让ubuntu在开机启动时执行你的sudo(root)命令?
方法一:
在 .bashrc 文件中按你原来的命令改写:
sudo chown usrname -R /dev/kvm //原命令
echo password | sudo -S chown usrname -R /dev/kvm //改写
注:这里password是密码,参数-S专门为执行sudo命令的时候要输入密码而准备的,表示标准输入。
当然这种方法是极不好的,直接把密码写入了 .bashrc 文件中。而且虽然不用输入密码,但是每次终端会有输出符的残留(可能有办法去掉,太懒~~),所以不推荐使用。
方法二:
需要开机执行的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命令实现开机自动执行了。