Ви вмикаєте Bluetooth‑навушники, а GNOME інколи не під’єднує їх сам? Давайте зробимо автопідключення надійним. Я покажу найпростіший спосіб через маленький bash‑скрипт (bash‑скрипт — текстовий файл із командами для оболонки Bash) і таймер systemd (systemd — система, що керує службами та завданнями в Linux; таймер systemd — це планувальник запуску завдань за розкладом). Також буде зручний GUI‑спосіб для тих, хто любить «налаштувати й забути».
Найпростіший спосіб: скрипт + systemd‑таймер
Ідея проста: один раз з’єднуємо й «довіряємо» навушники, дізнаємось їх MAC‑адресу (унікальний ідентифікатор пристрою, виглядає як 11:22:33:AA:BB:CC), а далі таймер час від часу пробує під’єднати їх, коли ви їх увімкнете.
Крок 1. Встановіть потрібні пакети
Пакет — це встановлюваний набір файлів програми з репозиторію (онлайн‑сховища програм). Нам знадобиться інструмент bluetoothctl із пакета bluez. Відкрийте термінал (термінал — вікно, де ви вводите команди) і виконайте:
# Ubuntu / Linux Mint / Debian (apt — менеджер пакетів для цих дистрибутивів)
sudo apt update
sudo apt install bluez blueman pavucontrol
# Fedora (dnf — менеджер пакетів у Fedora)
sudo dnf install bluez blueman pavucontrol
sudo — команда, що запускає наступну команду від імені адміністратора.
Крок 2. Спершу один раз спаріть навушники
Відкрийте Налаштування → Bluetooth, увімкніть Bluetooth і під’єднайте навушники. Після першого парування вони з’являться у списку «Paired Devices».
Перевіримо через термінал і заберемо їх MAC‑адресу:
bluetoothctl paired-devices
# Приклад рядка:
# Device 11:22:33:AA:BB:CC My Headphones
Крок 3. Створіть скрипт автопідключення
Створимо простий скрипт, що вмикає адаптер (якщо вимкнено), «довіряє» навушникам і під’єднує їх, якщо вони увімкнені поруч.
mkdir -p ~/.local/bin
nano ~/.local/bin/btautoconnect.sh
Вставте цей вміст (замініть MAC на свій):
#!/usr/bin/env bash
set -euo pipefail
MAC="11:22:33:AA:BB:CC" # ваші навушники
# Увімкнути Bluetooth-адаптер, якщо вимкнено
if ! bluetoothctl show | grep -q "Powered: yes"; then
bluetoothctl power on || true
fi
# Позначити як довірений пристрій (щоб система дозволяла автопідключення)
bluetoothctl trust "$MAC" || true
# Якщо ще не під’єднано — під’єднати з кількома спробами
if ! bluetoothctl info "$MAC" | grep -q "Connected: yes"; then
for i in {1..5}; do
bluetoothctl connect "$MAC" && exit 0
sleep 5
done
fi
Зробіть файл виконуваним (права доступу — дозволи на читання/запис/виконання файлу):
chmod +x ~/.local/bin/btautoconnect.sh
Перевірте вручну, увімкнувши навушники:
~/.local/bin/btautoconnect.sh
Крок 4. Запуск автоматично через systemd‑таймер (користувацький)
Зробимо невелику «службу» (юніт) systemd, що викликає скрипт, і таймер, який періодично його запускає після входу в систему.
mkdir -p ~/.config/systemd/user
# Служба (oneshot — виконується і завершується)
nano ~/.config/systemd/user/bt-autoconnect.service
Вставте:
[Unit]
Description=Auto-connect Bluetooth headphones
[Service]
Type=oneshot
ExecStart=%h/.local/bin/btautoconnect.sh
Тепер таймер:
nano ~/.config/systemd/user/bt-autoconnect.timer
Вставте:
[Unit]
Description=Run bt-autoconnect periodically for user
[Timer]
OnBootSec=15s
OnUnitActiveSec=30s
Persistent=true
Unit=bt-autoconnect.service
[Install]
WantedBy=default.target
Увімкніть і запустіть таймер:
systemctl --user daemon-reload
systemctl --user enable --now bt-autoconnect.timer
systemctl --user status bt-autoconnect.timer
Готово: щойно ви увімкнете навушники, таймер упродовж сесії GNOME намагатиметься їх під’єднати. Якщо вам потрібно рідше/частіше — змініть OnUnitActiveSec.
Альтернативні способи
- Через cron: можна додати запуск скрипта в crontab з @reboot і періодичним інтервалом. Але cron не «знає» про стани сну/відновлення так добре, як systemd‑таймери, тому я рекомендую саме systemd.
- Скрипт при виході зі сну: існує директорія /lib/systemd/system-sleep/ для скриптів, що виконуються на suspend/resume (потребує sudo). Це трохи складніше — залишу як просунутий варіант.
GUI‑спосіб: Blueman (без скриптів)
Якщо ви хочете налаштувати все у вікнах, підійде Blueman — це менеджер Bluetooth для GTK. Він має плагін Auto-connect.
- Встановіть Blueman (ми вже це зробили вище) і відкрийте «Blueman Manager».
- Знайдіть ваші навушники, натисніть «Pair», потім «Trust» (щоб система дозволяла автопідключення).
- Відкрийте меню «Plugins» і увімкніть «AutoConnect» (якщо доступно), у налаштуваннях вкажіть автопідключення для профілів «Audio Sink» (A2DP).
- Додатково запустіть «blueman-applet» (піктограма в треї) і додайте його в «Автозапуск», щоб Blueman був активний після входу в систему.
У GNOME іноді трей прихований — переконайтесь, що у вас встановлений розширювач індикаторів (наприклад, AppIndicator/KStatusNotifier) або використовуйте меню верхньої панелі.
FAQ
Команда «bluetoothctl: command not found»
Встановіть пакет bluez: apt: sudo apt install bluez; або dnf: sudo dnf install bluez.
«Failed to set power on: org.bluez.Error...», адаптер не вмикається
Іноді потрібні системні налаштування. Відкрийте файл конфігурації (попросять пароль):
sudo nano /etc/bluetooth/main.conf
Зніміть коментар і встановіть AutoEnable=true, збережіть і перезапустіть службу Bluetooth (демон — фоновий процес):
sudo systemctl restart bluetooth
Навушники під’єднані, але звуку немає
Відкрийте Налаштування → Звук і виберіть ваші навушники як «Вивід». За потреби перемкніть профіль на «Висока якість (A2DP)». Або відкрийте pavucontrol і оберіть профіль на вкладці «Configuration».
Таймер не запускається
- Перевірте статус:
systemctl --user status bt-autoconnect.timer. - Заново перезавантажте юніти:
systemctl --user daemon-reload, потімenable --now. - Таймери користувача працюють під час вашої сесії. Щоб вони діяли навіть без входу, адміністратор може увімкнути «linger»:
sudo loginctl enable-linger $USER.
«Nothing to connect» або «Device not available»
Навушники можуть бути вимкнені або далеко. У моєму скрипті є кілька спроб під’єднання — просто дочекайтесь 20–30 секунд після увімкнення навушників.
Хочу автопідключати кілька пар навушників
Додайте їх MAC‑адреси в масив і зробіть цикл:
DEVICES=("11:22:33:AA:BB:CC" "44:55:66:DD:EE:FF")
for MAC in "${DEVICES[@]}"; do
bluetoothctl trust "$MAC" || true
bluetoothctl connect "$MAC" || true
done
Порада від Kernelka
Щоб звук одразу був «соковитим» у музиці, після першого під’єднання вручну в Налаштування → Звук оберіть профіль A2DP для навушників — тоді надалі GNOME пам’ятатиме цей вибір. Якщо ж часто користуєтесь мікрофоном у дзвінках, залиште профіль «Headset» і перемикайте за потреби. Маленький компроміс заради зручності 🙂
Підсумок
- Поставили необхідні пакети й спарили навушники.
- Створили простий bash‑скрипт для під’єднання через bluetoothctl.
- Налаштували systemd‑таймер користувача для автоматичного запуску.
- Для любителів вікон є GUI‑варіант через Blueman і його AutoConnect.
- Розібрали часті помилки та як їх швидко виправити.
Тепер ваші Bluetooth‑навушники в GNOME під’єднуються самі — як тільки ви їх увімкнете. Зручно ж! ⚡