238 lines
7.2 KiB
Markdown
238 lines
7.2 KiB
Markdown
# Передача файлов Mac → Fedora (Bluetooth)
|
||
|
||
**Откуда:** этот Mac (Apple Silicon / основной)
|
||
**Куда:** MacBook Pro Intel с Fedora 43 (устройство Bluetooth: **fedora**, `60:FB:42:7D:2D:66`)
|
||
**Проверено:** 2026-06-16
|
||
|
||
Связанные документы: [README.md](./README.md), [RUNBOOK.md](./RUNBOOK.md) (Wi‑Fi BCM4322).
|
||
|
||
---
|
||
|
||
## 1. Быстрый путь (канон)
|
||
|
||
### Шаг 1 — Fedora: включить приём **до** отправки
|
||
|
||
Blueman (иконка Bluetooth в трее) → **«Принять файл»** / **Receive a File**.
|
||
|
||
Должен появиться диалог **«Ожидание входящего файла…»**.
|
||
Без этого Mac отправит файл, но на Fedora **ничего не произойдёт** — диалога не будет.
|
||
|
||
### Шаг 2 — Mac: отправить
|
||
|
||
```bash
|
||
# 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** выбрать **fedora** → **Send** / **Отправить**.
|
||
|
||
### Шаг 3 — Fedora: проверить
|
||
|
||
Файл обычно в `~/Downloads` или `~/Bluetooth`:
|
||
|
||
```bash
|
||
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:**
|
||
|
||
```bash
|
||
bluetoothctl
|
||
power on
|
||
agent on
|
||
default-agent
|
||
scan on
|
||
# найти Mac по имени, затем:
|
||
pair <MAC_ЭТОГО_MAC>
|
||
trust <MAC_ЭТОГО_MAC>
|
||
```
|
||
|
||
**Mac:** Системные настройки → Bluetooth → подтвердить сопряжение.
|
||
|
||
### Перед каждой передачей
|
||
|
||
**Mac** — fedora в **Connected**:
|
||
|
||
```bash
|
||
system_profiler SPBluetoothDataType | grep -A6 "Connected:"
|
||
# должно быть: fedora (60:FB:42:7D:2D:66)
|
||
```
|
||
|
||
**Fedora** — Blueman установлен:
|
||
|
||
```bash
|
||
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
|
||
bash prepare-receive-fedora.sh
|
||
```
|
||
|
||
Скрипт напомнит про Blueman и будет ждать файл в `~/Downloads`.
|
||
Сам по себе **не заменяет** пункт «Принять файл» в Blueman (без `obexpushd`).
|
||
|
||
### Куда попадает файл
|
||
|
||
| Среда | Путь |
|
||
|-------|------|
|
||
| GNOME + Blueman | `~/Downloads` |
|
||
| KDE | `~/Downloads` или `~/Bluetooth` |
|
||
| obexpushd | каталог из `-p` |
|
||
|
||
---
|
||
|
||
## 5. Подробно: Mac (отправка)
|
||
|
||
### Способ A — скрипт (рекомендуется)
|
||
|
||
```bash
|
||
# 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. Выбрать **fedora** → **Send**
|
||
|
||
### Способ C — из терминала (то же GUI)
|
||
|
||
```bash
|
||
open -a "Bluetooth File Exchange" /path/to/file.tar.gz
|
||
```
|
||
|
||
Дальше вручную выбрать **fedora** → **Send**.
|
||
|
||
---
|
||
|
||
## 6. Что отправлять (Wi‑Fi fix)
|
||
|
||
Готовый архив для Fedora:
|
||
|
||
```text
|
||
docs/old_mac/deliverable/fedora-bcm4322-wifi-fix.tar.gz
|
||
```
|
||
|
||
Пересобрать:
|
||
|
||
```bash
|
||
bash ~/code/local_machine/docs/old_mac/scripts/build-delivery-archive.sh
|
||
```
|
||
|
||
После приёма на Fedora:
|
||
|
||
```bash
|
||
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
|
||
|
||
```bash
|
||
system_profiler SPBluetoothDataType | grep -A8 "Connected:"
|
||
pgrep -lf "Bluetooth File Exchange"
|
||
```
|
||
|
||
### Fedora
|
||
|
||
```bash
|
||
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. Порядок действий (шпаргалка)
|
||
|
||
```text
|
||
[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*
|