Автоматический запуск Маруси после перезапуска сервера

Отлично, давай создадим единый systemd-сервис, который:

  1. Включает Bluetooth.
  2. Подключает колонку.
  3. Загружает модули PulseAudio.
  4. Устанавливает Bluetooth-устройство как вывод по умолчанию (sink).

🔧 Шаг 1: Скрипт для настройки PulseAudio и Bluetooth

Создаём единый скрипт:

nano /home/kvictor/setup-bluetooth-audio.sh

Содержимое:

#!/bin/bash

# Дать системе и PulseAudio время запуститься

sleep 20

# Включаем Bluetooth-адаптер

bluetoothctl power on

bluetoothctl agent on

bluetoothctl default-agent

# Подключаемся к колонке

bluetoothctl connect D4:35:38:33:0D:B9

# Загружаем модули PulseAudio (на случай, если не загружены)

pactl load-module module-bluetooth-policy || true

pactl load-module module-bluez5-discover || true

# Ждём, пока sink появится

sleep 5

# Устанавливаем Bluetooth как устройство по умолчанию

pactl set-default-sink bluez_sink.D4_35_38_33_0D_B9.a2dp_sink || true

Замените D4:35:38:33:0D:B9 на MAC вашей колонки, если отличается.

Сохраняем и делаем исполняемым:

chmod +x /home/kvictor/setup-bluetooth-audio.sh

🧩 Шаг 2: Создание сервиса в user-режим

Создаём директорию для user-сервисов:

mkdir -p ~/.config/systemd/user

Создаём юнит:

nano ~/.config/systemd/user/bluetooth-audio.service

📝 Содержимое:

[Unit] 
Description=Настройка Bluetooth-аудио для PulseAudio (user mode) 
After=sound.target bluetooth.target 
Requires=bluetooth.target 
[Service]
 Type=simple 
ExecStart=/home/kvictor/setup-bluetooth-audio.sh 
[Install] 
WantedBy=default.target

 

✅ Шаг 3: Активация сервиса

systemctl --user daemon-reload
systemctl --user enable bluetooth-audio.service
systemctl --user start bluetooth-audio.service

📋 Проверка

systemctl --user status bluetooth-audio.service
Также проверьте:

pactl list short sinks
Устройство должно быть подключено и установлено как default.

 

Comments powered by CComment