前言
我们在编写应用程序时往往会用到root权限启动应用程序,如果没有使用root权限的话,因为使用设备的权限太高,导致普通用户下程序难以正常运行。下面将介绍ubuntu上电以root权限自启动的方法。
一、上电即开启root权限
首先,编辑 etc/lightdm/lightdm.con文件,将原文件内容替换为以下内容
[Seat:*]
autologin-guest=false
autologin-user=root
autologin-user-timeout=0
greeter-session=lightdm-gtk-greeter
然后编辑/root/.profile文件,使用有管理员权限的用户(否则无法打开该文件)在命令行敲入
sudo gedit /root/.profile
将最后一行替换为如下内容
tty -s && mesg n || true
至此将系统改为root启动的方式已经实现,重启系统后就会看到用户已经变为root用户。
二、上电自启动
1.方式一
可以直接添加gnome-session-properties进行启动。
在终端中输入
gnome-session-properties
出现启动应用程序首选项
点击添加(Add),输入名称、命令和注释后,点击添加(save),完成设置。命令行代码格式为
gnome-terminal -- bash -c "sh /home/zrl/test.sh; exec bash"
test.sh(需自己创建编辑)为所用到的测试启动脚本。
最后关闭启动应用程序首选项,在终端中输入“reboot”,重启ubuntu系统,验证是否自动新建终端并执行test.sh脚本。
2.方式二
修改rc.local进行启动:
使用有管理员权限的用户在命令行敲入
sudo vi /etc/rc.local
将最后一行添加为如下内容
/home/zrl/test.sh &
注:在exit 0上面。
使用sudo chmod 777 /etc/rc.local 或 sudo chmod +x /etc/rc.local 修改该文件的权限。
其他
- SD卡挂载问题
开机启动在SD卡中创建文件考虑挂载时间,需加适当延时创建避免程序出现问题。 - SD卡修改挂载名称
(1)首先查看当前的所有分区信息
df -T
(2)卸载要修改名称的分区(sdb1对应你要卸载的分区)
sudo umount /dev/sdb1
(3)修改名称(2TB是要设置的新名字)
- 对于ntfs格式
sudo ntfslabel /dev/sdb1 2TB
- 对于ext2或ext3格式
sudo e2label /dev/sdb1 2TB
(4)error while loading shared libraries: lib/libACTS2201.so: cannot open shared 报错
将动态库libACTS2201.so 添加到 /lib中。