DirectConnect

Guide

Come trasferire file tra un Mac e Linux

Per spostare file tra un Mac e Linux, copiali con rsync via SSH, condividi una cartella del Mac e aprila nel tuo gestore file Linux, o condividi una cartella Linux con Samba. Ognuno richiede configurazione su entrambi i computer, e la condivisione file è lenta con le cartelle di file piccoli.

Perché è più difficile di quanto dovrebbe

  • Nessun invio rapido in comune. AirDrop è solo Apple, e i desktop Linux non hanno nulla che il Mac capisca.
  • Ogni metodo richiede account e password. SSH e Condivisione documenti del Mac accedono con l’account del Mac. Samba richiede una propria password separata.
  • Linux non condivide cartelle con un Mac per impostazione predefinita. Devi installare e configurare Samba e aprire il firewall. Su Fedora e distribuzioni simili, anche SELinux deve consentire la cartella condivisa.
  • Samba richiede impostazioni specifiche per Mac. Senza le opzioni di compatibilità Apple, il Finder lascia file ._ nascosti in più accanto ai tuoi.
  • Il collegamento via cavo richiede indirizzi. Il Mac si assegna da solo un indirizzo 169.254 sul cavo. Linux spesso aspetta un server DHCP che non c’è e non ottiene affatto un indirizzo IPv4.
  • I file piccoli si trascinano. Nei nostri test, un Mac ha impiegato quasi quattro minuti per copiare 20.000 file piccoli (331 MB) su una condivisione Samba tramite un collegamento Thunderbolt da 10 Gb/s.
  • I dischi non passano da un sistema all’altro. Un Mac non può scrivere su dischi ext4 o btrfs di Linux, e Linux gestisce male i dischi APFS del Mac. Solo exFAT funziona bene su entrambi.
  • I cavi possono andare a metà velocità. Nei nostri test un portatile Linux e un Mac si sono collegati su una sola linea da 20 Gb/s di un cavo da 40 Gb/s.

Collegare il cavo e trovare l’indirizzo di ciascun computer

Se entrambi i computer hanno Thunderbolt o USB4, un cavo tra loro offre un collegamento di rete diretto. Il Mac lo chiama Bridge Thunderbolt, e Linux lo chiama thunderbolt0. Senza queste porte, usa invece la rete di casa e i suoi indirizzi. Vedi trasferire file con Thunderbolt.

Sul Mac

  1. Collega il cavo.
  2. In Impostazioni di Sistema, scegli Rete, poi Bridge Thunderbolt.
  3. Fai clic su Dettagli… e annota l’indirizzo IP. Senza nient’altro sul cavo, inizia con 169.254.

Sul computer Linux

In un terminale, esegui questo comando. Si limita a leggere le impostazioni:

ip -4 addr show thunderbolt0

Una riga inet 169.254… è l’indirizzo del cavo. Se non c’è una riga inet, NetworkManager sta ancora aspettando il DHCP. Assegna al cavo un indirizzo autoassegnato:

  1. In Impostazioni, scegli Rete, poi fai clic sul pulsante delle impostazioni accanto alla connessione cablata del cavo.
  2. Nella scheda IPv4, scegli Solo link-local e fai clic su Applica.
  3. Disattiva e riattiva la connessione, poi esegui di nuovo il comando ip.

Collegati sempre tramite l’indirizzo 169.254, non tramite il nome del computer. Un nome può trovare invece l’indirizzo Wi-Fi del computer, e la copia passa allora dal Wi-Fi.

Opzione 1: rsync via SSH, da un terminale

rsync è adatto a chi si trova a suo agio in un terminale. Copia intere cartelle, e se una copia si interrompe, rieseguirla salta i file già copiati. Il computer Linux esegue ogni comando, quindi va configurato solo il Mac.

Sul Mac

  1. In Impostazioni di Sistema, scegli Generali, poi Condivisione, e attiva Login remoto.
  2. Fai clic sul pulsante Info accanto a Login remoto e controlla che il tuo account sia consentito.
  3. Per copiare da Scrivania, Documenti o Download, attiva Consenti accesso completo al disco per gli utenti remoti nello stesso pannello. Senza, macOS rifiuta quelle cartelle con «Operation not permitted».

Sul computer Linux

  1. In un terminale, esegui rsync -a --progress user@address:/Users/user/Projects/ ~/Projects/. Sostituisci user con il nome breve dell’account del Mac (il nome della sua cartella Inizio) e address con l’indirizzo 169.254 del Mac.
  2. La prima volta, SSH chiede se fidarsi del Mac. Digita yes.
  3. Digita la password dell’account del Mac. rsync elenca ogni file mentre lo copia.

Scambia i due percorsi per copiare nell’altra direzione. La / finale conta: con essa, rsync copia il contenuto della cartella, e senza, la cartella stessa. Metti tra virgolette i percorsi che contengono spazi. Non c’è niente da sfogliare, quindi ti servono i percorsi esatti prima di iniziare.

