4 votes

Activez la barre de menu et le Dock sombres de MacOS sans mot de passe ni redémarrage.

Existe-t-il un moyen d'activer de manière programmatique l'option MacOS "Barre de menu et Dock sombres" (trouvée dans Préférences Système > Général) via une commande Terminal, sans avoir à redémarrer le Mac ?

Il existe un moyen de modifier cette option dans le Terminal, mais elle nécessite l'utilisation de sudo et semble nécessiter un redémarrage, ce que je ne souhaite pas faire.

Je pourrais le faire via le Terminal en utilisant AppleScript, mais pour autant que je sache, cela nécessiterait un script GUI et je devrais autoriser le Terminal à contrôler le Mac dans les paramètres d'accessibilité.

4voto

Ky. Points 1701

Malheureusement, la modification des fichiers de préférences système nécessitera toujours des autorisations administratives, ce que l'utilisateur doit explicitement donner à votre script.

Heureusement, il existe un moyen d'y parvenir sans modifier les fichiers de préférences du système ! À l'aide d'AppleScript, on peut demander au démon des événements système de modifier l'apparence du système.

Je teste ceci sur mon ordinateur portable professionnel, qui ne me permet pas de modifier les préférences d'accessibilité, et je ne sais donc pas si le terminal y est activé (je soupçonne qu'il ne l'est pas). En outre, cela ne fait pas de script GUI ! (J'ai enregistré le gif ci-dessous alors que les Préférences Système n'étaient pas en cours d'exécution). Au lieu de cela, il exécute la même action que celle qui consiste à cocher la case dans les Préférences Système, mais sans avoir besoin d'accéder à cette case.

J'espère que cela fonctionnera pour vous !

AppleScript

-- Toggle dark mode
tell application "System Events" to tell appearance preferences to set dark mode to not dark mode

-- Enable dark mode, even it it's already enabled
tell application "System Events" to tell appearance preferences to set dark mode to true

-- Disable dark mode, even it it's already disabled
tell application "System Events" to tell appearance preferences to set dark mode to false

Bash

Vous ne voulez pas que quelque chose déclenche un AppleScript ? Je suis d'accord avec vous. Vous pouvez exécuter n'importe quel AppleScript depuis bash (et donc le terminal) en le passant comme une chaîne de caractères à la fonction osascript -e commandement :

# Toggle dark mode
osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to not dark mode'

# Enable dark mode, even it it's already enabled
osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to true'

# Disable dark mode, even it it's already disabled
osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to false'


J'ai créé une application de validation de concept qui présente cette technique, ainsi que quelques autres :

MacOS Dark Mode Switcher

Example of the above app at work

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X