Embrulhe o script em um script de shell e execute o script de shell.
#!/bin/bash
### xrandr command to set display size downsized
xrandr -s 800x600
... run program ...
### xrandr command to reset display back to normal size
xrandr -s 1366x768
Playonlinux e WINE são ótimos. Finalmente eu posso ter meus jogos favoritos e as alegrias do Linux sem ter dual-boot ou preenchendo meu disco com lixo do Windows! Mas alguns são bem antigos e só funcionam com resoluções mais baixas. Felizmente, mantenho um emulador de terminal aberto e faço apenas xrandr -s 1366x768
. Às vezes é difícil: em 800x600
não consigo rolar para baixo nem ver o que estou escrevendo. E eu sei exatamente os processos que mudam a resolução. Isso me fez pensar: posso automatizá-lo?
Eu sei que com crontab
posso executar tarefas por algumas horas ou na inicialização. Mas e quanto ao agendamento para quando algum script específico é executado ou termina? Ou mesmo quando o sistema fica preso, para matar o processo culpado? Como posso agendar tarefas para qualquer evento? Preciso de outro programa?
Obrigado antecipadamente,
Embrulhe o script em um script de shell e execute o script de shell.
#!/bin/bash
### xrandr command to set display size downsized
xrandr -s 800x600
... run program ...
### xrandr command to reset display back to normal size
xrandr -s 1366x768
Você pode executar vários scripts juntos ao executá-los.
, por exemplo: Se você quiser fazer o desligamento do sistema depois que o sistema terminar de atualizar, será possível executar os dois juntos usando um ;
entre eles. Gostar
sudo apt-get update; sudo poweroff
Da mesma forma, no seu caso, ao invocar o programa de vinhos, você pode executá-los através do terminal ou escrever um script de shell para fazer o mesmo que executa algo como:
xrandr -s 800x600; path/to/program -parameters; xrandr -s 1366x768
Assim que seu programa terminar (e não retornar nenhum erro como seu código de saída), o terminal deverá executar o código final do seu script acima. Você não precisa da primeira parte do código acima se o seu programa alterar automaticamente a resolução para 800x600.
Edit: Como apontado por @slm, use ;
ao invés de &&
, pois se um dos comandos retornar false, o resto dos comandos não serão executados. Corrigido minha resposta de acordo.
Tags ubuntu scheduling