LINUX.ORG.RU

ubuntu как убрать запись в syslog от автозапускаемого приложения

 ,


0

1

пусть есть программа (или просто bash скрипт), запуск которой я настроил в ubuntu с помощью создания *.desktop файла и помещения его в ~/.config/autostart
все запускается ок при старте сессии пользователя (unity)
но заметил, что весь вывод программы в stderr попадает в syslog, причем от имени gnome-session
если из «автозапущенной» программы выйти и запустить ее вновь, то в syslog более ничего не попадает
как убрать нежелательное замусоривание syslog ?

★★★★★

bash скрипт
весь вывод программы в stderr попадает в syslog
как убрать

пять звёзд, ничего личного.

novitchok ★★★★★
()

Отключить rsyslog, включить сохранение логов journald, и тогда оно будет мусорить строго в /var/log/journal/user-$UID.journal

anonymous
()
Ответ на: комментарий от novitchok

пять звёзд, ничего личного.

всегда найдется то, чего я не знаю

по сути вопроса есть что ответить, «четырехзвездочный» ?

x905 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Отключить rsyslog, включить сохранение логов journald, и тогда оно будет мусорить строго в /var/log/journal/user-$UID.journal

я не хочу мусорить никуда вообще, ни в какой лог

вывод в syslog я не ожидал, не просил, а просто запустил программу, зачем оно стало писать в syslog не понимаю

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

по сути вопроса есть что ответить
я не хочу мусорить никуда вообще, ни в какой лог

есть, как вариант, изучи перенаправление ввода/вывода

novitchok ★★★★★
()
Ответ на: комментарий от novitchok

есть, как вариант, изучи перенаправление ввода/вывода

дельный совет, а что конкретно почитать ?
вопрос: в каком месте я использовал перенаправление ввода/вывода ?
ответ: ни в каком, я запускаю тотже самый скрипт

x905 ★★★★★
() автор топика
Ответ на: комментарий от novitchok

в самом скрипте перенаправь вывод 2 в /dev/null

но это не решение проблемы, вывод скрипта мне _нужен_, но не в syslog

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

да, я могу для автостарта другой скрипт сделать (вызвав исходный и убрать вывод), но както это неправильно мне кажется

x905 ★★★★★
() автор топика
Ответ на: комментарий от Ip0

В этом случае ничего не меняется кроме перенаправления не в /dev/null.

переправить что и куда ?

исходный скрипт пишет в консоль и в файл (через tee)

не понятно зачем ubuntu начинает писать еще и в syslog, но только при случаи запуска через autostart

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

В этом твоем сообщении есть ответ на твой вопрос.

Давай, я верю ты сможешь сопоставить «пишет в консоль», STDOUT, STDERR, cron и вот это все и сам ответить на свой вопрос.

Ip0 ★★★★
()
Ответ на: комментарий от Ip0

т.е. вывод скрипта попадает в syslog при запуске через ~/.config/autostart потому, что так и задумано ?

логика в этом мне не ясна

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

Скорее всего, это поведение менеджера сессий - все ошибки (то, что пишется в stderr) сваливает в сислог, чтобы потом можно было эти ошибки находить и чинить. Например, менеджер сессий в xfce пишет ошибки в ~/.xfce4-session.verbose-log.

Как решение - писать самому в нужный файл, а вывод ошибок перенаправлять в /dev/null. Ну или на уровне syslog написать правило, в соответсвии с которым сообщения будут писаться куда нужно.

pod ★★
()
Ответ на: комментарий от Vasily22

В journald не надо разруливать. Там вполне логичное разделение на систему и пользователей по умолчанию. Впрочем, стандартные способы хранения и управления логами сильно уступают rsyslog с подключённой СУБД в плане гибкости.

anonymous
()
Ответ на: комментарий от pod

Как решение - писать самому в нужный файл, а вывод ошибок перенаправлять в /dev/null.

чтобы не писать правила сислога (что и невозможно обычному пользователю), я проще сделал второй файл скрипта для запуска через autostart, который запускает исходный файл, а «свой» вывод в /dev/null

x905 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.