archlinux在命令行模式下开机自动登陆
$sudo mkdir /etc/systemd/system/getty@tty1.service.d 新建一个目录
用命令在新目录下建立一个autologin.conf文件,并加入如下内容:
$sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf
并加入如下内容:
[Service]ExecStart=ExecStart=-/usr/bin/agetty --autologin archie --noclear %I 38400 linux
archie就是要自动登陆的用户名。
###开机自动执行一条命令
在文件夹/usr/lib/systemd/system/里面新建一个文件example.service
内容为:
[Unit]
Description=example
[Service]
Type=oneshot
ExecStart=/path/to/scriptfile/example.sh
[Install]
WantedBy=multi-user.target
然后设置此服务开机启动
sudo systemctl enable example.service
此方法的好处是:
有以后需要修改命令或者添加什么命令只用修改/path/to/scriptfile/example.sh就可以
然后自动执行程序,我用的是上面英文资料中的方法。先新建了一个文件 .bash_profile,放在(/root);;;;/home/bananapi下,然后把命令放进去,就是
有一些教程说,应该把命令添加到文件/home/bananapi/bashrc下(这里的 .bashrc是隐藏文件,要用 ls -a 才能看到,其实新建的 .bash_profile也是隐藏文件,也是要用 ls -a 才能看到),但是我尝试了把命令添加到bashrc里,实际上是不行的。后来请教ryad,才知道问题在于:.bashrc是用于交互式不需要登录的执行脚本,而 .bash_profile是登录进去之后的执行脚本,因为我们已经登录进去了,所以要执行.bash_profile文件。
最终,还是要把命令写入到 .bash_profile,并以bananapi身份登录,才能开机自动执行命令,打开应用。
[Unit]
Description=xiyoulibapi
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/node.js/pid
ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www
ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www
ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www
PrivateTmp=true
[Install]
WantedBy=multi-user.target
更多推荐
所有评论(0)