49 lines
1.9 KiB
Bash
Executable File
49 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# Запустить НА FEDORA перед отправкой файла с Mac.
|
||
# bash prepare-receive-fedora.sh
|
||
set -euo pipefail
|
||
|
||
DEST="${1:-$HOME/Downloads}"
|
||
mkdir -p "$DEST"
|
||
|
||
printf '=== Приём файла по Bluetooth (Fedora) ===\n\n'
|
||
|
||
# obex user session (GNOME/KDE)
|
||
if systemctl --user list-unit-files 2>/dev/null | grep -q '^obex.service'; then
|
||
systemctl --user start obex 2>/dev/null && printf '[ok] obex.service запущен\n' || true
|
||
fi
|
||
|
||
# obexpushd — слушает входящие push (если установлен)
|
||
if command -v obexpushd >/dev/null 2>&1; then
|
||
printf '[ok] obexpushd → %s (Ctrl+C после приёма)\n' "$DEST"
|
||
exec obexpushd -B -n -p "$DEST"
|
||
fi
|
||
|
||
printf 'Автоматический приём недоступен без obexpushd.\n\n'
|
||
printf 'Сделайте вручную (обязательно ДО отправки с Mac):\n'
|
||
printf ' 1. Иконка Bluetooth (Blueman) в трее\n'
|
||
printf ' 2. «Принять файл» / «Receive a File»\n'
|
||
printf ' 3. Должен появиться диалог «Ожидание входящего файла…»\n\n'
|
||
printf 'Если Blueman нет:\n'
|
||
printf ' sudo dnf install blueman bluez-obexd\n'
|
||
printf ' blueman-applet &\n\n'
|
||
printf 'Затем на Mac:\n'
|
||
printf ' bash …/send-to-fedora-bluetooth.sh\n\n'
|
||
|
||
# Попытка открыть Blueman (GUI)
|
||
if command -v blueman-manager >/dev/null 2>&1; then
|
||
blueman-manager >/dev/null 2>&1 &
|
||
fi
|
||
|
||
printf 'Ожидание файла в: %s\n' "$DEST"
|
||
printf 'Нажмите Ctrl+C когда файл получен.\n'
|
||
|
||
# Держим скрипт живым, пока пользователь жмёт Receive в Blueman
|
||
while true; do
|
||
sleep 2
|
||
if ls "$DEST"/fedora-bcm4322-wifi-fix.tar.gz >/dev/null 2>&1; then
|
||
printf '\n[ok] Файл получен: %s/fedora-bcm4322-wifi-fix.tar.gz\n' "$DEST"
|
||
exit 0
|
||
fi
|
||
done
|