Guide pratique 8 min de lecture

2026, petites équipes sur Mac distant partagé : Partage d’écran Apple et SSH — latence, préemption, pare-feu et acceptation des permissions

Publié le 25 avril 2026

Équipe Meshmac

Petites équipes sur Mac pool : bureau Apple et SSH en parallèle. Ce n’est pas un « SSH vs VNC » générique — ici Partage d’écran natif, ports, observateur, conflits multi-utilisateurs et recette d’acceptation avec FAQ.

Scénario : quand Partage d’écran plus SSH devient la voie par défaut

En 2026, un Mac mutualisé mêle souvent Xcode visuel et git ou tests CLI sans bloquer l’agenda : Partage d’écran pour l’UI, SSH pour le shell — parfois en même temps.

L’équipe gagne en réactivité parce que personne n’attend un créneau VNC unique pour pousser une brève correction shell. En contrepartie, la responsabilité des collisions remonte au runbook : qui annonce la session, qui garde la main sur le presse-papiers, quelle fenêtre Xcode est la référence.

Si les deux voies partagent le même utilisateur interactif, la préemption ressemble à du « VNC lent » plutôt qu’à une erreur fichier claire.

  1. Latence : framebuffer sensible au jitter ; SSH tolère plus tant qu’on limite les gros transferts sur le même chemin.
  2. Audit : curseur versus invite Trousseau graphique.
  3. CI : tests UI lourds sur le compte vitrine affament l’encodeur.

Guide SSH/VNC pour l’ensemble ; matrice tmux/VNC pour le relais terminal — ce texte reste Screen Sharing Apple plus OpenSSH.

Latence, bande passante et ports pare-feu

Partage d’écran : flux image (Retina, transparence). SSH : texte ; gros scp/rsync sur la même route affament l’encodeur.

Tableau runbook encodage versus shell :

Signal Partage d’écran (GUI) SSH (terminal / fichiers)
Ce qui cède en premier Jitter → tuiles, curseur élastique. RTT ; gros fichiers volent la bande vidéo.
Garde-fou indicatif ~80 ms p95 agréable ; >120 ms : créneaux GUI courts ou région proche. Shell plus tolérant ; limiter copies concurrentes.
Ports à documenter 3283/tcp ; parfois 5900/tcp — copier le VPN réel. 22/tcp ; ACL étroites.

Audit pare-feu applicatif (lecture seule) — à exécuter en préproduction et archiver la sortie dans le wiki :

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps

Capture Réglages → Réseau → Pare-feu après chaque image ; conservez la sortie socketfilterfw dans le ticket de livraison. Les seuils de reconnexion communs aux deux canaux sont détaillés dans la checklist stabilité et latence.

Trois preuves d’acceptation minimum : état pare-feu, liste applicative filtrée, RTT mesurée sur le chemin VPN documenté pour ce siège.

Modèle de permissions : console, observateurs et cloisonnement

Le bureau Partage d’écran partage Trousseau, Simulateur et notifications. L’observateur limite les clics accidentels lors d’une revue incident ; ce n’est pas un second siège OS sans comptes Unix distincts, volumes de cache séparés et conventions d’équipe explicites.

SSH sur autre compte Unix isole fichiers et cron si DerivedData et signatures sont disjoints. Piège : symlinks vers le même $HOME partagé.

Instantané defaults (avant / après image) :

defaults read com.apple.ScreenSharing 2>/dev/null || echo "Pas de plist ScreenSharing"
sudo defaults read /Library/Preferences/com.apple.RemoteManagement 2>/dev/null || echo "Pas de RemoteManagement"

Normes de session — à intégrer au handbook interne :

  • Annoncer conducteur / observateur ; notifications coupées côté observation.
  • Pas de sudo installateur ad hoc sur le compte GUI — image ou MDM.
  • Comptes CI sans session écran pour bricoler.
  • Rotation mots de passe écran alignée SSH : matrice bastion.

FAQ isolation SSH/VNC.

Verrous de build concurrents et passation avec le bureau

Concurrence : flock sur l’arbre automation pour SSH ; GUI plus CI exigent aussi des règles sur caches, Simulateur et codesign.

Schéma minimal — encapsuler les runners destructifs :

flock -n /var/tmp/meshmac-nodeA.codesign.lock -c '/usr/local/bin/build_release.sh'

Créneaux métier et CI : matrice Jira et verrous. File floue → deuxième nœud plutôt qu’un troisième protocole.

FAQ de dépannage

La session écran se connecte puis tombe dès que la CI démarre

CI UI lourde sur le même utilisateur que l’écran ? Séparez comptes ou hôte. Vérifiez MTU / gros transferts SSH.

L’observateur lit-il les secrets des invites Trousseau ?

Observateurs = initiés de confiance ou invites masquées ; sinon capture courte redigée.

Pare-feu actif : SSH OK, écran noir côté Partage d’écran

Autoriser screensharingd / ARD, pas seulement sshd. Rejouer socketfilterfw après patch.

Deux bureaux interactifs pleinement isolés sur un seul Mac ?

Pas deux consoles GPU isolées « gratuites » : second Mac, créneaux plus verrous, ou SSH headless par compte.

Lectures connexes : tmux, FAQ pool, index blog.

Meshmac · accès 2026

Valider le duo avant de le standardiser

Forfaits, tarifs, aide et accueilsans compte. Blog pour files et signature.

Louer un Mac