Sim. Basta abrir as Preferências do Sistema na pasta /Applications
, selecionar "Contas" e, com seu nome de usuário destacado na lista à esquerda, selecione a guia "Itens de login". Arraste e solte o SelfControl na lista ou clique no botão "+" e navegue até o local.
Em seguida, o SelfControl sempre será iniciado quando você efetuar login.
Você precisará baixar e instalar o Usable Keychain Scripting de Daniel Jalkut para acessar sua senha de administrador com rapidez e segurança, a fim de ativar o SelfControl.
Adicionar senha ao Keychain
Abra Keychain Access.app . Crie uma nova senha digitando Cmd-N ou indo para Arquivo »Novo item de senha ... Em nome do item de chave, digite 'SelfControl'. Invente qualquer Nome da Conta no próximo campo e, no campo Senha, digite a senha da sua conta de usuário (a senha que você usaria para autenticar qualquer coisa no OS X). Clique em 'Adicionar' e agora você deve ter uma nova senha de aplicativo intitulada 'SelfControl' no seu Keychain.
Crie o AppleScript
Cole o seguinte conteúdo (originalmente de aqui ) para uma nova janela do 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
Definimos defaultTime
para 1440 (ou seja, 24 horas) aqui para que você possa iniciar automaticamente o SelfControl pelo tempo máximo.
Agora, no Editor AppleScript, salve esse arquivo em algum lugar pressionando Arquivo »Salvar , por exemplo /Users/your-username/SelfControl.scpt
, que estaria em nossa pasta pessoal. Lembre-se desse caminho.
Crie a entrada do launchd
Em seguida, abra seu editor de texto favorito ou o Property List Editor.app que vem com as ferramentas do Mac OS X Dev no Snow Leopard ou está integrado no Xcode on Lion.
De qualquer forma, cole o seguinte conteúdo, mas lembre-se de alterar o caminho para o script de acordo (não é o lembrado acima):
<?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>
Salve este arquivo com a extensão .plist
em /Users/your-username/Library/LaunchAgents/my.selfcontrol.launcher.plist
. Se a pasta Library estiver oculta, você pode abrir o Finder, pressionar Cmd Deslocar G e colar ~/Library
para abri-lo.
Carrega a entrada do launchd
Por fim, abra um terminal e execute:
launchctl load ~/Library/LaunchAgents/my.selfcontrol.launcher.plist
Isto irá dizer ao launchd para abrir o AppleScript e iniciar o SelfControl por vinte e quatro horas a cada vinte e quatro horas.
Como está em ~/Library/LaunchAgents
, ele será carregado automaticamente quando você efetuar login. Se desejar recuperar o computador, substitua load
no comando acima por unload
e espere o tempo restante de autocontrole expirar. / p>