Estou no processo de criação de um front-end GUI para xrandr
e preciso que alguns comandos sejam executados na inicialização.
Estou usando um .desktop
arquivo colocado em ~/.config/autostart
.
Não sei dizer se isso funcionará, pois xrandr
não funciona com minha configuração - sei que as coisas estão funcionando como deveriam; é só que meu sistema não suporta isso - vou receber vários erros de xrandr. O que também significa que receberei erros na inicialização e nenhuma alteração perceptível.
Existe alguma maneira de descobrir se os comandos foram executados?
Responder1
Se o seu arquivo iniciado automaticamente .desktop
for um script, você simplesmente pode colocar um eco de controle no script, como no exemplo a seguir:
# if yyou want only data saved for one run
echo "Script has run on $(date)" > ~/script.log
# if you want a continous log output append
if [ -e ~/script-log ]
then
echo "Script has run on $(date)" >> ~/script.log
else
touch ~/script.log
echo "Script has run on $(date)" >> ~/script.log
fi
Dessa forma, você ainda pode gerar alguns dados variáveis que deseja controlar dessa forma. Apenas certifique-se de que seu resultado final seja impresso após todos os comandos do script para que você saiba que o script foi executado.
Se você quiser saber exatamente se seus comandos em seu script falharam, você também pode fazer:
# do this at start of your script
if [ -e ~/script-error.log ]
then
# we do nothing
else
touch ~/script-error.log
fi
# then within your script (I use as example here cd /root just to demonstrate)
# you can do this with nearly all commands
cd /root 2>> ~/script-error.log
Isso seria buscado apenas se um de seus comandos gerasse um erro. Claro que não é aplicável em todos os lugares, mas ainda é melhor porque não tem saída alguma.
Explicação da tubulação:
# single piping symbol (overwrite the existing file and creates one if not existant)
> # pipes all output
1> # pipes only success messages
2> # pipes only error messages
# double piping symbol (append to an existing file and fail if file does not exist)
>> # pipes all output
1>> # pipes only success messages
2>> # pipes only error messages
Quer saber mais sobre scripts bash em profundidade aqui dois links:
Guia Bash para Iniciantes - Machtelt Garrels - 2008
Guia avançado de script Bash - Mendel Cooper - 2014