Samba (compartilhamento de rede)
Acesse ROMs, temas e configurações pelo Windows, macOS ou Linux
O Samba transforma o console em um compartilhamento de rede, então dá para arrastar ROMs e temas pelo gerenciador de arquivos sem tirar o cartão e sem precisar de cliente SSH.
Vem desligado (samba.enabled=0).
Ligar
EmulationStation → Network Settings → Network Services → Enable Samba.
Isso grava samba.enabled=1, cria o arquivo marcador /storage/.cache/services/smb.conf e inicia dois serviços:
smbd, o servidor de arquivos SMBnmbd, o serviço de nomes NetBIOS
A descoberta no Windows fica por conta do wsdd2, que já vem ativado, então o console aparece em "Rede" no Explorer assim que o Samba sobe.
Conectar
Windows
No Explorador de Arquivos, digite na barra de endereço:
\\archrSe o nome não resolver, use o endereço direto:
\\archr.local
\\<ip-do-aparelho>macOS
Finder → Ir → Conectar ao servidor (Cmd+K):
smb://archr.localLinux
A maioria dos gerenciadores de arquivos aceita isto na barra de endereço:
smb://archr.localOu monte um compartilhamento pelo terminal:
sudo mkdir /mnt/archr-roms
sudo mount -t cifs //archr.local/games-roms /mnt/archr-roms -o guest,uid=$(id -u),gid=$(id -g)archr é o nome de máquina padrão (system.hostname), e o .local funciona porque o Avahi está rodando.
O que é compartilhado
| Compartilhamento | Caminho | Conteúdo |
|---|---|---|
games-roms | /storage/roms | ROMs, BIOS, save-states, capturas de tela |
games-internal | /storage/games-internal | Jogos instalados no cartão interno |
games-external | /storage/games-external | Jogos no segundo cartão |
themes | /storage/.config/emulationstation/themes | Temas do EmulationStation |
config | /storage/.config | Configurações de todos os aplicativos |
logs | /var/log | Logs do sistema, úteis ao relatar um problema |
update | /var/cache/archr/update | Local para deixar um arquivo de atualização |
Os sete são de leitura e escrita e abertos para convidados: map to guest = Bad User com guest account = root, ou seja, quem alcançar o console pela rede consegue escrever neles. Use na sua rede doméstica e deixe desligado fora dela.
Mudar a configuração
O arquivo que o servidor lê é o /storage/.config/smb.conf. Ele é copiado de /usr/config/smb.conf no primeiro boot, o /etc/samba/smb.conf é um link simbólico para ele, e o script de inicialização o liga em /run/samba/smb.conf, que é onde o smbd procura.
Edite por SSH para acrescentar ou alterar um compartilhamento:
[games-roms]
path = /storage/roms
available = yes
browseable = yes
public = yes
writeable = yesPara exigir senha, coloque public = no no bloco, crie o usuário com smbpasswd -a <nome> e acrescente valid users = <nome>.
Aplique as mudanças com:
systemctl restart nmbd smbdDurante o jogo
O Samba continua ativo enquanto você joga. Os serviços interrompidos na hora de abrir um jogo, e religados na saída, são o Syncthing, o Tailscale, o ZeroTier e o servidor HTTP simples, que disputam CPU e acesso ao cartão com o emulador.
Problemas comuns
O console não aparece em "Rede" no Windows. Digite \\archr.local na barra de endereço. O ícone só aparece com a descoberta de rede ligada, mas o endereço direto funciona de qualquer jeito.
"O servidor especificado não pode executar a operação solicitada". É um cliente SMB1. O smb.conf não define server min protocol, então vale o padrão do Samba 4.21, que não aceita SMB1. Atualize o cliente ou configure-o para SMB2 ou superior.
Nada acontece depois de ligar a opção. Verifique os dois serviços:
systemctl status smbd nmbdOs dois se recusam a iniciar se o /run/samba/smb.conf não existir, que é como um /storage/.config/smb.conf quebrado se manifesta.
Transferências lentas no WiFi. O R36S não tem WiFi embutido, então tudo passa por um dongle USB em 2,4 GHz. Veja o enlace com iwctl station wlan0 show. Chegar mais perto do roteador costuma resolver mais do que qualquer ajuste.