ubuntu17.04使用systemd设置开机启动

本文介绍如何在Ubuntu 16.04中使用systemd设置开机启动程序,包括创建配置文件、赋予执行权限及验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu从16.04开始不再使用initd管理系统,改用systemd。
然而systemd很难用,刚开始接触有点烦,改变太大,跟之前的完全不同。

吐槽完开始正题:
使用systemd设置开机启动
为了像以前一样,在/etc/rc.local中设置开机启动程序,需要以下几步:

1、systemd默认读取/etc/systemd/system下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。一般系统安装完/lib/systemd/system/下会有rc-local.service文件,即我们需要的配置文件。
链接过来:

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
cd /etc/systemd/system/
vim rc-local.service

rc-local.service内容:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

2、创建/etc/rc.local文件

touch /etc/rc.local

3、赋可执行权限

chmod 755 /etc/rc.local

4、编辑rc.local,添加需要开机启动的任务

#!/bin/bash

echo "test test " > /var/test_boot_up.log

5、执行reboot重启系统验证OK。

最后,说一下/etc/systemd/system/下的配置文件(XXXX.service),
其中有三个配置项,[Unit] / [Service] / [Install]
1) [Unit] 区块:启动顺序与依赖关系。
2) [Service] 区块:启动行为,如何启动,启动类型。
3) [Install] 区块,定义如何安装这个配置文件,即怎样做到开机启动。

<think>嗯,用户问的是Unity软件能否实现电脑开机启动。首先,我需要明确用户说的Unity软件指的是什么。通常Unity有两种可能,一个是游戏开发引擎Unity,另一个是Ubuntu的桌面环境Unity。不过Ubuntu的Unity已经在17.04之后不再默认使用,所以可能性较低,但也不能排除。用户可能指的是游戏引擎Unity,但问题涉及到开机启动,这可能与游戏开发中的某些需求有关,比如让某个Unity开发的程序在开机时自动运行。 接下来,我需要考虑不同的操作系统。Windows和macOS的设置方法不同,用户可能使用的是其中一种。如果是游戏引擎Unity,它本身不直接提供设置开机启动的功能,但开发者可以通过生成的应用程序结合系统设置来实现。而如果是Ubuntu的Unity桌面环境,用户可能想添加启动项,但需要具体步骤。 需要进一步确认用户的具体需求:是希望Unity编辑器本身开机启动,还是由Unity编译出来的应用程序开机启动。通常,用户更可能是指后者,即他们开发的应用程序需要开机启动。这种情况下,需要指导用户如何在对应的操作系统中设置启动项,比如Windows的任务计划程序或启动文件夹,macOS的登录项,Linux的systemd启动应用程序。 另外,用户可能没有明确说明操作系统,所以回答中需要覆盖常见系统的方法。同时,要确保步骤清晰,避免技术术语过多,让用户能够按照步骤操作。还可能需要注意权限问题,比如在Linux下需要修改systemd服务文件可能需要管理员权限。 最后,要提醒用户谨慎设置开机启动,避免影响系统性能,并建议仅在必要时使用。可能还需要检查是否有其他方法实现需求,比如应用程序内的功能,而不是依赖系统启动项。</think>Unity软件本身不具备直接设置开机启动的功能,但可以通过以下两种思路实现相关需求: 一、如果是希望Unity编辑器开机启动适用于开发者场景): 1. Windows系统: - 创建Unity快捷方式 - 将快捷方式放入启动文件夹(Win+R输入`shell:startup`) 2. macOS系统: - 打开`系统设置 > 通用 > 登录项` - 点击+号添加Unity应用 二、如果是希望Unity编译的应用程序开机自启: 1. Windows解决方案: ```csharp // 通过注册表实现(需要管理员权限) using Microsoft.Win32; RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); rk.SetValue("MyUnityApp", "\"" + Application.dataPath + "/MyApp.exe\""); ``` 2. macOS解决方案: ```bash # 创建plist启动文件 sudo nano /Library/LaunchAgents/com.myunityapp.plist # 添加以下内容 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.myunityapp</string> <key>ProgramArguments</key> <array> <string>/Applications/MyUnityApp.app/Contents/MacOS/MyU
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值