Éjecter instantanément tous les lecteurs et disques montés de la ligne de commande dans Mac OS X

La prochaine fois que vous serez en ligne de commande et que vous devrez éjecter chaque volume monté, disque dur, disque, image disque et/ou disque externe connecté à un Mac, vous pourrez les éjecter instantanément d’un seul coup grâce à une chaîne de commande osascript très pratique. C’est très pratique si vous travaillez fréquemment dans le terminal et que vous voulez rapidement ranger un poste de travail et partir, mais c’est aussi très utile pour gérer les Macs à distance par une connexion ssh, ou pour ajouter un script shell, entre autres utilisations potentielles.

Pour ceux qui ne sont pas familiers avec l’osascript, il s’agit d’une interface en ligne de commande à AppleScript qui permet d’exécuter des scripts AppleScripts et des scripts en langage OSA à partir du terminal. La fonctionnalité est assez simple, il suffit de lui envoyer un script ou une déclaration que vous placeriez autrement dans l’éditeur AppleScript, et le tout est géré depuis le terminal plutôt que de devoir se lancer dans l’application graphique sous OS X. Utilisons l’osascript pour éjecter tous les volumes montés sur un Mac.

Éjection de tous les volumes, lecteurs et images de disque montés via un terminal

Depuis le terminal, exécutez la chaîne de commande suivante sur une seule ligne :

osascript -e ‘tell application « Finder » to eject (every disk whose ejectable is true)’

Comme d’habitude avec la ligne de commande, assurez-vous que toute la syntaxe de la commande se trouve sur une seule ligne. À moins que la fenêtre de votre terminal ne soit très grande, elle s’enroulera probablement, c’est normal.

Dès que vous appuyez sur la touche « Entrée » pour exécuter la commande, les volumes commencent à s’éjecter. Les images de disque et les volumes réseau sont immédiatement activés, tandis que les disques durs externes en rotation tournent d’abord avant d’être éjectés. Néanmoins, même si vous devez attendre la mise en rotation de certains disques, la tâche est très rapide et aucune autre interaction n’est nécessaire.

Il y a certainement d’autres moyens de le faire, y compris avec les outils hdiutil et diskutil, mais la méthode osascript est probablement la plus rapide puisqu’elle éjecte tout sans avoir à utiliser de points de montage. Si vous connaissez une autre méthode pour éjecter des volumes en masse, peut-être une méthode qui est compatible avec toutes les plates-formes et qui fonctionnerait aussi bien sous Mac OS X que sous linux, faites-le nous savoir dans les commentaires.

Vous vous retrouvez à l’utiliser souvent ? Pensez à l’ajouter à votre bash_profile avec un alias pour raccourcir la durée de la commande. Pour ce faire, ajoutez simplement quelque chose comme ceci à .bash_profile :

alias ejectall=’osascript -e ‘tell application « Finder » to eject (every disk whose ejectable is true) »’.

Cela vous permet de n’avoir qu’à taper « ejectall » plutôt que la chaîne de commande complète.

Bien sûr, tout ceci est un peu avancé, et la plupart des utilisateurs de Mac sont mieux servis en éjectant les disques en maintenant la touche d’éjection enfoncée, ou en passant par le Finder d’OS X en les trouvant dans la barre latérale, en survolant le nom et en cliquant sur le bouton d’éjection.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *