Leitor pergunta: Configurando o Mac para tomar providências quando você se afasta

A leitora Sylvia pergunta:

Gostaria que meu MacBook tomasse algumas providências (como pausar o iTunes, colocar uma mensagem no MSN e no Gtalk e ligar a proteção de tela) sempre que saio da minha sala e o deixo lá. Li que outros sistemas operacionais têm como fazer isso detectando o afastamento do usuário via bluetooth, porque o usuário leva junto o celular quando sai da sala. É possível fazer isso no Mac OS X?

Para mim esta também é uma necessidade comum, afinal vivo tendo de me ausentar da sala sem saber quando retornarei, e nem sempre lembro de "avisar" pro Mac adequadamente.

Aí quando retorno é aquela cena que todo mundo conhece: mesmo se o screen saver tiver acionado automaticamente, o iTunes sempre terá terminado o disco que eu estava ouvindo e começado a tocar alguma música chata e estridente que atrapalha os colegas, assim como sempre terá surgido uma infinidade de janelas de pessoas chamando no chat sobre assuntos importantes sem saber da minha ausência, etc.

Detectando ausência via celular com Bluetooth

Aplicativos que reagem à presença ou ausência do usuário baseando-se na conexão Bluetooth são uma sacada inteligente e estão presentes há anos em diversos sistemas operacionais.

A ideia básica deles é que o usuário, quando vai para longe do computador, geralmente leva o telefone celular consigo - e se a comunicação Bluetooth entre o celular e o computador estiver configurada, é possível detectar automaticamente as partidas e retornos por meio da disponibilidade ou não desta comunicação entre os aparelhos.

Entra em cena o Proximity

Existem variadas soluções para obter este efeito no Mac, e a web me indica que uma das mais populares é o Airlock, que custa ~R$ 12 e não conseguiu se instalar nos meus computadores - segundo seu site, ele está há um bom tempo sem atualizações, portanto não tenho como recomendá-lo.

Eu testei várias outras soluções com graus variados de complexidade, e acabei tendo sucesso pleno com apenas uma delas: o Proximity, um software de código aberto disponível no Google Code.

Embora a sua configuração exija usuários empreendedores, a instalação em si não é das mais complicadas: download, descompacta e arrasta pros Aplicativos. Ou seja:

  1. faça o download,
  2. descompacte o zip para extrair o arquivo do Proximity,
  3. arraste para a pasta de aplicativos na sua Dock (na base da tela) o ícone do Proximity que foi extraído do zip

E pronto - agora é só rodá-lo, diretamente do ícone que você arrastou para a pasta de aplicativos da sua Dock.

Após rodar o Proximity, ele se instala como um ícone (do símbolo do Bluetooth acompanhado pela palavra "IN" ou "OUT") na barra de menus do Mac, e basta clicar nele para ter acesso ao seu painel de preferências, sobre o qual falaremos abaixo.

Nota: este não é um aplicativo de segurança

Um alerta antes de prosseguir: o Proximity, assim como outros aplicativos que operam pelo princípio da proximidade Bluetooth, é um aplicativo de conveniência, e não de segurança.

Não deixe seu Mac em locais inseguros e, se você tem qualquer dado cuja privacidade ou disponibilidade precisam ser preservadas em relação às pessoas que têm acesso ao local em que seu Mac fica, a solução ideal é protegê-los no armazenamento (com criptografia e similares) e travar o acesso ao Mac manualmente no momento em que você se ausenta dele - afinal, o sinal Bluetooth continua disponível enquanto você dá os primeiros passos fora da sala, e estes eventuais "atacantes" terão tempo suficiente para impedir o travamento sem você perceber.

O que dá para fazer com o Proximity

O Proximity permite fazer, tanto no momento do afastamento como no do retorno, qualquer coisa no seu Mac que possa ser automatizada via AppleScripts ou shell scripts. Alguns exemplos:

  • Pausar/retornar a execução de áudio no iTunes
  • Iniciar ou suspender a proteção de tela
  • Gravar cópias de segurança de todos os documentos abertos
  • Definir o status de Away (e depois de Online) no seu bate-papo com o Adium, o Skype ou outros aplicativos
  • Fechar, abrir ou mudar a prioridade de algum aplicativo
  • Iniciar, suspender ou mudar a prioridade de algum download
  • Enviar um e-mail
  • Registrar o horário de ausência e retorno em uma base de dados
  • etc. etc. etc.

