Agendamento de aplicativos para modificar suas configurações -- schedule camp apple Relacionado O problema

Scheduling Application to Modify Its Settings


0
vote

problema

português

Como se trata de agendar "configurações" para mudar em aplicativos dados determinados critérios? Por exemplo, estou usando o Adium, e entre as 8h e as 17:00, gostaria que esse status sejam definidos como "disponíveis", e fora dessas horas "invisíveis" ou "fora".

english

How does one go about scheduling "settings" to change on applications given certain criteria? For e.g., I am using Adium, and between the hours of 8am and 5pm, I would like that status to set to "Available", and outside of these hours go "Invisible" or "Away".

  

Lista de respostas

1
 
vote
vote
Melhor resposta
 

A maneira mais fácil de fazer isso é via AppleScript. Os comandos que você precisa são de linha única. Para tornar o Adium Go Online, o código AppleScript é:

  tell application "Adium" to go online    

Para torná-lo invisível, o código AppleScript é:

  tell application "Adium" to go invisible    

bem simples. Você também pode dizer o Adium para go away . Abra o aplicativo AppleScript Editor em seu diretório / Aplicativos / Utilitários e crie dois arquivos AppleScript; Um tem apenas o comando para ir online e outro o comando para ir invisível / away. Salve-os como arquivos .CTP com nomes apropriados.

Essa foi a parte fácil. A próxima pergunta é como você aciona o script certo no momento certo? Você essencialmente precisa criar as duas tarefas agendadas a seguir:

"Run Adium_Invisible.cpt às 17:00 todos os dias"

"executar adium_online.cpt às 8h todos os dias"

A maneira padrão de fazer isso, incorporada no OS X, é usar o daemon do Unix 'CRON'. Sua documentação pode ser encontrada aqui . Se você encontrar a interface cron Intimidando, há um aplicativo GUI que você pode usar para definir tarefas para cima, chamado cronnix < / a>.

Você ainda precisará entender a sintaxe de tempo que os arquivos crontab usam embora. wikipedia pode te colocar velocidade nisso. Dentro do seu usuário crontab você deseja criar duas tarefas agendadas. Eles devem ficar assim:

  0 8 * * * osascript path/to/adium_online.scpt    

e

  0 17 * * * osascript path/to/adium_invisible.scpt    

osascript é um comando específico da Apple que permite a chamada shell e executar um AppleScript. Você dá o caminho para o arquivo .cpt como um paramater. Depois de ter as duas tarefas do cron, você deve ser bom para ir.

Se editar o arquivo crontab manualmente, e não usar o Cronnix, não copie e cole estes verbatim, como as guias são necessárias entre as horas, minutos, dias, etc., não espaços como eu tenho aqui.

Além disso, você pode criar tarefas cron que usam osascript e passam diretamente no AppleScript como este:

  osascript -e 'tell application "Adium" to go online'    

No entanto, armazenar os comandos AppleScript em um arquivo separado fornece flexibilidade no evento provável que você precisa alterar quais comandos são executados mais tarde. Você pode adicionar ou remover dos arquivos .cpt sem necessidade de interferir no arquivo crontab.

 

The easiest way to do this is via Applescript. The commands you need are both single line. To make Adium go online the Applescript code is:

tell application "Adium" to go online 

To make it go invisible, the Applescript code is:

tell application "Adium" to go invisible 

Pretty simple. You can also tell Adium to go away. Open the Applescript Editor App in your /Applications/Utilities directory and create two Applescript files; one has just the command to go online and the other the command to go invisible/away. Save them as .scpt files with appropriate names.

That was the easy part. The next question is how do you trigger the right script at the right time? You essentially need to create the following two scheduled tasks:

"run adium_invisible.scpt at 5pm everyday"

"run adium_online.scpt at 8am everyday"

The default way to do this, built into OS X, is to use the UNIX 'cron' daemon. It's documentation can be found here. If you find the cron interface intimidating, there is a GUI app you can use to set tasks up, called Cronnix.

You'll still need to understand the timing syntax that crontab files use though. Wikipedia can get you up speed on that. Inside your user crontab you want to create two scheduled tasks. They should look like this:

0 8 * * * osascript path/to/adium_online.scpt 

and

0 17 * * * osascript path/to/adium_invisible.scpt 

osascript is an Apple specific command that lets the shell call and run an Applescript. You give it the path to the .scpt file as a paramater. Once you have the two cron tasks set up you should be good to go.

If editing the crontab file by hand, and not using Cronnix, don't copy and paste these verbatim, as tabs are required between the hours, minutes, days etc., not spaces as I have here.

Also, you could create cron tasks that use osascript and pass the Applescript directly like this:

osascript -e 'tell application "Adium" to go online' 

However, storing the Applescript commands in a separate file gives you flexibility in the likely event that you need to change what commands get run later on. You can add to or remove from the .scpt files without needing to interfere with the crontab file.

 
 
   
   

Perguntas relacionadas

11  OS X: Existe um programa agendador embutido?  ( Os x is there a built in scheduler program ) 
Eu gostaria de agendar uma tarefa para executar com parâmetros em uma hora / data específica no futuro. O OS X inclui qualquer ferramenta (mesmo que seja li...

5  Por que a máquina do tempo não faz backups agendados depois do meu Yosemite -> Upgrade El Capitan?  ( Why doesnt time machine do scheduled backups after my yosemite el capitan up ) 
Resumo Desde a atualização para o El Capitan a partir de Yosemite, a máquina do tempo funciona manualmente, mas os backups automatizados e os ícones de disc...

22  Por que o Cron está sendo reprovado?  ( Why is cron being deprecated ) 
Acabei de descobrir que cron foi reprovado no Mac OS X. Por que é isso e, eventualmente, será completamente removido de lançamentos futuros? ...

8  Posso agendar startup e desligamento com diferentes configurações para dias de semana e fins de semana?  ( Can i schedule startup and shutdown with different settings for weekdays and wee ) 
Todos os dias, eu costumo começar meu Mac mini às 16:00 e desligamento às 2:00 usando as configurações do agendamento da economia de energia. Eu gostaria de...

1  Como criar tarefa diária para o GMVault no Automator  ( How to create daily task for gmvault in automator ) 
Acabei de me mudar para a Apple, sendo uma experiência (eu gostaria de pensar assim) usuário do Windows. Recentemente eu comecei a usar o GMVault (GMVault.o...

3  Como automatizar a execução localizar. Usando um script bash  ( How to automate execution locate updatedb by using a bash script ) 
Eu estou procurando um conjunto de comandos que irá permitir-me agendar a execução de /usr/libexec/locate.updatedb uma vez todos os dias. Por favor, respo...

2  Máquina de tempo de execução apenas 1 vez por dia às 02:00?  ( Running time machine only 1 time a day at 0200am ) 
Eu devo dizer que a máquina do tempo é muito útil, e me salvou algumas vezes. O problema é que parece correr todos os tempos e desacelerar o sistema em muito ...

3  Aplicativo para agendamento de Tweets  ( Application for scheduling tweets ) 
Parece haver vários aplicativos MAC que enviarão tweets programados com antecedência, mas estou tendo dificuldade em descobrir o que é bom. A maior parte dos ...

5  Existe uma maneira de ter uma tarefa agendada que será executada mais tarde se o MacOSX estiver dormindo no momento de execução esperado?  ( Is there a way to have a scheduled task that will run later if macosx is asleep ) 
Eu quero uma tarefa de backup para executar uma vez por semana. O computador que eu quero fazer isso é um laptop, que muitas vezes é desligado / dormindo. E...

3  A transmissão aborta automatizada  ( Transmission aborts automated shut down ) 
Meu ISP oferece downloads ilimitados em um determinado período de tempo à noite, mas não quero acordar para desligar meu MBP 13.3 naquele momento. Eu tentei e...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.