Kann die Befehlszeile "defaults write" die Menüleiste unter macOS konfigurieren?

Ich würde wirklich gerne ein Skript verwenden, um diese Dinge unter macOS High Sierra zu aktivieren, indem ich Standardwerte verwende. Ich weiß, wie man das Skript in .bash_profile erstellt, da ich eine Funktion dafür verwenden und dann einfach die Funktion im Terminal ausführen werde. Was mir jedoch fehlt, sind die eigentlichen Zeichenfolgen, um Folgendes zu aktivieren:

  • Anzeige des Bluetooth-Symbols
  • Anzeige des Lautstärkesymbols
  • Anzeige des Batterieprozentsatzes
  • Anzeige des vollständigen Datums

Sind einige davon programmgesteuert durch die Verwendung von Defaults einstellbar und haben sie sich zwischen 10.6 und 10.13 stark geändert?

Ok, basierend auf dem, was IconDeamon im Kommentarbereich für diesen Beitrag gesagt hat, konnte ich ihn bearbeiten ~/Library/Preferences/com.apple.systemuiserver.plistund eine Liste der von mir aktivierten Menüs anzeigen.

Allerdings bringt mich das nicht unbedingt dorthin, wo ich hin will. Idealerweise wäre es gut, eine Liste zu finden und dies lösen zu können. Ich meine, okay, jetzt, dank der Hilfe in diesem Forum, weiß ich, dass ich folgende anzeigen möchte:

/System/Library/CoreServices/Menu Extras/Script Menu.menu

/System/Library/CoreServices/Menu Extras/RemoteDesktop.menu

/System/Library/CoreServices/Menu Extras/Bluetooth.menu

/System/Library/CoreServices/Menu Extras/TimeMachine.menu

/System/Library/CoreServices/Menu Extras/AirPort.menu

/System/Library/CoreServices/Menu Extras/TextInput.menu

/System/Library/CoreServices/Menu Extras/Battery.menu

/System/Library/CoreServices/Menu Extras/Volume.menu

/System/Library/CoreServices/Menu Extras/Clock.menu

und dass das Menü ein _5oder ein _3am Ende haben kann, um anzuzeigen, wohin es gehen soll. Aber..? Es ist nicht gerade eine vom Benutzer beschreibbare Textdatei, die ich einfach bearbeiten kann.

Ich gehe davon aus, dass Sie wissen, wie man Bash und Skripts einstellt, und nach den Schlüsseln (oder jemandem, den Sie offiziell sagen können - nein, das können Sie nicht) für eine bestimmte Version von macOS suchen.
ja. Ich verwende OSX El Capitan, aber die Maschine, in die ich nur "Standardwerte" eingeben möchte (mein Funktionsname in .bash_profile), wird eine hohe Sierra sein.
Schau rein ~/Library/Preferences/com.apple.systemuiserver.plist.
danke @IconDaemon - jetzt habe ich eine Liste dessen, was ich normalerweise verwende. aber ich bin mir nicht sicher, wie ich diese Informationen zum Schreiben auf einem brandneuen Computer verwenden soll. außerdem scheint das Battery.menu nicht automatisch den Prozentsatz anzugeben.
Der folgende Befehl zeigt den Batterieprozentsatz an:defaults write com.apple.menuextra.battery ShowPercent YES; killall SystemUIServer
@ user3439894 Weißt du, ich konnte das nicht unter OS X El Capitan zum Laufen bringen. Es scheint, dass diese von Zeit zu Zeit optimiert werden, also werde ich diese auf macOS High Sierra ausprobieren und sehen, ob das funktionieren würde. Wie seltsam.
Ich konnte es nicht mit OSX El Capitan, High Sierra oder Mojave zum Laufen bringen. weiß nicht was los ist. Ich suche natürlich gerade nach der Mojave-Lösung.

Antworten (2)

Dieser defaults writeBefehl aktiviert mehrere Menüleistensymbole, einschließlich Bluetooth.

defaults write com.apple.systemuiserver menuExtras -array \
"/System/Library/CoreServices/Menu Extras/AirPort.menu" \
"/System/Library/CoreServices/Menu Extras/Bluetooth.menu" \
"/System/Library/CoreServices/Menu Extras/Clock.menu" \
"/System/Library/CoreServices/Menu Extras/Displays.menu" \
"/System/Library/CoreServices/Menu Extras/Volume.menu"

Änderungen werden erst wirksam, wenn Sie den SystemUIServer neu starten :
killall SystemUIServer

Wenn Sie zusätzliche Elemente aktivieren möchten, suchen Sie ~/Library/Preferences/com.apple.systemuiserver.plistnach dem genauen Namen des gesuchten Menü-Extras.

Hinweis: Wenn Sie versuchen, ein Menü-Extra zu aktivieren, das Sie nicht auf Ihrem Computer haben, bleibt der Befehl in einer Endlosschleife hängen. Eject.menuEinige Benutzer haben beispielsweise möglicherweise nicht die .

Ich erhalte eine Endlosschleife von 2018-09-25 00:31:35.052 defaults[48638:10853265] Rep argument is not a dictionary Standardwerte wurden nicht geändert. 2018-09-25 00:31:35.973 defaults[48677:10853403] Rep-Argument ist kein Wörterbuch Defaults wurden nicht geändert. 2018-09-25 00:31:36.892 defaults[48715:10853535] Rep-Argument ist kein Wörterbuch Defaults wurden nicht geändert. 2018-09-25 00:31:37.807 defaults[48753:10853666] Rep argument is not a dictionary Standardwerte wurden nicht geändert. mit macOS HighSierra. Was mache ich falsch?
@esaruoho Der Befehl muss aus einer Zeile bestehen - wenn Sie zusätzliche Wagenrückläufe oder Leerzeilen enthalten, kann dies zu einem Problem wie dem von Ihnen erwähnten führen.
Ich habe es als eine Zeile eingefügt und diese Fehler erhalten.
Hallo, nachdem ich Eject entfernt hatte, konnte ich sie alle zum Laufen bringen. Eject.menu hat diese Endlosschleife erstellt :)
Für mich würde das Uhrelement nach dem Ausführen von killall immer wieder in den Standardeinstellungen erscheinen

In macOS Big Sur scheinen einige der Optionen eingestellt zu sein

~/Library/Preferences/ByHost/com.apple.controlcenter.$hostId

und kann mit dem defaults -currentHost writeBefehl gesetzt werden.

Der Batterieprozentsatz ist einer davon.