답변:
그래서 AppleScript를 사용하여 Reddit에서 해결책을 찾았지만 언젠가 오류가 발생했기 때문에 완전히 작동하지 않았습니다.
"System Events got an error: Can’t get tab group 1 of window 1 of process \"System Preferences\". Invalid index." number -1719 from tab group 1 of window 1 of process "System Preferences"
코드의 원래 소스 : https://www.reddit.com/r/apple/comments/34qmn0/is_there_a_shortcut_or_command_to_switch_the_lr/
tell application "System Preferences"
activate
reveal anchor "output" of pane id "com.apple.preference.sound"
end tell
tell application "System Events"
tell slider 1 of group 1 of tab group 1 of window 1 of process "System Preferences"
set value to 0.5
end tell
end tell
tell application "System Preferences"
quit
end tell
코드를 약간 변경했습니다.
tell application "System Preferences"
activate
reveal anchor "output" of pane id "com.apple.preference.sound"
end tell
tell application "System Events"
tell application process "System Preferences"
repeat until exists tab group 1 of window "Sound"
end repeat
tell slider 1 of group 1 of tab group 1 of window "Sound"
set value to 0.5
end tell
end tell
end tell
tell application "System Preferences"
quit
end tell
내 코드를 저장했습니다 ~/Applications/FixSoundBalance.applescript
그리고 crontab -e
그 값 으로 crontab 을 만들었습니다 .
*/5 * * * * /usr/bin/osascript ~/Applications/FixSoundBalance.applescript >/dev/null 2>&1
그리고 Mojave에서는 Cron에 접근성 (보안 및 개인 정보, 탭 개인 정보)에 액세스 할 수있는 권한을 처음으로 부여해야합니다.
alfredapp https://www.alfredapp.com/ 을 사용할 때 Features -> Default Results -> Extras
확인란 AppleScripts
을 설정 한 다음 수정을 검색 할 때 ...를 검색하면 결과로 스크립트를 가져 와서 직접 실행할 수 있습니다. 그런 다음 cronjob을 설정할 필요가 없습니다.