Как я могу просмотреть stdout / stderr запускающего приложения?

Некоторые из команд, которые у меня есть в приложениях запуска, не запускаются должным образом при входе в систему. (В частности, у меня возникают проблемы с gtk-redshift.) Чтобы отлаживать, я хотел бы иметь возможность просматривать stdout / stderr. Я не нашел файл журнала для Startup Applications. Я попытался перенаправить файл с помощью «>> log.txt» без успеха.

Как я могу увидеть stdout / stderr для запуска приложения? Еще лучше, есть ли файл журнала для запуска приложений?

1
задан 2 May 2013 в 17:46

2 ответа

Я думаю, что самое лучшее, что можно было бы сделать, добавить команду bash ниже в startup или поместить ее в сценарий 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, но я предпочитаю, чтобы каждая программа имела свой отдельный журнал.

6
ответ дан 24 May 2018 в 22:47
  • 1
    Что делать, если встроенная программа печатает ошибку? Например, X-Window? – demonguy 10 July 2015 в 12:58

Проверьте /var/log/syslog. Его общий для всех приложений.

-2
ответ дан 24 May 2018 в 22:47
  • 1
    Наверное, я должен был быть более явным. Я уже проверил / var / log / syslog. Запрашиваемые приложения запуска не вносят записи журнала в syslog. Я также не вижу никаких журналов из любого сценария / оболочки запуска. – Adam Paetznick 2 May 2013 в 18:59
  • 2
    Не могли бы вы назвать имена приложений? – thefourtheye 2 May 2013 в 19:07
  • 3
    Как указано в вопросе, основным виновником является gtk-redshift. Также неудобным является google-musicmanager. – Adam Paetznick 2 May 2013 в 22:27

Другие вопросы по тегам:

Похожие вопросы: