DirectConnect

Guias

Como transferir arquivos entre um Mac e o Linux

Para mover arquivos entre um Mac e o Linux, copie-os com rsync por SSH, compartilhe uma pasta do Mac e abra-a no seu gerenciador de arquivos do Linux, ou compartilhe uma pasta do Linux com o Samba. Cada um exige configuração nos dois computadores, e o compartilhamento de arquivos é lento com pastas de arquivos pequenos.

Por que isso é mais difícil do que deveria

  • Nenhum envio rápido em comum. O AirDrop é só da Apple, e os desktops Linux não têm nada que o Mac entenda.
  • Todos os métodos exigem contas e senhas. O SSH e o Compartilhamento de Arquivos do Mac fazem login com a conta do Mac. O Samba precisa de uma senha própria, separada.
  • O Linux não compartilha pastas com o Mac por padrão. Você instala e configura o Samba e abre o firewall. No Fedora e distribuições parecidas, o SELinux também precisa permitir a pasta compartilhada.
  • O Samba precisa de ajustes específicos para Mac. Sem as opções de compatibilidade com a Apple, o Finder deixa arquivos ocultos extras ._ ao lado dos seus.
  • A ligação por cabo precisa de endereços. O Mac atribui a si mesmo um endereço 169.254 no cabo. O Linux muitas vezes espera um servidor DHCP que não existe e não recebe nenhum endereço IPv4.
  • Arquivos pequenos se arrastam. Nos nossos testes, um Mac levou quase quatro minutos para copiar 20.000 arquivos pequenos (331 MB) para um compartilhamento Samba numa ligação Thunderbolt de 10 Gb/s.
  • Unidades não passam de um sistema para o outro. O Mac não grava em unidades ext4 ou btrfs do Linux, e o Linux lida mal com unidades APFS do Mac. Só o exFAT funciona bem nos dois.
  • Cabos podem rodar na metade da velocidade. Nos nossos testes, um notebook com Linux e um Mac se conectaram por uma única via de 20 Gb/s de um cabo de 40 Gb/s.

Ligar o cabo e descobrir o endereço de cada computador

Se os dois computadores têm Thunderbolt ou USB4, um cabo entre eles cria uma ligação de rede direta. O Mac a chama de Ponte Thunderbolt, e o Linux a chama de thunderbolt0. Sem essas portas, use a sua rede doméstica e os endereços dela. Veja transferir arquivos com Thunderbolt.

No Mac

  1. Conecte o cabo.
  2. Em Ajustes do Sistema, escolha Rede e depois Ponte Thunderbolt.
  3. Clique em Detalhes… e anote o endereço IP. Sem mais nada no cabo, ele começa com 169.254.

No computador com Linux

Num terminal, rode este comando. Ele só lê as configurações:

ip -4 addr show thunderbolt0

Uma linha inet 169.254… é o endereço do cabo. Se não houver linha inet, o NetworkManager ainda está esperando o DHCP. Dê ao cabo um endereço autoatribuído:

  1. Em Configurações, escolha Rede e clique no botão de configurações ao lado da conexão cabeada do cabo.
  2. Na aba IPv4, escolha Somente link-local e clique em Aplicar.
  3. Desligue e ligue a conexão de novo e rode o comando ip outra vez.

Sempre conecte pelo endereço 169.254, não pelo nome do computador. Um nome pode achar o endereço do Wi-Fi do computador, e a cópia passa pelo Wi-Fi.

Opção 1: rsync por SSH, num terminal

O rsync serve para quem se sente à vontade num terminal. Ele copia pastas inteiras, e se uma cópia parar, rodá-lo de novo pula os arquivos já copiados. O computador com Linux roda todos os comandos, então só o Mac precisa ser configurado.

No Mac

  1. Em Ajustes do Sistema, escolha Geral, depois Compartilhamento, e ative Login Remoto.
  2. Clique no botão de informações ao lado de Login Remoto e confira se a sua conta tem permissão.
  3. Para copiar da Mesa, de Documentos ou de Downloads, ative Permitir acesso total ao disco para usuários remotos no mesmo painel. Sem isso, o macOS recusa essas pastas com «Operation not permitted».

No computador com Linux

  1. Num terminal, rode rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. Troque user pelo nome abreviado da conta do Mac (o nome da pasta pessoal dela) e address pelo endereço 169.254 do Mac.
  2. Na primeira vez, o SSH pergunta se deve confiar no Mac. Digite yes.
  3. Digite a senha da conta do Mac. O rsync lista cada arquivo enquanto copia.

Inverta os dois caminhos para copiar no outro sentido. A / no final importa: com ela, o rsync copia o conteúdo da pasta, e sem ela, a própria pasta. Coloque aspas em caminhos com espaços. Não há nada para navegar, então você precisa dos caminhos exatos antes de começar.

