我正在尝试启用蓝牙服务,仅适用于 graphic.target,别名运行级别 5。
我在使用 Debian Jessie,它使用 systemd。
有人告诉我在 /etc/systemd/system/graphical.target.wants 目录中创建一个符号链接,但我还是有点迷茫。
我已经尝试使用 update-rc.d,但没有作用。
在 /etc/systemd/system 中,有一个名为 bluetooth.service.wants 的文件夹,其中有一个 bluetooth.service 文件,其中包含单元信息。
/etc/systemd/system 中还有另一个 .service 文件,它实际上是原始 bluetooth.service 的别名。谢谢
答案1
这个答案Unix.SE 上提供了有关如何创建自定义目标的良好概述。
显然,您无法轻易覆盖[Install]
systemd 单元的部分。它定义了哪个目标“需要”该单元。
~ # systemctl enable apcupsd
Created symlink /etc/systemd/system/multi-user.target.wants/apcupsd.service → /usr/lib/systemd/system/apcupsd.service.
~ # cat /usr/lib/systemd/system/apcupsd.service
[Unit]
Description=APC UPS Monitor
[Service]
ExecStart=/usr/bin/apcupsd -b
[Install]
WantedBy=multi-user.target
如您所见,启用单元(不仅仅是服务!)就像创建符号链接一样简单。现在,当 systemd 被要求启动时,multi-user.target
它也会启动apcupsd.service
。
因此,您首先需要找出bluetooth.service
的位置。我假设它位于/usr/lib/systemd/system/bluetooth.service
。然后您只需要:
~ # ln -s /usr/lib/systemd/system/bluetooth.service /etc/systemd/system/graphical.target.wants/bluetooth.service
如果该graphical.target.wants
目录不存在,则需要先创建它。