Uma grande dificuldade aqui é que a chave menuExtras
em com.apple.systemuiserver
é uma matriz que é reordenada quando você arrasta seus Extras de Menu pela barra de menus (e os adiciona e remove).
No seu caso citado acima, o Extra Menu Wi-Fi é o segundo item (que é o índice de matriz 1, porque esses arrays são indexados como C arrays), então você pode removê-lo com PlistBuddy
, isn ' t no seu $PATH
porque está oculto em /usr/libexec
. Você precisa usar PlistBuddy
porque o comando defaults
não possui sintaxe para especificar um índice de matriz. Em seguida, mate SystemUIServer para obtê-lo para recarregar:
/usr/libexec/PlistBuddy -c 'Delete :menuExtras:1' ~/Library/Preferences/com.apple.systemuiserver.plist
killall SystemUIServer
Para adicioná-lo de volta, faça algo assim:
/usr/libexec/PlistBuddy -c 'Add :menuExtras:1 string "/System/Library/CoreServices/Menu Extras/AirPort.menu"' ~/Library/Preferences/com.apple.systemuiserver.plist
killall SystemUIServer
Observe que isso será interrompido se você remover ou adicionar o Menu Extras de forma que o Menu Extra do Wi-Fi não seja o segundo Menu Extra da esquerda na barra de menus. Com um pouco mais de trabalho de script, você poderia percorrer o array menuExtras
procurando pelo menu adicional AirPort (Wi-Fi), anote seu índice e, em seguida, insira isso no comando PlistBuddy.