26 votos

Cómo activar/desactivar no molestar desde shell en Mavericks

Me gustaría alternar el No Molestar en el centro de notificaciones con un atajo de teclado.

Yo estoy usando el mejor toque de la herramienta para algo más de atajos de teclado pero no es compatible con la activación/desactivación de las notificaciones en las opciones por defecto.

Tiene una opción para ejecutar un comando de terminal, así que estoy pidiendo aquí cómo activar/desactivar No Molestar desde el terminal?

He encontrado este post y he intentado ejecutar los comandos pero no parece funcionar.

Editar:

Me enteré de cómo cambiarlo en el archivo de configuración:

defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.A7CBDEFD-A69F-57AE-9F7B-496D40E34762.plist doNotDisturb 1

Tenga en cuenta que A7CBDEFD-A69F-57AE-9F7B-496D40E34762 es específico para mi sistema.

Cambia el valor, pero no la muestra en el Centro de Notificaciones. También,

killall NotificationCenter

se reiniciará el Centro de Notificaciones con 0, que está desactivado.

20voto

webmarc Puntos 999

Sólo puede configurar un atajo de teclado global en Preferencias del Sistema -> Teclado -> accesos directos -> Control de la Misión

O si usted quiere definitivamente desde la línea de comandos, un applescript para hacer esto (suponiendo que configurar el atajo de teclado para usar cmdcambiooptarctrlD.

Tenga en cuenta que usted todavía DEBE la instalación de un comando de teclado en las Preferencias del Sistema para que esto funcione.

Poner la siguiente secuencia de comandos en un archivo, digamos, ~/dnd.applescript

ignoring application responses
    tell application "System Events" to keystroke "D" using {command down, shift down, option down, control down}
end ignoring

Ahora puede ejecutar osascript ~/dnd.applescript desde la línea de comandos para cambiar su DND configuración.

Captura de pantalla: Keyboard shortcut modification in System Preferences

18voto

James Puntos 106

A partir de OS X 10.10.3, este AppleScript alternará «No molestar.» No hay atajo de teclado necesaria:

tell application "System Events" to tell process "SystemUIServer"
  key down option
  click menu bar item 1 of menu bar 2
  key up option
end tell

Puede guardar como un AppleScript y ejecutar desde la terminal con osascript DoNotDisturb.applescript , o se puede incluir en un script Bash por envolviéndolo en un heredoc como tal:

#!/bin/bash
osascript <<EOD
  tell application "System Events" to tell process "SystemUIServer"
    key down option
    click menu bar item 1 of menu bar 2
    key up option
  end tell
EOD

1voto

Greg Harrison Puntos 176

Basándose en la respuesta de James, también quisiera señalar que también se puede determinar si es activar o desactivar. Así que a continuación se apaga y no hace nada si ya apagado:

if [[ $(plutil -convert xml1 -o - ~/Library/Preferences/ByHost/com.apple.notificationcenterui.000-000-000-000.plist | grep false) ]]; then
    osascript <<EOD
      tell application "System Events" to tell process "SystemUIServer"
        key down option
        click menu bar item 1 of menu bar 2
        key up option
      end tell
EOD
fi

Se debe sustituir su propio GUID de la máquina en el nombre del archivo (hay sólo un archivo, por lo que es fácil de averiguar)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X