Я пытаюсь включить службу Bluetooth, только для graphical.target, псевдоним runlevel 5.

Я на Debian, Джесси, он использует 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 ответ1

0

Этот ответ на Unix.SE предоставляет хороший обзор о том, как создать собственную цель.

По-видимому, вы не можете легко переопределить раздел [Install] системного блока. Он определяет, какая цель «захочет» юнит.

~ # 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 не существует, сначала нужно его создать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .