Дозволи Snap (Linux)
Ця сторінка пояснює, як налаштувати дозволи для Rayforge, коли він встановлений як Snap-пакет на Linux.
Що таке дозволи Snap?
Snap-пакети - це контейнеризовані програми, які працюють у пісочниці для безпеки. За замовчуванням вони мають обмежений доступ до системних ресурсів. Щоб використовувати певні функції (як послідовні порти для лазерних контролерів), ви повинні явно надати дозволи.
Необхідні дозволи
Rayforge потребує підключення цих інтерфейс Snap для повної функціональності:
| Інтерфейс | Призначення | Обов'язково? |
|---|---|---|
serial-port | Доступ до USB послідовних пристроїв (лазерні контролери) | Так (для керування машиною) |
home | Читання/запис файлів у вашій домашній директорії | Авто-підключення |
removable-media | Доступ до зовнішніх дисків та USB-накопичувачів | Опціонально |
network | Мережеве підключення (для оновлень тощо.) | Авто-підключення |
Надання доступу до послідовного порту
Це найважливіший дозвіл для Rayforge.
Перевірка поточних дозволів
# Перегляд всіх підключень для Rayforge
snap connections rayforge
Шукайте інтерфейс serial-port. Якщо він показує "disconnected" або "-", вам потрібно підключити його.
Підключення інтерфейсу послідовного порту
# Надати доступ до послідовного порту
sudo snap connect rayforge:serial-port
Вам потрібно зробити це лише один раз. Дозвіл зберігається між оновленнями програми та перезавантаженнями.
Перевірка підключення
# Перевірити, чи serial-port тепер підключено
snap connections rayforge | grep serial-port
Очікуваний вивід:
serial-port rayforge:serial-port :serial-port -
Якщо бачите індикатор plug/slot, з'єднання активне.
Надання доступу до змінних носіїв
Якщо ви хочете імпортувати/експортувати файли з USB-накопичувачів або зовнішнього сховища:
# Надати доступ до змінних носіїв
sudo snap connect rayforge:removable-media
Тепер ви можете отримати доступ до файлів у /media та /mnt.
Усунення неполадок з дозволами Snap
Послідовний порт все ще не працює
Після підключення інтерфейсу:
-
Перепідключіть USB-пристрій:
- Відключіть ваш лазерний контролер
- Зачекайте 5 секунд
- Підключіть його знову
-
Перезапустіть Rayforge:
- Повністю закрийте Rayforge
- Запустіть знову з меню програм або:
snap run rayforge
-
Перевірте, що порт з'являється:
- Відкрийте Rayforge Налаштування Машина
- Шукайте послідовні порти у випадаючому списку
- Маєте бачити
/dev/ttyUSB0,/dev/ttyACM0або подібні
-
Перевірте, що пристрій існує:
# Список USB послідовних пристроїв
ls -l /dev/ttyUSB* /dev/ttyACM*
"Відмовлено в дозволі" незважаючи на підключений інтерфейс
Це рідкість, але може статися якщо:
-
Встановлення Snap пошкоджено:
# Перевстановіть snap
sudo snap refresh rayforge --devmode
# Або якщо це не вдалося:
sudo snap remove rayforge
sudo snap install rayforge
# Перепідключіть інтерфейси
sudo snap connect rayforge:serial-port -
Конфліктуючі правила udev:
- Перевірте
/etc/udev/rules.d/на наявність власних правил послідовного порту - Вони можуть конфліктувати з доступом Snap до пристроїв
- Перевірте
-
Відмови AppArmor:
# Перевірте на відмови AppArmor
sudo journalctl -xe | grep DENIED | grep rayforgeЯкщо бачите відмови для послідовних портів, може бути конфлікт профілю AppArmor.
Неможливість доступу до файлів поза домашньою директорією
За дизайном, Snap-пакети не можуть отримати доступ до файлів поза вашою домашньою директорією, якщо ви не надасте removable-media.
Варіанти обходу:
-
Перемістіть файли до вашої домашньої директорії:
# Скопіюйте SVG файли до ~/Documents
cp /some/other/location/*.svg ~/Documents/ -
Надайте доступ removable-media:
sudo snap connect rayforge:removable-media -
Використовуйте файловий вибірник Snap:
- Вбудований вибірник файлів має ширший доступ
- Відкривайте файли через Файл Відкрити замість аргументів командного рядка
Ручне керування інтерфейсами
Список всіх доступних інтерфейсів
# Побачити всі інтерфейси Snap у вашій системі
snap interface
Відключення інтерфейсу
# Відключити serial-port (якщо потрібно)
sudo snap disconnect rayforge:serial-port
Повторне підключення після відключення
sudo snap connect rayforge:serial-port
Альтернатива: Встановлення з вихідних кодів
Якщо дозволи Snap занадто обмежувальні для вашого робочого процесу:
Варіант 1: Збірка з вихідних кодів
# Клонуйте репозиторій
git clone https://github.com/kylemartin57/rayforge.git
cd rayforge
# Встановіть залежності використовуючи pixi
pixi install
# Запустіть Rayforge
pixi run rayforge
Переваги:
- Немає обмежень дозволів
- Повний системний доступ
- Легше налагодження
- Остання версія розробки
Недоліки:
- Ручні оновлення (git pull)
- Більше залежностей для керування
- Немає автоматичних оновлень
Варіант 2: Використання Flatpak (якщо доступно)
Flatpak має подібну пісочницю, але іноді з іншою моделлю дозволів. Перевірте, чи Rayforge пропонує Flatpak-пакет.
Найкращі практики дозволів Snap
Підключайте лише те, що вам потрібно
Не підключайте інтерфейси, які ви не використовуєте:
- Підключіть
serial-portякщо використовуєте лазерний контролер - Підключіть
removable-mediaякщо імпортуєте з USB-накопичувачів - L Не підключайте все "про всяк випадок" - це нівелює мету безпеки
Перевіряйте джерело Snap
Завжди встановлюйте з офіційного Snap Store:
# Переві рте видавця
snap info rayforge
Шукайте:
- Верифікований видавець
- Офіційне джерело репозиторію
- Регулярні оновлення
Розуміння пісочниці Snap
Що Snap-пакети можуть отримати доступ за замовчуванням?
Дозволено:
- Файли у вашій домашній директорії
- Мережеві з'єднання
- Дисплей/аудіо
Не дозволено без явного дозволу:
- Послідовні порти (USB-пристрої)
- Змінні носії
- Системні файли
- Домашні директо рії інших користувачів
Чому це важливо для Rayforge
Rayforge потребує:
-
Доступ до домашньої директорії (авто-надається)
- Для збереження файлів проекту
- Для читання імпортованих SVG/DXF файлів
- Для зберігання налаштувань
-
Доступ до послідовного порту (має бути надано)
- Для комунікації з лазерними контролерами
- Це критичний дозвіл
-
Змінні носії (опціонально)
- Для імпорту файлів з USB-накопичувачів
- Для експорту G-code на зовнішнє сховище
Налагодження проблем Snap
Увімкнути детальне логування Snap
# Запустіть Snap з debug-виводом
snap run --shell rayforge
# Всередині snap shell:
export RAYFORGE_LOG_LEVEL=DEBUG
exec rayforge
Перевірте логи Snap
# Перегляд логів Rayforge
snap logs rayforge
# Слідкуйте за логами в реальному часі
snap logs -f rayforge
Перевірте системний журнал на відмови
# Шукайте відмови AppArmor
sudo journalctl -xe | grep DENIED | grep rayforge
# Шукайте події USB-пристроїв
sudo journalctl -f -u snapd
# Потім підключіть ваш лазерний контролер
Отримання допомоги
Якщо у вас все ще є проблеми, пов'язані з Snap:
-
Спочатку перевірте дозволи:
snap connections rayforge -
Спробуйте тест послідовного порту:
# Якщо у вас встановлено screen або minicom
sudo snap connect rayforge:serial-port
# Потім протестуйте в Rayforge -
Повідомте про проблему з:
- Виводом
snap connections rayforge - Виводом
snap version - Виводом
snap info rayforge - Вашою версією Ubuntu/Linux дистрибутива
- Точними повідомленнями про помилки
- Виводом
-
Розгляньте альтернативи:
- Встановлення з вихідних кодів (див. вище)
- Використання іншого формату пакету (AppImage, Flatpak)
Швидкий довідник команд
# Надати доступ до послідовного порту (найважливіше)
sudo snap connect rayforge:serial-port
# Надати доступ до змінних носіїв
sudo snap connect rayforge:removable-media
# Перевірити поточні підключення
snap connections rayforge
# Переглянути логи Rayforge
snap logs rayforge
# Оновити Rayforge
sudo snap refresh rayforge
# Видалити та перевстановити (останній засіб)
sudo snap remove rayforge
sudo snap install rayforge
sudo snap connect rayforge:serial-port
Пов'язані сторінки
- Проблеми з підключенням - Усунення проблем послідовного з'єднання
- Режим debug - Увімкнути діагностичне логування
- Встановлення - Посібник з встановлення
- Загальні налаштування - Налаштування машини