Estoy en el proceso de crear una interfaz gráfica de usuario xrandr
y necesito que se ejecuten algunos comandos al inicio.
Estoy usando un .desktop
archivo colocado en ~/.config/autostart
.
No puedo decir si esto funcionará, ya que xrandr
no funciona con mi configuración; sé que las cosas están funcionando como deben ser; es solo que mi sistema no lo admite; obtendré un montón de errores xrandr. Lo que también significa que obtendré errores al iniciar y ningún cambio notable.
¿Hay alguna forma de saber si se han ejecutado los comandos?
Respuesta1
Si su archivo iniciado automáticamente .desktop
es un script, simplemente puede poner un eco de control en el script como en el siguiente ejemplo:
# 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
De esta manera, incluso puede generar algunos datos variables que quizás desee controlar de esta manera. Solo asegúrese de que el resultado final se imprima después de todos los comandos del script para que sepa que el script se ha ejecutado.
Si desea saber exactamente si los comandos de su script fallaron, también puede hacer:
# 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
Esto se recuperará solo si uno de sus comandos arrojara un error. Seguro que no es aplicable en todas partes, pero es mejor que no tenga ningún resultado.
Explicación de la tubería:
# 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
Si desea obtener más información sobre las secuencias de comandos bash en profundidad, aquí hay dos enlaces:
Guía de Bash para principiantes - Machtelt Garrels - 2008
Guía avanzada de secuencias de comandos Bash - Mendel Cooper - 2014