• chevron_right

      Comment basculer entre les architectures arm64 et x86_64 dans le Terminal d’un Mac M1 / M2 ?

      news.movim.eu / Korben · Friday, 27 January, 2023 - 08:00 · 2 minutes

    Voici une astuce qui va vous faire plaisir si vous êtes l’heureux propriétaire d’un Mac M1 ou M2, c’est-à-dire avec une architecture à base de processeurs ARM (Silicon).

    Cela peut donc poser des problèmes de compatibilité avec certains logiciels et outils en ligne de commande. Du coup pour contourner ce problème, Apple a développé l’émulateur Rosetta, qui permet d’exécuter les applications non compatibles (pour architecture Intel quoi…) sur cette architecture ARM. C’est cool, mais évidemment, c’est moins performant donc il vaut mieux choper une version native de vos outils pour Silicon.

    M’enfin, si je vous parle de ça, c’est parce que je passe ma vie dans le Terminal et parfois, certains outils fonctionnent mal également à cet endroit. J’avais trouvé un moyen de lancer un terminal.app en mode de compatibilité Rosetta, mais Apple a bloqué la possibilité de dupliquer l’application Terminal.

    Tant pis, j’ai trouvé une autre solution que je vous présente et qui est assez simple. Cela se passe au niveau de votre fichier .zshrc. Pour rappel, ce fichier de configuration est utilisé par le shell ZSH sur les systèmes d’exploitation Unix / Linux, et donc macOS.

    Il est consulté à chaque fois que ZSH est lancé et permet de personnaliser les paramètres et les comportements de ZSH selon vos préférences. Cela permet par exemple de changer le look de l’interface de commande, d’ajouter des alias ou encore des chemins d’accès. Si vous n’avez pas de Shell ZSH sur votre macOS, vous pouvez l’activer par défaut en lançant un terminal et en tapant cette ligne de commande :

    chsh -s /bin/zsh

    Nous aujourd’hui, on va ajouter ces fameux alias pour pouvoir avoir un terminal compatible ARM ou INTEL à la demande. Ouvrez à nouveau un terminal sur votre Mac, et lancez la commande suivante pour ouvrir le fichier de config :

    nano ~/.zshrc

    Ajoutez ensuite les 2 alias suivants dans le fichier, à la fin de celui-ci :

    alias arm="env /usr/bin/arch -arm64 /bin/zsh --login"
    alias intel="env /usr/bin/arch -x86_64 /bin/zsh --login"

    Comme vous pouvez le voir, je crée donc 2 alias : arm et intel qui vont permettre de changer l’architecture utilisée par votre terminal zsh. C’est aussi simple que cela. Voici ce que ça donne :

    Sauvegardez et quittez (CTRL+O puis CTRL+X). Et relancez votre terminal.

    Maintenant, vous n’avez plus qu’à taper la commande « intel » pour basculer sur une architecture x86_64 et à taper « arm » pour revenir à une architecture arm64. Et pour vérifier le type d’architecture sur laquelle vous êtes, utilisez simplement la commande :

    arch

    Ça reste une bidouille pour contourner une limite débile imposée par Apple, mais j’espère que ça vous aidera.