admin管理员组

文章数量:1542785

需求

需要在开机的时候打开一个程序,并且将程序运行的状态显示在终端上。

方案:使用gnome-session-properties添加开机自启动程序

1.alt+F2,输入gnome-session-properties
2、在command栏里输入我们要添加的程序:gnome-terminal -x bash -c "/home/wy/work/watch_dog/start_watchdog.sh"
关机重启,发现可以打开终端,程序也可以跑,但是程序里打开文件失败,原因是没有以root权限运行程序。我们手动运行程序加sudo需要输入密码,我们这里通过SUDO_ASKPASS进行自动输入密码。
3.创建密码文件_PWD_TEMP_,写入如下内容并添加可执行权限,将其放到/home/wy/work/watch_dog/:

#! /bin/bash
# add your ownpassword
echo  password

4.在start_watchdog.sh中添加如下代码
export SUDO_ASKPASS=./PWD_TEMP
5.在执行程序时,加上*sudo -A xxx*,此时不需要输入密码,程序也有了root权限。
如此完美解决需求,在机器启动登录后,会打开一个终端,然后在终端里自动以root权限运行程序。
注:当脚本和程序在一个目录下时,通过执行脚本来执行程序时会有路径的问题,可以通过在脚本里加cd dirname $0解决。

本文标签: 终端并以权限专题程序