您的位置:首页 > 运维架构 > Linux

archlinux在命令行模式下开机自动登陆

2015-12-19 21:43 579 查看
$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/scripts/retroarch_framebuffer_start.sh 
注意要设定自动登录的身份是BananaPi,然后reboot,就可以看到开机先自动登录,然后就自动执行上面那句命令了。

有一些教程说,应该把命令添加到文件/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: