Esta es una solución de dos partes:
- un applecript para hacer clic en el monitor de detección
- un script de bash para ejecutar el script
"Guardé" el applecript en $ HOME / source / detectmonitor.scpt (ver
Ejecute AppleScript desde el script de bash ) cómo solucionar el problema que no puede realmente comienza con un archivo de texto ...
Luego guardé el bashscript en $ HOME / dm
He creado un enlace simbólico
ln -s $ HOME / Desktop / detectMonitors $ HOME / bin / dm
y configuro mis preferencias de Terminal de acuerdo con enlace
ahora puedo hacer doble clic en "detectMonitors" en mi escritorio para solucionar el problema.
Applescript para hacer clic en "detectar monitor" en las preferencias del sistema del monitor
vea enlace
-- Script to click the "Detect Displays" button
-- 2015-12-22 WF
-- see https://stackoverflow.com/questions/12640643/applescript-to-run-detect-displays
-- adopt to your language settings by setting the right button name below
-- currently this is german "Monitore erkennen"
-- to create and run this script you need a compiled scpt file to begin with see
-- https://apple.stackexchange.com/questions/103621/run-applescript-from-bash-script
-- then you also need to set the security settings
tell application "System Preferences"
activate
reveal pane "com.apple.preference.displays"
end tell
delay 0.5
tell application "System Events"
tell process "System Preferences"
try --don't even consider not using a try block!
key down option
delay 0.5
--click button "Detect Displays" of window 1
click button "Monitore erkennen" of window 1
delay 0.5
key up option
tell application "System Preferences"
quit
end tell
on error errMsg --logging out is the only other way to clear these
key up option
display dialog "ERROR: " & errMsg
end try
end tell
end tell
Bash-Script para ejecutar el applecript
#!/bin/bash
# WF 2015-12-22
# run detect monitors
cd $HOME/source/applescript
osascript detectmonitor.scpt
# set Terminal settings
# according to https://stackoverflow.com/a/8822669/1497139
# to get this to close your terminal window
exit 0