Permissões Snap (Linux)
Esta página explica como configurar permissões para o Rayforge quando instalado como pacote Snap no Linux.
O Que São Permissões Snap?
Snaps são aplicações containerizadas que rodam em uma sandbox para segurança. Por padrão, elas têm acesso limitado a recursos do sistema. Para usar certos recursos (como portas seriais para controladores de laser), você deve conceder permissões explicitamente.
Permissões Necessárias
O Rayforge precisa destas interfaces Snap conectadas para funcionalidade completa:
| Interface | Propósito | Obrigatório? |
|---|---|---|
serial-port | Acesso a dispositivos seriais USB (controladores de laser) | Sim (para controle de máquina) |
home | Ler/escrever arquivos no seu diretório home | Conectado automaticamente |
removable-media | Acessar drives externos e armazenamento USB | Opcional |
network | Conectividade de rede (para atualizações, etc.) | Conectado automaticamente |
Concedendo Acesso à Porta Serial
Esta é a permissão mais importante para o Rayforge.
Pré-requisito: Membro do Grupo dialout
Em distribuições baseadas em Debian, seu usuário deve ser membro do grupo
dialout, mesmo ao usar o pacote Snap. Sem esta associação ao grupo, você
pode receber mensagens AppArmor DENIED ao tentar acessar portas seriais.
# Adicione seu usuário ao grupo dialout
sudo usermod -a -G dialout $USER
Importante: Você deve sair e entrar novamente (ou reiniciar) para mudanças de grupo terem efeito.
Verifique Permissões Atuais
# Veja todas as conexões para o Rayforge
snap connections rayforge
Procure pela interface serial-port. Se mostrar "desconectado" ou "-", você precisa conectá-la.
Conecte a Interface de Porta Serial
# Conceda acesso à porta serial
sudo snap connect rayforge:serial-port
Você só precisa fazer isso uma vez. A permissão persiste entre atualizações do app e reinicializações.
Verifique a Conexão
# Verifique se serial-port está conectado agora
snap connections rayforge | grep serial-port
Saída esperada:
serial-port rayforge:serial-port :serial-port -
Se você vir um indicador plug/slot, a conexão está ativa.
Concedendo Acesso a Mídia Removível
Se você quer importar/exportar arquivos de drives USB ou armazenamento externo:
# Conceda acesso a mídia removível
sudo snap connect rayforge:removable-media
Agora você pode acessar arquivos em /media e /mnt.
Solução de Problemas de Permissões Snap
Porta Serial Ainda Não Funciona
Após conectar a interface:
-
** Reconecte o dispositivo USB:**
- Desconecte seu controlador de laser
- Espere 5 segundos
- Conecte novamente
-
** Reinicie o Rayforge:**
- Feche o Rayforge completamente
- Relance a partir do menu de aplicativos ou:
snap run rayforge
-
** Verifique se a porta aparece:**
- Abra Rayforge Configurações Máquina
- Procure portas seriais no menu suspenso
- Deve ver
/dev/ttyUSB0,/dev/ttyACM0, ou similar
-
** Verifique se o dispositivo existe:**
# Liste dispositivos seriais USB
ls -l /dev/ttyUSB* /dev/ttyACM*
"Permissão Negada" Apesar da Interface Conectada
Isso é raro mas pode acontecer se:
-
** A instalação do Snap está quebrada:**
# Reinstale o snap
sudo snap refresh rayforge --devmode
# Ou se isso falhar:
sudo snap remove rayforge
sudo snap install rayforge
# Reconecte as interfaces
sudo snap connect rayforge:serial-port -
** Regras udev conflitantes:**
- Verifique
/etc/udev/rules.d/por regras personalizadas de porta serial - Elas podem conflitar com o acesso a dispositivos do Snap
- Verifique
-
** Negações AppArmor:**
# Verifique por negações AppArmor
sudo journalctl -xe | grep DENIED | grep rayforgeSe você vir negações para portas seriais, pode haver um conflito de perfil AppArmor.
Não Consegue Acessar Arquivos Fora do Diretório Home
Por design, Snaps não podem acessar arquivos fora do seu diretório home a menos que você conceda removable-media.
Opções de workaround:
-
** Mova arquivos para seu diretório home:**
# Copie arquivos SVG para ~/Documents
cp /algum/outro/local/*.svg ~/Documents/ -
** Conceda acesso removable-media:**
sudo snap connect rayforge:removable-media -
** Use o seletor de arquivos do Snap:**
- O seletor de arquivos embutido tem acesso mais amplo
- Abra arquivos através de Arquivo Abrir em vez de argumentos de linha de comando
Gerenciamento Manual de Interfaces
Liste Todas as Interfaces Disponíveis
# Veja todas as interfaces Snap no seu sistema
snap interface
Desconecte uma Interface
# Desconecte serial-port (se necessário)
sudo snap disconnect rayforge:serial-port
Reconecte Após Desconectar
sudo snap connect rayforge:serial-port
Alternativa: Instale a Partir do Código Fonte
Se as permissões Snap forem muito restritivas para seu fluxo de trabalho:
Opção 1: Compile a partir do código fonte
# Clone o repositório
git clone https://github.com/kylemartin57/rayforge.git
cd rayforge
# Instale dependências usando pixi
pixi install
# Execute o Rayforge
pixi run rayforge
Benefícios:
- Sem restrições de permissão
- Acesso completo ao sistema
- Depuração mais fácil
- Versão de desenvolvimento mais recente
Desvantagens:
- Atualizações manuais (git pull)
- Mais dependências para gerenciar
- Sem atualizações automáticas
Opção 2: Use Flatpak (se disponível)
Flatpak tem sandboxing similar mas às vezes com modelos de permissão diferentes. Verifique se o Rayforge oferece um pacote Flatpak.