应用开机自启动
1. 创建启动脚本
首先,你需要一个脚本来启动你的应用程序。使用你喜欢的文本编辑器创建一个新的脚本文件,例如start_apps.sh:
sudo nano /home/your_username/start_apps.sh
在脚本中,添加命令。确保这些命令在后台运行,以避免阻塞脚本的执行:
#!/bin/bash
#每次开机往文本里写入信息
date>>/home/jx_nong/ok/output.txt
hostname>>/home/jx_nong/ok/output.txt
#启动数据库
sudo service mysql start
#配置文件共享功能,先转到共享文件夹所在目录,确定在/home/userName已经创建好了share_dir,并在自己电脑上创建了share文件夹
cd /home/userName
sudo mount -t vboxsf share share_dir
设置执行权限
chmod +x /home/your_username/start_apps.sh
保存并关闭文件。确保将your_username替换为你的实际用户名,并且脚本中的路径是正确的。
2 . 创建systemd服务文件
接下来,你需要创建一个systemd服务文件来管理你的脚本。使用文本编辑器创建文件:
sudo nano /etc/systemd/system/start-apps.service
然后,将以下内容粘贴到文件中:
ini
[Unit]
Description=Start Applications on Boot
After=display-manager.service # 确保在显示管理器之后启动
[Service]
Type=simple
User=your_username # 使用你的用户名
ExecStart=/home/your_username/start_apps.sh
Restart=on-failure
[Install]
WantedBy=graphical.target
确保将your_username替换为你的实际用户名,并且ExecStart的路径指向你的启动脚本。
3 . 启用并启动服务
现在,你需要通知systemd你的新服务,并启用它在启动时自动运行:
sudo systemctl daemon-reload
sudo systemctl enable start-apps.service
服务现在已经被启用,并且会在下次系统启动时自动运行。如果你想立即启动服务来测试它,可以运行:
sudo systemctl start start-apps.service
4 . 检查服务状态
你可以使用以下命令来检查服务的状态:
sudo systemctl status start-apps.service
如果服务正在运行,并且你的应用程序已经启动,那么一切就设置好了,重启虚拟机会自动执行脚本里面的命令。