이것은 두 부분으로 된 해결 방법입니다.
- 감지 모니터를 클릭하는 애플 스크립트
- 스크립트를 실행하는 bash 스크립트
나는 텍스트 파일로 시작할 수없는 문제를 해결하는 방법을 사과 파일을 $ HOME / source / detectmonitor.scpt ( bash 스크립트에서 AppleScript 실행 참조)에 "저장했습니다"
.
그런 다음 bashscript를 $ HOME / dm에 저장했습니다.
기호 링크 ln -s $ HOME / Desktop / detectMonitors $ HOME / bin / dm을 작성했습니다.
https://stackoverflow.com/a/8822669/1497139 에 따라 터미널 환경 설정을 지정 하십시오.
이제 데스크톱에서 "detectMonitors"를 두 번 클릭하여 문제를 해결할 수 있습니다.
모니터 시스템 환경 설정에서 "모니터 감지"를 클릭하는 Applescript
https://stackoverflow.com/questions/12640643/applescript-to-run-detect-displays를 참조 하십시오.
-- 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
#!/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