Да. Просто откройте Системные настройки из /Applications
папки, выберите «Учетные записи» и, выделив свое имя пользователя в списке слева, выберите вкладку «Элементы входа». Либо перетащите SelfControl в список, либо нажмите кнопку «+» и перейдите к его местоположению.
Затем SelfControl всегда будет запускаться при входе в систему.
Вам нужно будет скачать и установить сценарий использования цепочки для ключей Daniel Jalkut, чтобы быстро и безопасно получить доступ к паролю администратора, чтобы активировать SelfControl.
Добавить пароль в брелок
Откройте брелок Access.app . Создайте новый пароль, набрав Cmd-N или перейдя в Файл »Новый элемент пароля ... В поле« Имя элемента цепочки для ключей »введите« SelfControl ». Укажите любое имя учетной записи в следующем поле, а в поле «Пароль» введите пароль для своей учетной записи (пароль, который вы использовали бы для аутентификации чего-либо в OS X). Нажмите «Добавить», и теперь у вас должен быть новый пароль приложения под названием «SelfControl» в вашей цепочке для ключей.
Создайте AppleScript
Вставьте следующее содержимое (изначально отсюда ) в новое окно AppleScript Editor.app :
on run argv set defaultTime to 1440 try set myTime to item 1 of argv as number on error set myTime to defaultTime end try tell application "Usable Keychain Scripting" tell current keychain set myPass to (password of first generic item ¬ whose name contains "SelfControl") -- eliminate invisible characters, or "gremlins," from password set x to quoted form of myPass set myPass to do shell script "echo " & x & " | perl -pe 's/[^[:print:]]//g'" end tell end tell tell application "SelfControl" to activate tell application "System Events" tell process "SelfControl" tell slider of window "SelfControl" to set value to myTime click button "Start" of window "SelfControl" end tell tell window 1 of process "SecurityAgent" with timeout of 15 seconds repeat set tryAgain to false try set value of text field 2 of scroll area 1 of group 1 to myPass on error delay 1 set tryAgain to true end try if not tryAgain then exit repeat end repeat click button 2 of group 2 end timeout end tell end tell end run
Мы установили здесь defaultTime
значение 1440 (т.е. 24 часа), чтобы вы могли автоматически запускать SelfControl в течение максимального времени.
Теперь из редактора AppleScript сохраните этот файл где-нибудь, нажав Файл »Сохранить, например /Users/your-username/SelfControl.scpt
, который будет находиться в нашей домашней папке. Запомни этот путь.
Создать запись запуска
Затем откройте ваш любимый текстовый редактор или Property List Editor.app, который поставляется с инструментами разработчика Mac OS X на Snow Leopard или интегрирован в Xcode на Lion.
В любом случае, вставьте следующее содержимое, но обязательно измените путь к сценарию соответствующим образом (это не тот, который мы помнили выше):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>my.selfcontrol.launcher</string> <key>ProgramArguments</key> <array> <string>osascript</string> <string>/Users/your-username/SelfControl.scpt</string> </array> <key>StartInterval</key> <integer>86400</integer> <key>RunAtLoad</key> <false/> <key>KeepAlive</key> <false/> </dict> </plist>
Сохраните этот файл с .plist
расширением под /Users/your-username/Library/LaunchAgents/my.selfcontrol.launcher.plist
. Если папка «Библиотека» скрыта, вы можете открыть Finder, нажать CmdShiftGи вставить, ~/Library
чтобы открыть ее.
Загрузите запись запуска
Наконец, откройте терминал и запустите:
launchctl load ~/Library/LaunchAgents/my.selfcontrol.launcher.plist
Это скажет launchd открыть AppleScript и запустить SelfControl в течение двадцати четырех часов каждые двадцать четыре часа.
Поскольку он находится в ~/Library/LaunchAgents
нем, он будет загружен автоматически при входе в систему. Если вы хотите, чтобы ваш компьютер вернулся, замените load
приведенную выше команду на unload
, а затем дождитесь истечения оставшегося времени SelfControl.