Czy wiersz poleceń „defaults write” może skonfigurować pasek menu w systemie macOS?


17

Naprawdę chciałbym użyć skryptu, aby włączyć te rzeczy w systemie macOS High Sierra, używając ustawień domyślnych. Wiem, jak utworzyć skrypt w .bash_profile, ponieważ użyję do niego funkcji, a następnie po prostu uruchomię funkcję w terminalu. Jednak brakuje mi rzeczywistych ciągów, które umożliwiają:

  • Wyświetlanie ikony Bluetooth
  • Wyświetlanie ikony głośności
  • Wyświetlanie procentu baterii
  • Wyświetlanie pełnej daty

Czy którekolwiek z nich można programowo ustawić za pomocą ustawień domyślnych i czy zmieniły one wiele między 10.6 a 10.13?

Ok, w oparciu o to, co IconDeamon powiedział w sekcji komentarzy do tego postu, mogłem przejść i edytować ~/Library/Preferences/com.apple.systemuiserver.plistoraz zobaczyć listę menu, które włączyłem.

Jednak niekoniecznie prowadzi mnie to miejsca, do którego chcę się udać. Idealnie byłoby znaleźć listę i móc ją rozwiązać. Mam na myśli, okej, dzięki pomocy na tym forum wiem, że te, które chcę wyświetlić, to:

/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

i że na końcu menu może znajdować się znak „ a” _5lub „a”, _3wskazujący, gdzie powinien się udać. Ale..? Nie jest to do końca zapisywalny przez użytkownika plik tekstowy, który mogę po prostu edytować.


Zakładam, że wiesz, jak ustawić bash i skrypt i szukasz kluczy (lub kogoś do powiedzenia na płycie - nie możesz tego zrobić) dla konkretnej wersji macOS.
— bmike

tak. używam osx el capitan, ale maszyna, którą chcę po prostu wpisać „defaults” w (nazwa mojej funkcji w .bash_profile), będzie wysoką sierrą.
— esaruoho,

1
Zajrzyj do środka ~/Library/Preferences/com.apple.systemuiserver.plist.
— IconDaemon,

Dzięki @IconDaemon - teraz mam listę co i mają tendencję do używania. ale nie jestem pewien, jak wykorzystać te informacje do pisania na nowym komputerze. także menu Battery.menu nie wydaje się automatycznie określać procentu.
— esaruoho,

Następujące polecenie pokaże Procent baterii:defaults write com.apple.menuextra.battery ShowPercent YES; killall SystemUIServer
— user3439894

Odpowiedzi:


12

To defaults writepolecenie włączy kilka ikon paska menu, w tym 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"

Zmiany zaczną obowiązywać dopiero po ponownym uruchomieniu SystemUIServer :
killall SystemUIServer

Jeśli chcesz włączyć dodatkowe elementy, poszukaj ~/Library/Preferences/com.apple.systemuiserver.plistkonkretnej nazwy dodatkowego menu, którego szukasz.

Uwaga: Jeśli spróbujesz włączyć dodatkowe menu, którego nie masz na swoim komputerze, polecenie utknie w nieskończonej pętli. Niektórzy użytkownicy mogą Eject.menuna przykład nie mieć .


Dostaję nieskończoną pętlę domyślnych wartości domyślnych 00-09: 00: 31: 35.052 [48638: 10853265] Argument Rep nie jest słownikiem Domyślne wartości nie zostały zmienione. 2018-09-25 00: 31: 35.973 wartości domyślne [48677: 10853403] Argument Rep nie jest słownikiem Wartości domyślne nie zostały zmienione. 2018-09-25 00: 31: 36.892 wartości domyślne [48715: 10853535] Argument Rep nie jest słownikiem Wartości domyślne nie zostały zmienione. 2018-09-25 00: 31: 37.807 wartości domyślne [48753: 10853666] Argument Rep nie jest słownikiem Wartości domyślne nie zostały zmienione. z systemem macOS High Sierra. Co ja robię źle?
— esaruoho,

2
@esaruoho Polecenie musi składać się z jednej linii - jeśli masz dodatkowe znaki powrotu karetki lub puste linie, może to powodować problem taki jak ten, o którym wspomniałeś.
— Wade Williams,

Wkleiłem go jako jedną linię i otrzymałem te błędy.
— esaruoho

2
Cześć, po usunięciu Eject udało mi się sprawić, by wszystkie działały. Eject.menu tworzył tę niekończącą się pętlę :)
— esaruoho,

Dla mnie element Zegar zawsze pojawiałby się domyślnie po uruchomieniu killall
— felixfbecker
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.