Jak mogę wyświetlić stdout / stderr aplikacji startowej?

12

Niektóre polecenia, które mam w aplikacjach startowych, nie uruchamiają się poprawnie po zalogowaniu. (W szczególności mam problem z gtk-redshift.) W celu debugowania chciałbym mieć możliwość wyświetlania stdout / stderr. Nie znalazłem pliku dziennika dla aplikacji startowych. Próbowałem przekierować do pliku przy użyciu „>> log.txt” bez powodzenia.

Jak mogę zobaczyć stdout / stderr dla aplikacji startowej? Jeszcze lepiej, czy jest plik dziennika dla aplikacji startowych?

Adam Paetznick
źródło

Odpowiedzi:

7

Myślę, że najlepszym rozwiązaniem byłoby umieszczenie polecenia bash dalej podczas uruchamiania lub umieszczenie go w skrypcie bash i wybranie go w aplikacjach startowych. Dodałem tę -vopcję, aby aplikacja rejestrowała wszystkie swoje działania z największą szczegółowością; niektóre aplikacje mają inne ustawienia szczegółowości, a nawet różne poziomy, które można określić.

Zastosowane &>przekierowanie jest takie samo 2>&1, ponieważ przekierowuje wszystkie dane wyjściowe programu ( stderr, stdout) do określonego pliku, tj &>/home/mike/redshift.log.

Oto polecenie, którego można użyć do skonfigurowania rejestrowania i można go użyć do innych programów, jeśli zostaną odpowiednio zmodyfikowane.

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

To tylko przykładowe ustawienia testowe, zastąp te wartości własnymi; możesz wstawić polecenie, odpowiednio zmodyfikowane w bash otoki dla twojego wpisu startowego, ponieważ powyższy wiersz poleceń jest dość długi.

Fragment dziennika utworzonego w /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'.

Rejestr jest kontynuowany i powinien zawierać potrzebne informacje. Niektóre programy, takie jak vlc, mają opcje, które można skonfigurować, aby ich rejestrowanie można było wysłać do syslog, ale wolę, aby każdy program miał osobny dziennik.


źródło
Co się stanie, jeśli wbudowany program wydrukuje błąd? Na przykład X-Window?
demonguy
-2

Proszę sprawdzić /var/log/syslog. Jest wspólny dla wszystkich aplikacji.

thefourtheye
źródło
Myślę, że powinienem był wyrazić bardziej otwarcie. Już sprawdziłem / var / log / syslog. Aplikacje startowe, o których mowa, nie wprowadzają wpisów do syslog. Nie widzę również dzienników z żadnego skryptu / opakowania aplikacji startowej.
Adam Paetznick
Czy mógłbyś ujawnić nazwy aplikacji?
thefourtheye
Jak stwierdzono w pytaniu, głównym winowajcą jest gtk-redshift. Kłopotliwy jest także Google-Musicmanager.
Adam Paetznick