Files
local_machine/docs/old_mac/BLUETOOTH_FILE_TRANSFER.md

7.2 KiB
Raw Permalink Blame History

Передача файлов Mac → Fedora (Bluetooth)

Откуда: этот Mac (Apple Silicon / основной)
Куда: MacBook Pro Intel с Fedora 43 (устройство Bluetooth: fedora, 60:FB:42:7D:2D:66)
Проверено: 2026-06-16

Связанные документы: README.md, RUNBOOK.md (WiFi BCM4322).


1. Быстрый путь (канон)

Шаг 1 — Fedora: включить приём до отправки

Blueman (иконка Bluetooth в трее) → «Принять файл» / Receive a File.

Должен появиться диалог «Ожидание входящего файла…».
Без этого Mac отправит файл, но на Fedora ничего не произойдёт — диалога не будет.

Шаг 2 — Mac: отправить

# delivery-архив Wi-Fi fix (по умолчанию)
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh

# любой другой файл
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh /path/to/file.tar.gz

В окне Bluetooth File Exchange выбрать fedoraSend / Отправить.

Шаг 3 — Fedora: проверить

Файл обычно в ~/Downloads или ~/Bluetooth:

ls -la ~/Downloads/

2. RCA: почему «отправилось», а на Fedora тишина

Что видели Причина
AppleScript пишет «send выполнена» macOS не запускает OBEX-приём на Linux автоматически
Окно на Mac открылось, Fedora молчит На Fedora не был включён «Принять файл»
bnep0 / PAN не связан с файлами Передача файлов — OBEX, не PAN
Устройство paired, но не Connected На Fedora: Bluetooth on, Trust Mac, оставить в зоне видимости

Правило: сначала приём на Fedora, потом отправка с Mac.


3. Предварительные условия

Сопряжение (один раз)

Fedora:

bluetoothctl
power on
agent on
default-agent
scan on
# найти Mac по имени, затем:
pair <MAC_ЭТОГО_MAC>
trust <MAC_ЭТОГО_MAC>

Mac: Системные настройки → Bluetooth → подтвердить сопряжение.

Перед каждой передачей

Mac — fedora в Connected:

system_profiler SPBluetoothDataType | grep -A6 "Connected:"
# должно быть: fedora (60:FB:42:7D:2D:66)

Fedora — Blueman установлен:

sudo dnf install blueman bluez-obexd
blueman-applet &

4. Подробно: Fedora (приём)

Способ A — Blueman GUI (рекомендуется)

  1. Иконка Bluetooth в трее (Blueman).
  2. Принять файл / Receive a File.
  3. Ждать диалог «Ожидание входящего файла…».
  4. Не закрывать до завершения передачи.

Способ B — скрипт-подсказка

Если скрипт уже есть на Fedora (после первой передачи или скопирован вручную):

bash prepare-receive-fedora.sh

Скрипт напомнит про Blueman и будет ждать файл в ~/Downloads.
Сам по себе не заменяет пункт «Принять файл» в Blueman (без obexpushd).

Куда попадает файл

Среда Путь
GNOME + Blueman ~/Downloads
KDE ~/Downloads или ~/Bluetooth
obexpushd каталог из -p

5. Подробно: Mac (отправка)

Способ A — скрипт (рекомендуется)

# Wi-Fi fix archive (готовый)
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh

# произвольный файл
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh ~/Desktop/myfile.tar.gz

# другое имя BT-устройства (если не «fedora»)
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh myfile.zip my-fedora

Скрипт проверяет, что fedora в Connected, и открывает Bluetooth File Exchange.

Способ B — вручную (без скрипта)

  1. Finder → файл → ПКМ → ПоделитьсяBluetooth
    или открыть /System/Applications/Utilities/Bluetooth File Exchange.app
  2. Перетащить файл в окно / File → Send File…
  3. Выбрать fedoraSend

Способ C — из терминала (то же GUI)

open -a "Bluetooth File Exchange" /path/to/file.tar.gz

Дальше вручную выбрать fedoraSend.


6. Что отправлять (WiFi fix)

Готовый архив для Fedora:

docs/old_mac/deliverable/fedora-bcm4322-wifi-fix.tar.gz

Пересобрать:

bash ~/code/local_machine/docs/old_mac/scripts/build-delivery-archive.sh

После приёма на Fedora:

cd ~/Downloads
tar xzf fedora-bcm4322-wifi-fix.tar.gz
cd fedora-bcm4322-wifi-fix
sudo bash install-bcm4322-firmware-fedora.sh
sudo reboot

7. Диагностика

Mac

system_profiler SPBluetoothDataType | grep -A8 "Connected:"
pgrep -lf "Bluetooth File Exchange"

Fedora

bluetoothctl devices
bluetoothctl info 60:FB:42:7D:2D:66   # MAC этого Mac — подставить свой
systemctl --user status obex
journalctl -b -u bluetooth | tail -30
ls -la ~/Downloads/ ~/Bluetooth/ 2>/dev/null

Типичные ошибки

Симптом Действие
Нет диалога приёма на Fedora Blueman → Принять файл до Send на Mac
«fedora не в Connected» на Mac Fedora: BT on, Trust, не спать
Передача оборвалась Файл < 50 MB надёжнее; повторить с шага 1
Blueman нет в трее blueman-applet &
obex не стартует sudo dnf install bluez-obexd blueman

8. Альтернативы Bluetooth

Если BT-файлы не идут:

Способ Когда
USB-флешка Самый надёжный offline
USB tether телефон → Fedora, scp с Mac в локалку Если есть общая сеть
Телефон как посредник Mac → телефон → Fedora (USB/BT)

9. Порядок действий (шпаргалка)

[FEDORA]  Blueman → Принять файл → «Ожидание…»
[MAC]     bash …/send-to-fedora-bluetooth.sh
[MAC]     Bluetooth File Exchange → fedora → Send
[FEDORA]  Файл в ~/Downloads
[FEDORA]  tar xzf … && sudo bash install-….sh

docs/old_mac — local_machine