Archive for 16 janvier 2019

Appeler une fenêtre de Terminal dès le premier démarrage de macOS

Comme expliqué dans mon astuce précédente, on peut facilement faire ré-apparaître l’assistant de choix de langue de macOS au premier démarrage du Mac après une réinstallation complète du système. Mais cette astuce est plus stratégique qu’il n’y paraît.

En effet, elle permet aussi d’appeler une fenêtre de Terminal… en mode root ! Ce qui permet par exemple de lancer un script pour personnaliser le système avant même le premier démarrage du Mac après avoir monté un disque externe. Ce qui peut être fort utile puisque désormais, les Mac deviennent de plus en plus durs à configurer en sortie de carton, en dehors du programme Apple Business (ex-DEP). Dans certains environnements où je travaille, on me demande de préparer un poste avant de le livrer à l’utilisateur, et cette solution peut être intéressante pour rapidement remettre un poste à neuf, installer des mises à jour système ou quelques application, des fonds d’écran, etc.

Pour faire apparaître la fenêtre de Terminal, enfoncez donc simplement les touches : Cmd + T (pour certaines versions de macOS, c’est peut-être Cmd + Shift + Ctrl + T, mais en 10.13, Cmd + T semble suffire).

MacOS Root Terminal Language Chooser

Une fois que vous avez obtenu l’accès root, vous pouvez faire différentes opérations, mais le plus intéressant est bien évidemment de lancer un script d’installation via la ligne de commande. Pour monter un disque externe, tapez :

diskutil mountDisk disk2

En supposant qu’un seul disque externe soit connecté, sinon utilisez :

diskutil list

pour trouver le bon disque.

Si tout est OK, les volumes du disque externe seront montés dans /Volumes/, et vous pourrez vous y déplacer :

cd /Volumes/NomDuVolume

Ceci fait, vous n’avez plus qu’à lancer par exemple un script stocké sur votre disque externe :

./install.sh

Script dans lequel vous placerez toutes les actions à déclencher à la chaine, comme l’installation de packages avec la commande installer. N’oubliez donc pas de rajouter un shutdown à la fin du script pour éteindre le Mac avant de le livrer à son utilisateur final.