Criar um AppleScript (ou shell script) para realizar as tarefas acima pode ser simples, mas geralmente assusta usuários iniciantes.

Felizmente existem os scripts-modelo para o Proximity, facilmente encontráveis com uma busca no Google - inclusive o meu, abaixo, que você pode ativar fazendo o download de um ZIP contendo meus scripts complementares, conforme explico a seguir.

Um exemplo de configuração simples para você copiar

A minha tela de configuração é exatamente igual à mostrada na imagem abaixo:

Para reproduzi-la, partindo da configuração default, você só precisa:

  1. passar o intervalo de monitoramento para 10 segundos (gasta mais bateria do telefone do que os 60 segundos do default, mas em compensação reage mais rapidamente aos afastamentos e retornos),
  2. pressionar o botão "Change Device" para selecionar o seu fone Bluetooth (pode ser de qualquer marca, não precisa ser iPhone)
  3. Fazer o download dos meus 2 scripts básicos, que também vêm em um um ZIP - é só descompactá-lo na sua pasta preferida para extrair os arquivos proximity-off.scpt e proximity-back.scpt.
  4. usar os botões "Change" próximos aos 2 campos de texto das preferências do Proximity para selecionar o script de afastamento (o proximity-off.scpt, preenchido no campo do "Out of range script") e o de retorno (o proximity-back.scpt, preenchido no campo "In Range Script").

Aí é só fechar a janela de preferências, colocar o telefone do bolso e se afastar (no meu caso, uns 25 metros), largar o telefone lá (em um local seguro, por favor!) e voltar correndo para ver se o Proximity realizou bem sua tarefa ;-)

Inicialização automática

Depois de testar e aprovar, faz sentido colocar o Proximity na sua lista de itens de início de sessão, para que ele execute automaticamente sempre que você fizer logon no Mac.

Os detalhes de como lidar com a lista de itens para início automático serão tema de um artigo futuro, mas vou adiantar o básico para você se virar (e nem é muito difícil): abra as Preferências do Sistema, clique no ícone Contas, selecione o seu usuário e clique na aba "Itens de In. de Sessão", para exibir a tela a seguir:

Na tela acima, clique no botão com o sinal de "+", navegue até a sua pasta de Aplicativos, selecione nela o Proximity e clique em Adicionar. Com isso, o Proximity passará a rodar automaticamente a cada nova inicialização.

Opcional: alterando os scripts

O procedimento de configuração do Proximity acaba no passo acima, mas os curiosos podem ver abaixo o código de um dos 2 scripts (o de ativação) na íntegra:

AppleScript não é uma linguagem complicada (embora seja cheia de idiossincrasias), e as versões do meu script que constam no ZIP para download são editáveis - se quiser modificá-las basta abri-las no AppleScript Editor do seu Mac.

Existem scripts do Proximity bem mais elaborados por aí, e o meu se limita a abrir o screensaver, pausar o iTunes e colocar todas as contas do Adium em away - desfazendo tudo isso no retorno. Entre as outras alternativas, um dos meus scripts preferidos é este do lalcan que gerencia o Adium, o Skype, o iTunes (com direito a fade-out e fade-in do áudio) e a proteção de tela (com senha - em uma implementação de cuja segurança eu discordo).

Pro pessoal da tradição Unix, se quiserem chamar um shell script basta escrever um AppleScript de uma única linha fazendo uso do comando "do shell script" para executar o seu script.

Altere meu script à vontade para controlar os seus aplicativos favoritos, mas desde já preciso avisar: não posso oferecer suporte nem garantia! Para saber mais sobre a linguagem usada no script, recomendo começar pela leitura do AppleScript: The Missing Manual (um pouco datado mas com boa didática).

Comentar

Comentários arquivados

Artigos recentes: