Eu me perco no askubuntu lendo Q&A e experimentando trechos de código recomendados. Por isso, muitas vezes sinto falta de mudar de canal de notícias na TV na hora da hora. Não é um grande problema para os canais do youtube que permitem a mudança de tempo, mas é uma "interrupção do programa" para canais de TV usando o flash player.
Pode cron
ser configurado para executar um trabalho no topo de cada hora em que forneço um script para soar um avô como um toque de relógio (com volume de som sutil, é claro!)? Um pequeno sinal sonoro também pode ser emitido no final da hora. Tenho certeza de que posso localizar arquivos .ogg
ou adequados .oga
na rede e sei que posso usá ogg123
-los para reproduzi-los. Só não sei se cron
poderia fazê-lo. Eu sei que eu poderia usar um script que dorme e acorda para testar o tempo, mas não gosta do pensamento de ter algo em execução o tempo todo (há bastante disso acontecendo, eu acho).
Se isso puder ser feito, cron
alguém pode responder como configurá-lo?
Obrigado.
cron
que está além do escopo da pergunta. Para sua informação, escrevi o script do relógio do avô na resposta abaixo.Respostas:
Sim você pode.
Abra sua
cron
mesa comcrontab -e
e adicione:Substitua
/path/to/player
e/path/to/file.ogg
pelos respectivos valores desejados.O item acima reproduz o som (ou seja, executa o comando), a cada hora no
00
-ésimo (início do primeiro) minuto.Se você deseja executar o comando também no
30
décimo minuto de cada hora:fonte
crontab -e
, diz que não há arquivo criado para minha conta de usuário. Oferece para criar um comnano
. Eu fiz isso e configurei os comandos sugeridos. Ao selecionar^W
(arquivo de gravação) o nome do arquivo padrão é:/tmp/crontab.6QN0vo/crontab
. O nome do arquivo parece muito errado. Você pode atualizar sua resposta para criar um novocrontab -e
arquivo de configuração? Observe que meu sistema já está configurado para excluir/tmp/IG*
arquivos com mais de um dia de funcionamento e que estão funcionando bem (eu simplesmente não me lembro de como montei esse filhote).cron
abre esse arquivo temporariamente/tmp
, depois de salvar o conteúdo, criar / substituir o arquivo/var/spool/cron/crontabs/<username>
e isso é permanente.heemayl forneceu a resposta correta para começar
cron
a correr na parte superior e inferior da hora. Obrigado novamente! No entanto, como outros usuários descobriram,cronjob
não é possível reproduzir arquivos de som por padrão:Configurando
cron
para reproduzir sonsPara
cron
reproduzir arquivos de som, ele precisa deexport
uma variável de ambiente:Uma vez feito isso no seu script, os sons serão reproduzidos.
Como apontado por outra resposta seu ID de usuário nem sempre pode ser
1000
. Para encontrar seu ID de usuário, use:Se o seu ID do usuário não for 1000, altere o script para o seu ID.
Configure
cron
para executar a parte superior da hora e a parte inferior da horacrontab -e
configuração (apenas nas últimas 5 linhas):A maioria dos usuários configuram
cron
para usar onano
editor. Use estas teclas de controlenano
para salvar seu trabalho:/tmp...
nome de arquivo é apresentado, mas não se preocupe, basta pressionar Enter.nano
editor.O
bottom-of-hour-chime
script é executado na parte superior da hora também, mas tudo bem, pois é curto e agradável.Se você não tiver o
>/dev/null
no final das linhas,cron
tente enviar um email com a saída do comando. Se você não tiver o servidor de email configurado, uma mensagem de erro será exibida no seu/var/log/syslog
arquivo:Configurando
cron
para exibir notificações pop-upO script exibe uma mensagem de notificação pop-up na parte superior de cada hora. Portanto, para isso, uma variável adicional precisa ser exportada:
Conteúdo de
top-of-hour-chime
o
export XDG_RUNTIME_DIR...
é necessário para obter o som para o jogo. Isso ocorre porque écron
executado em ambiente mínimo. Essa linha deve ser omitida primeiro se você usar um reprodutor de som de terceiros. Se não houver som, coloque a linha de volta. Ainda assim, se não houver som, caça feliz!Os dois principais noticiários de TV que eu assisto na Internet têm um volume mais baixo que o normal e, portanto, a TV aumentou mais que o normal. Consequentemente, quando
ogg123
reproduz arquivos de som, eles soam muito altos. Entãopactl
é usado para reduzir o volume antes do carrilhão e aumentá-lo depois.Conteúdo do carrilhão da parte inferior da hora
Isso é quase uma duplicata
top-of-hour-chime
e talvez redundante aqui, mas incluído para fins de documentação completa.fonte
Apesar de usar esta exportação:
não funcionou.
Após meses de pesquisa, não encontrou solução.
Em desespero, tentei o seguinte e funcionou:
Digite o seguinte em contab
Próximo criar
.play_sound.sh
/root/.play_sound.sh
Espero que isto ajude.
fonte