Opzione 2: condividere una cartella del Mac e aprirla in Linux

Condivisione documenti del Mac non richiede software su Linux. File di GNOME e la maggior parte degli altri gestori file Linux aprono le condivisioni SMB.

Sul Mac

  1. In Impostazioni di Sistema, scegli Generali, poi Condivisione, e attiva Condivisione documenti.
  2. Fai clic sul pulsante Info accanto a Condivisione documenti. In Cartelle condivise, fai clic su + e scegli la cartella.
  3. In Utenti, imposta il tuo account su Lettura e scrittura se Linux deve copiarci dentro file.
  4. Fai clic su Opzioni…, seleziona il tuo account in Condivisione documenti Windows, digita la sua password e fai clic su Fine. Senza questo passaggio, Linux non può accedere.

Sul computer Linux

  1. In File, premi Ctrl+L, digita smb:// e l’indirizzo del Mac, per esempio smb://169.254.20.30, e premi Invio.
  2. Scegli Utente registrato, digita il nome breve e la password dell’account del Mac e fai clic su Connetti.
  3. Apri la cartella condivisa. Trascina file dentro o fuori.

In questo modo i file grandi si copiano bene. Le cartelle di file piccoli sono lente, perché la condivisione file apre, scrive e chiude ogni file a turno.

Opzione 3: condividere una cartella Linux con Samba

Condividi da Linux quando vuoi sfogliare i file del computer Linux nel Finder. Ogni comando qui sotto modifica il sistema e richiede la tua password per sudo. Sostituisci you con il tuo nome utente Linux.

Sul computer Linux

  1. Installa Samba: sudo dnf install samba su Fedora, o sudo apt install samba su Ubuntu.
  2. Aggiungi la condivisione alla fine di /etc/samba/smb.conf, come mostrato qui sotto. La riga fruit aggiunge le opzioni di compatibilità Apple.
  3. Imposta una password Samba per il tuo utente con sudo smbpasswd -a you. È separata dalla tua password di accesso.
  4. Apri il firewall. Su Fedora, esegui sudo firewall-cmd --permanent --add-service=samba, poi sudo firewall-cmd --reload. Su Ubuntu, il firewall è disattivato a meno che tu non l’abbia attivato. Se è attivo, esegui sudo ufw allow samba.
  5. Su Fedora, consenti a SELinux di condividere la cartella: sudo semanage fcontext -a -t samba_share_t "/home/you/Projects(/.*)?", poi sudo restorecon -R /home/you/Projects.
  6. Avvia Samba: sudo systemctl enable --now smb su Fedora, o sudo systemctl restart smbd su Ubuntu.
[Projects]
   path = /home/you/Projects
   valid users = you
   read only = no
   vfs objects = catia fruit streams_xattr

Sul Mac

  1. Nel Finder, scegli Vai > Connessione al server….
  2. Digita smb:// e l’indirizzo del computer Linux, per esempio smb://169.254.40.50, e fai clic su Connetti.
  3. Scegli Utente registrato, digita il tuo nome utente Linux e la password Samba e fai clic su Connetti.
  4. Scegli la condivisione Projects. Si apre nel Finder.

Nei nostri test su un collegamento Thunderbolt da 10 Gb/s, un Mac ha copiato 20.000 file piccoli (331 MB) da una condivisione Samba in 114 secondi, e verso di essa in 238 secondi. Un file da 4 GiB è stato copiato a circa 7,6 Gb/s in entrambe le direzioni.

Dopo uno stop, un riavvio o lo scollegamento

Ogni opzione qui funziona solo finché il collegamento del cavo è attivo. Quando uno dei due computer va in stop o scolleghi il cavo, la connessione cade.

  • rsync si ferma con un errore di connessione. Esegui di nuovo lo stesso comando. Salta i file già arrivati.
  • Le cartelle condivise si disconnettono. Il Finder avvisa che la connessione al server è stata interrotta, e File chiude la condivisione. Ricollegati e accedi di nuovo.
  • L’indirizzo può cambiare. Gli indirizzi autoassegnati possono cambiare dopo che scolleghi il cavo, quindi cercali di nuovo prima di ricollegarti.
  • Dopo un riavvio, la condivisione resta attiva. Login remoto, Condivisione documenti e un servizio Samba abilitato ripartono da soli. Devi comunque ricollegarti dall’altro computer.

Vedi perché una condivisione di rete si disconnette dopo lo stop.

Opzione 4: un disco exFAT

Formatta un disco in exFAT e copia i file sul disco e dal disco. Non richiede configurazione su nessuno dei due computer e funziona senza Thunderbolt o USB4, ma ogni file viene copiato due volte e il disco deve avere abbastanza spazio libero.