web-dev-qa-db-fra.com

Comment afficher stdout / stderr d'une application de démarrage?

Certaines des commandes que j'ai dans les applications de démarrage ne démarrent pas correctement lorsque je me connecte. (En particulier, j'ai des problèmes avec gtk-redshift.) Afin de déboguer, j'aimerais pouvoir afficher stdout/stderr. Je n'ai pas trouvé de fichier journal pour les applications de démarrage. J'ai essayé de rediriger vers un fichier en utilisant ">> log.txt" sans succès.

Comment voir stdout/stderr pour une application de démarrage? Mieux encore, existe-t-il un fichier journal pour les applications de démarrage?

12
Adam Paetznick

Je pense que la meilleure chose à faire serait de mettre la commande bash plus bas au démarrage ou de la placer dans un script bash et de la sélectionner dans vos applications de démarrage. J'ai ajouté l'option -v afin que l'application enregistre toutes ses actions avec le plus de détails possible; Certaines applications ont d'autres paramètres de verbosité et même divers niveaux que vous pouvez spécifier.

La redirection &> utilisée est la même que 2>&1 en ce sens qu'elle redirige toute la sortie du programme (stderr, stdout) vers le fichier spécifié, c'est-à-dire &>/home/mike/redshift.log.

Voici la commande qui pourrait être utilisée pour configurer la journalisation, et elle pourrait être utilisée pour d’autres programmes, si elle était modifiée de manière appropriée.

bash -c "setsid /usr/bin/gtk-redshift -v -l 40.77:-73.9 -t 6500:5500 &>/home/mike/redshift.log"

Ce ne sont que des exemples de paramètres de test, remplacez ces valeurs par les vôtres; vous voudrez peut-être mettre la commande, modifiée de manière appropriée dans un wrapper bash pour votre entrée de démarrage, car la ligne de commande ci-dessus est assez longue.

Un extrait du journal créé à /home/mike/redshift.log:

Gamma ramp size too small: 0
Failed to start adjustment method randr.
Trying next method...
Location: 40.770000, -73.900002
Brightness: 1.00
Gamma: 1.000, 1.000, 1.000
Using method `vidmode'.

Le journal continue et devrait vous donner les informations dont vous avez besoin. Certains programmes tels que vlc ont des options que vous pouvez configurer afin que leur journalisation puisse être envoyée à syslog, mais je préfère que chaque programme ait son propre journal séparé.

7
user76204