在网上找到了两种办法
第一个:使用命令行解决
在 /etc/rc.local下增加开机需要启动的脚本或待启动的程序
先用nano打开这个文件
键入命令:sudo nano /etc/rc.local
然后在exit0前面加入一下指令
# sudo mount /dev/sda1 /media/pi sudo samba restart
第一句是没有自动挂载硬盘才要写上,我只是出现无法自启动问题,所以只使用了第二句。
结果是重启和开机之后还是无法自启动samba服务;
第二种:在桌面模式下解决
在 /home/pi/.config 下创建一个文件夹,名称为 autostart ,并在该文件夹下创建一个 自定义.desktop 文件(文件名以 .desktop 结尾,前面可以自定义),文件内容如下:
[Desktop Entry] Name=AutoSamba Comment=Test Demo # Exec=sudo mount /dev/sad1 /media/pi Exec=sudo samba restart Icon=/home/pi/example.png Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true
注意:注释那句是硬盘没有自动挂载时使用
还有就是我自己的一个想法,最近在网上看到在树莓派上使用python脚本,让python脚本自启动。所以我的想法是,让python调用终端命令启动samba服务,再让python脚本自启动,这样也就实现了samba服务的(假假)自启动。
实现方法:
新建一个xxx.py文件(文件名自定义),内容如下:
import os
os.system("sudo systemctl restart smbd")
- 放在树莓派的/home/pi文件夹下
- 进入/home/pi/.config路径
- 找到autostart文件夹,没有就新建一个
- 在autostart新建一个xxxx.desktop后缀的文件(文件名自定义)
- 在文件中键入以下内容:
[Desktop Entry] Name=test Comment=Python Program Exec=python /home/pi/自定义文件名.py Icon=/home/pi/example.png Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true
其中,Name、Comment、Exec、Icon 分别代表启动项的名称、备注、图标(随便找个png图片)、调用的指令
重启树莓派之后就能自启动了。
后记:python脚本的原理就是利用python调用终端命令实现对samba服务的启动,而python脚本自启动的原理和第二种方法是一样的。



