Un Mac peut-il être utilisé par différents utilisateurs en même temps?
Je veux dire que nous avons un seul Mac mais 3 utilisateurs. Peuvent-ils accéder à la même machine à distance en même temps pour développer des applications sur iPhone ou Mac?
Est-ce que le serveur Mac OS X nous permet de le faire?
Si oui, comment puis-je le configurer pour cela?
Ceci est pris en charge par le partage d'écran intégré à partir de OS X Lion , si vous avez configuré plusieurs comptes:
Partage d'écran par utilisateur
Vous pouvez vous connecter à distance à un Mac avec n'importe quel compte d'utilisateur sur cet ordinateur et le contrôler, sans interrompre quelqu'un qui pourrait utiliser l'ordinateur avec un autre nom de connexion.
Cela fonctionne bien de Mac à Mac. Pour contrôler à partir de Windows, apparemment il faut "relancer" ARD une fois. Cela peut être fait en utilisant la ligne de commande, en suivant le Apple Remote Desktop d'Apple: Configuration à distance via la ligne de commande (kickstart) . Ou bien: dans les Préférences Système, désactivez le partage d'écran, la connexion à distance, la gestion à distance et les événements Apple à distance, puis réactivez tout, et enfin désactivez tout et activez simplement le partage d'écran.
Mais même en faisant ce qui précède, mes tests avec une ancienne machine XP et la dernière version d’UltraVNC n’ont pas été très concluants:
Comme je n’en ai pas besoin moi-même, je n’ai pas beaucoup testé. Un autre système d'exploitation, ou un autre visualiseur, pourrait produire des résultats différents. Mais les citations suivantes tirées des plus récentes notes de publication de RealVNC ne sont pas très optimistes:
Les connexions au partage d'écran intégré à Mac OS X 10.7 (Lion) ne sont pas prises en charge.
Solution de contournement: aucune.
Statut: En cours d’examen.
En passant, veillez à ne pas tester l'utilisation d'une session à distance de votre Mac sur une machine Windows, à nouveau sur le Mac ou à l'aide de quelque chose comme Parallels exécutant Windows sur le même Mac. Cela donne une boucle sans fin avec un effet Droste ; redémarrage nécessaire...
Pour les anciennes versions d'OS X, il est possible d'utiliser Vine Server (OSXvnc). Je ne l'ai jamais utilisé, mais les créateurs prétendent :
[..] dans Tiger (Mac OS 10.4), tous ces ordinateurs de bureau sont accessibles simultanément à l’aide de Vine Server (OSXvnc). Cela permet à plusieurs utilisateurs d'être connectés, chacun utilisant son propre bureau sur le même Mac.
[..]
Tout ce dont ils ont besoin, c'est d'un ordinateur ou PDA exécutant un visualiseur VNC pour accéder à Vine Server (OSXvnc). Maintenant, vous avez une utilisation pour tous ces vieux PC!
Toutefois:
Chaque utilisateur DOIT être connecté à l'aide du Changement rapide d'utilisateur. Si vous redémarrez l'ordinateur, vous devrez vous connecter et connecter chaque utilisateur à l'aide du Changement rapide d'utilisateur pour activer l'accès via VNC.
De plus, l'utilisation simultanée du même logiciel peut générer des problèmes (comme lorsque des fichiers temporaires ne sont pas stockés dans une zone utilisateur) ou enfreindre les contrats de licence.
Je ne sais pas si cela fonctionne toujours dans Léopard et Snow Leopard. (Mais une publication récente on Server Fault pourrait indiquer qu'elle a été testée sur une version récente d'OS X, d'où Snow Leopard?)
En tant que Lion, oui. Voici l'article 9to5mac dessus. De Apple :
Partage d'écran par utilisateur
Vous pouvez vous connecter à distance à un Mac avec n'importe quel compte d'utilisateur sur cet ordinateur et le contrôler, sans interrompre quelqu'un qui pourrait utiliser l'ordinateur avec un autre nom de connexion.
J'ai pu exécuter deux sessions simultanées et distinctes de deux ordinateurs portables Windows à un seul Mac mini, à l'aide du serveur Vines. Nous devions avoir deux utilisateurs connectés sur le Mac, les deux sessions exécutant des exe de serveur de vignes distincts. En utilisant tightvnc configuré pour accéder à la combinaison IP, port et pw pour chaque serveur de vigne, cela a fonctionné.
Les paramètres du serveur Vines ont été configurés conformément aux instructions du site Web.
Ce n'est pas très robuste, car les instances du serveur Vines attribuent un numéro de port dans la séquence de démarrage (première session 5900, deuxième 5901, etc.), mais cela a fonctionné.
Dans le passé, j’ai mis en place un seul Mac Pro comme suit (avec l’intention que les autres développeurs n’aient même pas besoin de machines):
Plusieurs moniteurs
Plusieurs claviers
Plusieurs souris
puis j'ai couru Parallels, ce qui vous permet maintenant de virtualiser OSX. J'ai créé un VM pour chaque utilisateur.
J'ai affecté un clavier et des souris spécifiques à chaque machine virtuelle. Les moniteurs allaient tous avec le système d'exploitation principal ... donc, il avait les limitations suivantes:
Je devais ouvrir une session, démarrer les ordinateurs virtuels, les déplacer sur le moniteur approprié et rendre ce VM plein écran sur ce moniteur.
Si par mégarde (en tant qu'utilisateur principal de la machine réelle), ma souris était déplacée "hors écran", ma souris apparaîtrait par-dessus celle de quelqu'un d'autre.
Les périphériques USB étaient assez faciles à attribuer à des ordinateurs virtuels spécifiques, mais occasionnaient parfois une confusion lors du démarrage initial (par exemple, le même clavier nommé ... de quel clavier s'agit-il?).
Nous développions à la fois Android et iOS, ce qui était réalisable. Cependant, étant donné le prix d’un Mac mini par rapport à un Mac Pro (et la nécessité d’acheter OSX et des systèmes parallèles pour chaque utilisateur), il est difficile de ne pas acheter uniquement un groupe de minis. J'imagine que si vous vouliez "partager" la puissance d'une machine imposante, ça marche.
Nous utilisons également Vine Server et nous nous connectons à 1 Mac avec 3 comptes d’utilisateur différents. Il a ses problèmes que nous ne savons pas résoudre. Par exemple, lorsque l'utilisateur mac appuie sur alt ou capslock, tous les autres comptes sont également affectés, ce qui peut être irritant.
Plusieurs utilisateurs via une session VNC sont pris en charge, mais à partir de High Sierra, Apple a imposé une limite arbitraire de cinq sessions de connexion simultanées. Nous avons exécuté plus de 16 connexions simultanées sur des versions précédentes de macOS sans aucun problème.
Il s'agit de sessions de connexion de bureau uniques et complètes, contrôlées simultanément par différents clients VNC, "en arrière-plan" afin qu'elles n'apparaissent pas sur l'écran de la console.
Cependant, à partir de High Sierra, macOS n'autorise que cinq sessions de connexion simultanées, en tâche de fond ou non.
C'est assez facile à essayer. Créez plusieurs comptes d'utilisateur sur un Mac. Connectez-vous en tant qu'un des utilisateurs de la console. Depuis un autre Mac, utilisez l'application "Partage d'écran" pour vous connecter au Mac à comptes multiples en tant qu'utilisateur non connecté à la console. Une boîte de dialogue vous demande si vous souhaitez partager l'écran de l'utilisateur actuel ou vous connecter en tant que vous-même. Choisissez vous-même et vous serez sur une session de connexion en arrière-plan, indépendante de la console.
Je pensais aussi à la solution en utilisant une machine très puissante pour 2-4 utilisateurs. Mais professionnellement, je suis sorti de cette solution pour les raisons suivantes:
1) Si un utilisateur rencontre des problèmes et redémarre, tout le monde sera affecté - et attendra le redémarrage. De plus, ces redémarrages seront probablement plus souvent nécessaires lorsque 4 utilisateurs travaillent en même temps, contre 1 seul utilisateur.
2) Si la machine tombe en panne, je peux renvoyer les programmeurs chez eux?
Par conséquent: Tout le monde a sa propre machine et l'externalisation de la gestion du code source et de la construction du serveur semble être un moyen professionnel.
Ils pourraient accéder à la même session VNC mais cela n’aurait qu’un seul curseur (3 personnes se disputeraient!).
Je pense que vous recherchez vraiment le contrôle de version source. Travaillez sur le projet à partir de vos machines locales, validez les modifications sur votre serveur central et récupérez les modifications apportées par d'autres personnes.
Je vous suggère de lire sur le sujet. Voici une belle introduction douce:
http://www.profhacker.com/2010/03/25/a-gentle-introduction-to-version-control/