Come posso visualizzare stdout / stderr di un'applicazione di avvio?


12

Alcuni dei comandi che ho nelle applicazioni di avvio non si avviano correttamente quando eseguo l'accesso. (In particolare sto riscontrando problemi con gtk-redshift.) Per eseguire il debug, vorrei poter visualizzare stdout / stderr. Non ho trovato un file di registro per le applicazioni di avvio. Ho provato a reindirizzare a un file utilizzando ">> log.txt" senza successo.

Come posso vedere stdout / stderr per un'applicazione di avvio? Meglio ancora, c'è un file di registro per le applicazioni di avvio?

Risposte:


7

Penso che la cosa migliore da fare sia mettere il comando bash più avanti all'avvio o inserirlo in uno script bash e selezionarlo nelle applicazioni di avvio. Ho aggiunto l' -vopzione in modo che l'applicazione registri tutte le sue azioni con il massimo dei dettagli; alcune applicazioni hanno altre impostazioni di verbosità e persino vari livelli che è possibile specificare.

Il &>reindirizzamento utilizzato è lo stesso 2>&1del reindirizzamento di tutto l'output del programma ( stderr, stdout) sul file specificato, ad es &>/home/mike/redshift.log.

Ecco il comando che potrebbe essere utilizzato per impostare la registrazione e potrebbe essere utilizzato per altri programmi, se modificato in modo appropriato.

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

Queste sono solo impostazioni di prova di esempio, sostituisci questi valori con i tuoi; potresti voler inserire il comando, opportunamente modificato in un wrapper bash per la tua voce di avvio poiché la riga di comando sopra è piuttosto lunga.

Un estratto dal registro creato in /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'.

Il registro continua e dovrebbe fornirti le informazioni di cui hai bisogno. Alcuni programmi come quelli vlchanno opzioni che puoi impostare in modo che la loro registrazione possa essere inviata a syslog, ma preferisco che ogni programma abbia il suo registro separato.


Cosa succede se un programma integrato stampa un errore? Ad esempio X-Window?
demonguy,

-2

Per favore, controlla /var/log/syslog. È comune per tutte le applicazioni.


Immagino che avrei dovuto essere più esplicito. Ho già controllato / var / log / syslog. Le applicazioni di avvio in questione non creano voci di registro per syslog. Inoltre non vedo alcun registro da alcun tipo di script / wrapper dell'applicazione di avvio.
Adam Paetznick,

Ti dispiacerebbe divulgare i nomi delle applicazioni?
thefourtheye

Come affermato nella domanda, il principale colpevole è gtk-redshift. Anche problematico è google-musicmanager.
Adam Paetznick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.