Opção 2: compartilhar uma pasta do Mac e abri-la no Linux

O Compartilhamento de Arquivos do Mac não precisa de nenhum software no Linux. O Arquivos do GNOME e a maioria dos outros gerenciadores de arquivos do Linux abrem compartilhamentos SMB.

No Mac

  1. Em Ajustes do Sistema, escolha Geral, depois Compartilhamento, e ative Compartilhamento de Arquivos.
  2. Clique no botão de informações ao lado de Compartilhamento de Arquivos. Em Pastas Compartilhadas, clique em + e escolha a pasta.
  3. Em Usuários, defina a sua conta como Leitura e Gravação se o Linux precisar copiar arquivos para dentro.
  4. Clique em Opções…, selecione a sua conta em Compartilhamento de Arquivos do Windows, digite a senha dela e clique em OK. Sem esse passo, o Linux não consegue fazer login.

No computador com Linux

  1. No Arquivos, pressione Ctrl+L, digite smb:// e o endereço do Mac, por exemplo smb://169.254.20.30, e pressione Enter.
  2. Escolha Usuário registrado, digite o nome abreviado e a senha da conta do Mac e clique em Conectar.
  3. Abra a pasta compartilhada. Arraste arquivos para dentro ou para fora.

Arquivos grandes copiam bem assim. Pastas de arquivos pequenos são lentas, porque o compartilhamento de arquivos abre, grava e fecha cada arquivo por vez.

Opção 3: compartilhar uma pasta do Linux com o Samba

Compartilhe a partir do Linux quando quiser navegar pelos arquivos do computador com Linux no Finder. Cada comando abaixo altera o sistema e precisa da sua senha para o sudo. Troque you pelo seu nome de usuário do Linux.

No computador com Linux

  1. Instale o Samba: sudo dnf install samba no Fedora, ou sudo apt install samba no Ubuntu.
  2. Adicione o compartilhamento ao fim de /etc/samba/smb.conf, como mostrado abaixo. A linha fruit adiciona as opções de compatibilidade com a Apple.
  3. Defina uma senha do Samba para o seu usuário com sudo smbpasswd -a you. Ela é separada da sua senha de login.
  4. Abra o firewall. No Fedora, rode sudo firewall-cmd --permanent --add-service=samba e depois sudo firewall-cmd --reload. No Ubuntu, o firewall fica desligado a menos que você o tenha ligado. Se estiver ligado, rode sudo ufw allow samba.
  5. No Fedora, deixe o SELinux compartilhar a pasta: sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?" e depois sudo restorecon -R /home/you/Projects.
  6. Inicie o Samba: sudo systemctl enable --now smb no Fedora, ou sudo systemctl restart smbd no Ubuntu.
[Projects]
   path = /home/you/Projects
   valid users = you
   read only = no
   vfs objects = catia fruit streams_xattr

No Mac

  1. No Finder, escolha Ir > Conectar ao Servidor….
  2. Digite smb:// e o endereço do computador com Linux, por exemplo smb://169.254.40.50, e clique em Conectar.
  3. Escolha Usuário Registrado, digite o seu nome de usuário do Linux e a senha do Samba e clique em Conectar.
  4. Escolha o compartilhamento Projects. Ele abre no Finder.

Nos nossos testes numa ligação Thunderbolt de 10 Gb/s, um Mac copiou 20.000 arquivos pequenos (331 MB) de um compartilhamento Samba em 114 segundos, e para ele em 238 segundos. Um arquivo de 4 GiB copiou a cerca de 7,6 Gb/s nos dois sentidos.

Depois do repouso, de reiniciar ou de tirar o cabo

Todas as opções aqui só funcionam enquanto a ligação do cabo está ativa. Quando um dos computadores entra em repouso ou você tira o cabo, a conexão cai.

  • O rsync para com um erro de conexão. Rode o mesmo comando de novo. Ele pula os arquivos que já chegaram.
  • As pastas compartilhadas desconectam. O Finder avisa que a conexão com o servidor foi interrompida, e o Arquivos fecha o compartilhamento. Conecte e faça login de novo.
  • O endereço pode mudar. Endereços autoatribuídos podem mudar depois que você desconecta, então descubra-os de novo antes de reconectar.
  • Depois de reiniciar, o compartilhamento continua ativado. O Login Remoto, o Compartilhamento de Arquivos e um serviço Samba habilitado iniciam de novo sozinhos. Você ainda precisa reconectar a partir do outro computador.

Veja por que um compartilhamento de rede desconecta depois do repouso.

Opção 4: uma unidade exFAT

Formate uma unidade em exFAT e copie arquivos para ela e dela. Não precisa de configuração em nenhum dos computadores e funciona sem Thunderbolt ou USB4, mas cada arquivo é copiado duas vezes e a unidade precisa de espaço livre suficiente.