시작 응용 프로그램의 stdout / stderr를 어떻게 볼 수 있습니까?


12

로그인 할 때 시작 응용 프로그램에있는 일부 명령이 제대로 시작되지 않습니다. (특히 gtk-redshift에 문제가 있습니다.) 디버그하기 위해 stdout / stderr을 볼 수 있기를 원합니다. 시작 응용 프로그램에 대한 로그 파일을 찾지 못했습니다. ">> log.txt"를 사용하여 파일로 리디렉션하지 못했습니다.

시작 응용 프로그램에 대한 stdout / stderr를 어떻게 볼 수 있습니까? 더 나은 방법은 Startup Applications에 대한 로그 파일이 있습니까?

답변:


7

가장 좋은 방법은 bash 명령을 시작할 때 아래에 두거나 bash 스크립트에 넣고 시작 응용 프로그램에서 선택하는 것입니다. -v응용 프로그램이 모든 작업을 최대한 자세하게 기록하도록 옵션 을 추가했습니다 . 일부 응용 프로그램에는 다른 상세 설정과 지정할 수있는 다양한 수준이 있습니다.

사용 된 &>리디렉션은 2>&1모든 프로그램의 출력 ( stderr, stdout)을 지정된 파일, 즉으로 리디렉션 하는 것과 동일 합니다 &>/home/mike/redshift.log.

다음은 로깅을 설정하는 데 사용할 수있는 명령이며 적절하게 수정 된 경우 다른 프로그램에 사용할 수 있습니다.

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

이는 샘플 테스트 설정일 뿐이며이 값을 사용자 고유의 값으로 대체하십시오. 위 명령 줄이 상당히 길기 때문에 시작 항목에 대한 bash 래퍼에 적절하게 수정 된 명령을 넣을 수 있습니다.

다음에서 생성 된 로그에서 발췌 /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'.

로그는 계속되며 필요한 정보를 제공해야합니다. 같은 일부 프로그램 vlc에는 로깅을 syslog로 보낼 수 있도록 설정할 수있는 옵션이 있지만 각 프로그램마다 별도의 로그가있는 것이 좋습니다.


내장 프로그램이 오류를 인쇄하면 어떻게됩니까? 예를 들어 X-Window?
demonguy

-2

확인하시기 바랍니다 /var/log/syslog. 모든 응용 프로그램에 공통입니다.


좀 더 분명해야했을 것 같습니다. / var / log / syslog를 이미 확인했습니다. 문제의 시작 응용 프로그램은 syslog에 로그 항목을 만들지 않습니다. 또한 모든 종류의 Startup Application 스크립트 / 래퍼에서 로그가 표시되지 않습니다.
Adam Paetznick

응용 프로그램 이름을 공개 하시겠습니까?
thefourtheye

질문에서 언급했듯이 주범은 gtk-redshift입니다. 또한 google-musicmanager도 번거 롭습니다.
Adam Paetznick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.