Awesome & stderr (не выводит сообщения)

ion, dwm, wmii, awesome, xmonad и другие

Модератор: Модераторы разделов

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Awesome & stderr

Сообщение Hephaestus »

Категорически приветствую уважаемых форумчан!

Обратил внимание на такую ситуацию: awesome не выводит сообщения на stderr.
Например. Командуем в эмуляторе терминала

Код: Выделить всё

dd if=/dev/random of=/dev/null bs=1 count=10000

затем в другом окне терминала (или в другой вкладке) говорим

Код: Выделить всё

kill USR1 $(pidof dd)

В ответ должно быть нечто вроде

Код: Выделить всё

552+0 записей получено
552+0 записей отправлено
 скопировано 552 байта (552 B), 55,796 c, 0,0 kB/c
Однако в ответ тишина. Хотя, если прервать процесс по Ctrl+C, выводится нормально.
Сначала я грешил на эмулятор терминала (который у меня urxvt), однако попробовав xfce4-terminal, обнаружил, что там то же самое. При этом в виртуальном терминале (вне иксов) всё нормально.
Стало быть, проблема всё-таки в оболочке.

FAQ Awesome по этому поводу говорит следующее:
Когда при применении вашей конфигурации что-то идет не так, awesome отправляет сообщение об ошибке в системный поток stderr. Когда он запущен с обычным $ startx, тогда ошибки будут выводиться прямо в терминал. Если вы используете что-то более целостное( например DM, такие как KDM или GDM), стандартный поток stderr перенаправляется куда-нибудь еще. Чтобы узнать куда, запустите следующую команду:

Код: Выделить всё

$ ls -l /proc/$(pidof awesome)/fd/2

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

Код: Выделить всё

/proc/$(pidof awesome)/fd/2 -> /dev/null

Проверил startx - всё верно, сообщения выводятся в терминал, как и сказано в FAQ.
Тогда решил попробовать другой DM и посмотреть, что будет. Взял xdm.
Здесь, правда, возникла проблема - awesome вообще не хотел запускаться с ошибкой Can't open display (или что-то в этом роде), пришлось отобрать права на исполнение у ck-launch-session, только тогда запустился, и оказалось, что сообщения выводятся таки в терминал.
При этом

Код: Выделить всё

/proc/$(pidof awesome)/fd/2
вёл куда-то в ~/.xsession-errors
С одной стороны, xdm - не показатель, он может дергать тот же startx, (хотя я достоверно этого не знаю), тогда причина может быть в lxdm.
С другой стороны, если взять другую оболочку, xfce например, то там всё выводится как надо, при любом DM, тогда выходит, виноват awesome.
И вот теперь я думаю, кого пинать? Awesome или lxdm?
И главное, как мне заставить awesome выводить сообщения в терминал?
FAQ предлагает такой вариант

Код: Выделить всё

exec /usr/bin/awesome >> ~/.cache/awesome/stdout 2>> ~/.cache/awesome/stderr
но во-первых, это не совсем то, что нужно, во-вторых, это всё равно не помогло.

Какие будут мнения?
Прошу высказываться.

P.S. Это перепост темы с форума slackware.ru. Там никто не откликнулся. Здесь народу побольше. :) Вдруг повезет...
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Awesome & stderr

Сообщение yoshakar »

Hephaestus писал(а):
09.02.2015 07:46
И вот теперь я думаю, кого пинать? Awesome или lxdm?
Да, странное поведение. Раз воспроизводится со startx (а у меня тоже воспроизводится), и не воспроизводится в xfce, значит виноват awesome.
(И нет, xdm не вызывает startx.)
Вообще странно, каким образом C-C и kill могут давать разный эффект. Казалось бы - и то и то просто посылает один и тот же сигнал приложению, и приложение на него реагирует. И раз вывод приложения перенаправлен в pts, кто кроме приложения может его переперенаправить?
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Awesome & stderr

Сообщение yoshakar »

Ctrl-C (in older Unixes, DEL) sends an INT signal (SIGINT); by default, this causes the process to terminate.
Сигналы таки разные. Значит, это возможно не баг, а фича.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome & stderr

Сообщение SLEDopit »

1.
Hephaestus писал(а):
09.02.2015 07:46
kill USR1 $(pidof dd)
написано неправильно и USR1 не обработается. kill будет ругаться

Код: Выделить всё

-bash: kill: USR1: arguments must be process or job IDs


2. по умолчанию kill посылает TERM, который и приводит к тому, что вы видите.

3. ctrl+c посылает sigint. если отправить kill -s SIGINT $(pidof dd) всё отлично работает. проверено в awesome.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

SLEDopit писал(а):
09.02.2015 09:32
написано неправильно и USR1 не обработается. kill будет ругаться
Ой... Я может и напутал чего, вроде работало. Но суть проблемы не в этом.

SLEDopit писал(а):
09.02.2015 09:32
3. ctrl+c посылает sigint. если отправить kill -s SIGINT $(pidof dd) всё отлично работает. проверено в awesome.
А процесс при этом прервется?
Мне-то надо вот что: работает dd, отправляем ему USR1, он выводит статистику и работает дальше.
Если отправлять SIGINT, это ведь аналогично Ctrl+C, так? Ну так Ctrl+C и без того работает.
Вопрос в том, почему один сигнал выводит сообщение в терминал, а другой не выводит (хотя и должен).
Можно как-нибудь изменить вот это?

Код: Выделить всё

/proc/$(pidof awesome)/fd/2 -> /dev/null
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Hephaestus писал(а):
09.02.2015 11:39
Можно как-нибудь изменить вот это?

А причём тут это? Это относится к самому awesome, а не к эмулятору терминала.

Hephaestus писал(а):
09.02.2015 11:39
Я может и напутал чего

kill -USR1 $(pidof dd)
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Awesome & stderr

Сообщение yoshakar »

Hephaestus писал(а):
09.02.2015 11:39
Вопрос в том, почему один сигнал выводит сообщение в терминал, а другой не выводит (хотя и должен).
Видимо, не должен. Что делать при получении сигнала определяется процессом, получившим сигнал. Я щас попробовал - TERM нормально процессится в awesome, выведенное в stderr выводится как и положено в pts. Так что это просто поведение dd.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

pidof точно возвращает корректный PID? Если вместо kill использовать /bin/kill - что-то изменится? killall -USR1 dd - ?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Bizdelnick писал(а):
09.02.2015 12:11
А причём тут это? Это относится к самому awesome, а не к эмулятору терминала.
Так я про awesome и спрашиваю.
Команда взята из FAQ awesome - проверить, куда направлен вывод (как сказано в FAQ, вывод не обязательно делается в терминал). В данном случае он направлен в /dev/null.

yoshakar писал(а):
09.02.2015 12:23
Видимо, не должен. Что делать при получении сигнала определяется процессом, получившим сигнал. Я щас попробовал - TERM нормально процессится в awesome, выведенное в stderr выводится как и положено в pts. Так что это просто поведение dd.
Ничего подобного. Всё выводится как положено, стоит только вместо lxdm задействовать xdm. Или, скажем, startx.
Так что дело либо в lxdm, либо в awesome. Вот не пойму, кто из них виноват. Об этом и тема.

С xdm, конечно, всё работает, но лучше бы всё-таки дожать и заставить работать с lxdm.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Awesome & stderr

Сообщение yars »

А у самого lxdm stderr куда направлен?
И да, на форуме слаквари никто не ответил потому, что пользователей awesome по пальцам сосчитать можно :) Я, нааример, на Xfce с 12.1 сижу.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Awesome & stderr

Сообщение yoshakar »

Hephaestus писал(а):
09.02.2015 15:54
Ничего подобного. Всё выводится как положено, стоит только вместо lxdm задействовать xdm. Или, скажем, startx.
Я всё-таки думаю, что в таком случае это проблема xdm и startx. Ну и с вашей стороны, раз вам не всё равно.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

yoshakar писал(а):
10.02.2015 09:08
Я всё-таки думаю, что в таком случае это проблема xdm и startx.
То есть их поведение неправильно, а поведение lxdm, наоборот, правильно? Интересно.

Смотрите сами

awesome+lxdm

root@slackware:~# ls -l /proc/$(pidof awesome)/fd/{0,1,2}

lrwx------ 1 alex alex 64 фев 10 10:15 /proc/813/fd/0 -> /dev/console l-wx------ 1 alex alex 64 фев 10 10:15 /proc/813/fd/1 -> /dev/null l-wx------ 1 alex alex 64 фев 10 10:15 /proc/813/fd/2 -> /dev/null


awesome+kdm

root@slackware:~# ls -l /proc/$(pidof awesome)/fd/{0,1,2}

lr-x------ 1 alex alex 64 фев 10 10:33 /proc/830/fd/0 -> /dev/null l-wx------ 1 alex alex 64 фев 10 10:33 /proc/830/fd/1 -> /home/alex/.xsession-errors l-wx------ 1 alex alex 64 фев 10 10:33 /proc/830/fd/2 -> /home/alex/.xsession-errors


awesome+xdm

root@slackware:~# ls -l /proc/$(pidof awesome)/fd/{0,1,2}

lr-x------ 1 alex alex 64 фев 10 10:40 /proc/873/fd/0 -> /dev/null l-wx------ 1 alex alex 64 фев 10 10:40 /proc/873/fd/1 -> /home/alex/.xsession-errors l-wx------ 1 alex alex 64 фев 10 10:40 /proc/873/fd/2 -> /home/alex/.xsession-errors


awesome+startx

root@slackware:~# ls -l /proc/$(pidof awesome)/fd/{0,1,2}

lrwx------ 1 alex alex 64 фев 10 10:43 /proc/822/fd/0 -> /dev/tty1 lrwx------ 1 alex alex 64 фев 10 10:43 /proc/822/fd/1 -> /dev/tty1 lrwx------ 1 alex alex 64 фев 10 10:43 /proc/822/fd/2 -> /dev/tty1


При этом, в первом случае ничего в терминал не выводится, в остальных случаях выводится нормально.

Попробовал задать запуск awesome как

Код: Выделить всё

awesome >> ~/.xsession-errors 2>>~/.xsession-errors
не помогло, всё равно вывод в /dev/null и в терминале, соответственно, тишина.

Я бы оставил xdm, но уж больно внешний вид не нравится. А привести к приличному виду я его так и не смог, как ни пытался.


Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: Awesome & stderr

Сообщение yoshakar »

Hephaestus писал(а):
10.02.2015 10:13
То есть их поведение неправильно, а поведение lxdm, наоборот, правильно? Интересно.
Не, то, что lxdm не использует .xsession-errors - это неправильно. Но у меня, например, dd не выводит результаты при сигнале TERM в pts (в графический терминал) в конфигурации awesome+startx, и это, полагаю, вполне нормально.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

И всё-таки,
Bizdelnick писал(а):
09.02.2015 12:42
pidof точно возвращает корректный PID? Если вместо kill использовать /bin/kill - что-то изменится? killall -USR1 dd - ?

Было бы странно, если бы вывод на stderr попадал выборочно. Логичнее предположить, что программа не получает сигнала.

yoshakar писал(а):
10.02.2015 10:26
dd не выводит результаты при сигнале TERM

А кто сказал, что он должен? Он выводит по USR1 и по INT.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

yoshakar писал(а):
10.02.2015 10:26
Но у меня, например, dd не выводит результаты при сигнале TERM в pts (в графический терминал) в конфигурации awesome+startx, и это, полагаю, вполне нормально.
Оно может и нормально, но неудобно.
Хотя бы потому, что данная возможность упоминается в документации. Стало быть, юзер вправе рассчитывать, что она работает.

yars писал(а):
09.02.2015 23:49
А у самого lxdm stderr куда направлен?


root@slackware:~# ls -l /proc/$(pidof lxdm-binary)/fd/{0,1,2}

lrwx------ 1 root root 64 фев 10 11:50 /proc/806/fd/0 -> /dev/console l-wx------ 1 root root 64 фев 10 11:50 /proc/806/fd/1 -> /var/log/lxdm.log l-wx------ 1 root root 64 фев 10 11:50 /proc/806/fd/2 -> /var/log/lxdm.log

Сам этот лог ничего интересного не содержит - что-то там про инициализацию расширений при запуске иксов.

Bizdelnick писал(а):
09.02.2015 12:42
pidof точно возвращает корректный PID?

Shell

root@slackware:~# ps -A |grep dd 2 ? 00:00:00 kthreadd 4930 pts/0 00:00:00 dd root@slackware:~# pidof dd 4930


Bizdelnick писал(а):
09.02.2015 12:42
Если вместо kill использовать /bin/kill - что-то изменится?
Нет, ничего не меняется.
Bizdelnick писал(а):
09.02.2015 12:42
killall -USR1 dd - ?
Тоже тишина.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Такой скрипт ловит сигнал?

Код: Выделить всё

#!/bin/sh

trap 'echo SIGUSR1 caught' USR1
while true ; do :; done
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Bizdelnick писал(а):
10.02.2015 14:29
Такой скрипт ловит сигнал?

Сохранил в файл, дал права на исполнение, запустил.
Висит, ждёт.
В другом терминале определяю его pid

ps -A | grep script

5090 pts/0 00:04:35 script.sh


Далее здесь же делаю kill -USR1 5090
Вроде всё правильно сделал?

Смотрю первый терминал - тишина.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Hephaestus писал(а):
10.02.2015 15:28
Вроде всё правильно сделал?

Да. Значит, как я и предполагал, дело в том, что сигнал не доходит до адресата, а не в перенаправлении куда-то stderr.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Если посылать сигнал от root - сработает?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Faiver
Сообщения: 2
ОС: GNU/Debian

Re: Awesome & stderr

Сообщение Faiver »

Hephaestus писал(а):
10.02.2015 15:28
Смотрю первый терминал - тишина.

Заинтересовался темой. Проверил на своей системе (lightDM), все работает, сигнал ловит. В первом терминале выводит при запуске kill -USR1 ...

Код:

SIGUSR1 caught

Вывод stderr идет в ~/.xsession-errors. Но вот в него ничего не выводится
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Bizdelnick писал(а):
10.02.2015 17:17
Если посылать сигнал от root - сработает?
Нет, не работает. Я с самого начала по-разному пробовал.
Самое интересное, что вопрос перенаправления освещён в FAQ и рекомендованный там способ перенаправления тоже не работает.
Хотя, если Вы говорите, дело не в перенаправлении...
А в чём же тогда? Почему-то это проявляется только в связке awesome+lxdm, если любой из этих компонетов заменить - всё работает.

Faiver писал(а):
10.02.2015 17:39
Проверил на своей системе (lightDM), все работает, сигнал ловит.
Не сомневаюсь. Ибо с kdm, xdm, startx - тоже работает.
А вот именно с lxdm - ни в какую.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Faiver
Сообщения: 2
ОС: GNU/Debian

Re: Awesome & stderr

Сообщение Faiver »

Вот кстати похожая тема, причем решенная.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Faiver писал(а):
10.02.2015 19:50
Вот кстати похожая тема, причем решенная.

Там совершенно другой вопрос, причём исключительно глупый. Странно, что в первых же ответах решения нет (дальше середины первой страницы не смотрел).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Hephaestus писал(а):
10.02.2015 10:13
Я бы оставил xdm, но уж больно внешний вид не нравится. А привести к приличному виду я его так и не смог, как ни пытался.
Совсем без DM я не могу, поскольку за компьютером я не один.
А так от DM мне надо не много: надо, чтобы можно было выключить/перезагрузить машину и надо, чтобы на экране была дата/время. Вот это основное. Ну и желательно, чтобы имя пользователя вводилось с клавиатуры, а не кликом по пункту списка. Я пытался привести xdm к нужному виду, но так и не вышло. С датой/часами ещё туда-сюда, а вот с выключением/перезагрузкой как-то совсем не получилось.
В общем, если дадите наводку на толковую инфу по настройке xdm, то я, в принципе, и на него согласен.
Если, конечно, в нём нет каких-нибудь нехороших особенностей, о которых я не знаю.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Интересно: http://www.chemie.fu-berlin.de/chemnet/use..._21.html#SEC374
Дочерний процесс наследует маску сигналов от родительского. То есть если в родительском зачем-то заблокировали SIGUSR1, то он останется заблокированным и в дочернем, который форкнулся до того, как блокировку сняли. Как sourceforge вернут в рабочее состояние, надо будет поковыряться в коде lxdm.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Bizdelnick писал(а):
10.02.2015 20:54
Дочерний процесс наследует маску сигналов от родительского.
Кстати, lxdm у меня стартовал с параметром -nodaemon (как и все dm в rc.4).
Попробовал без него - никакой разницы.
Bizdelnick писал(а):
10.02.2015 20:54
Как sourceforge вернут в рабочее состояние, надо будет поковыряться в коде lxdm.
Прикрепил архив с исходниками той версии, которая у меня.
Если интересно, посмотрите.
Скачан не с sourceforge - на слакбилдах ссылка ведет в какую-то свою репу.

А для меня вариант нашёлся несколько неожиданный: оказывается в слакбилдах есть gdm (раньше я его там не замечал). С ним всё работает нормально и его возможностей мне вполне достаточно.
Но тему решённой помечать, наверно, не стоит, ибо вопрос всё-таки интересный.
Вложения
lxdm_20140103_b8b08e5.tar.xz
(106.98 КБ) 13 скачиваний
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Hephaestus
А есть возможность пересобрать, закомментировав строчку

Код: Выделить всё

        signal(SIGUSR1,SIG_IGN);
в src/lxdm.c, и посмотреть, изменится ли что-то?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Bizdelnick писал(а):
10.02.2015 22:41
А есть возможность пересобрать
Bizdelnick писал(а):
10.02.2015 22:41
и посмотреть, изменится ли что-то?
Пересобрал, заработало.


А я сегодня ещё пробовал заменить /dev/null на /dev/console - не помогло, хотя перенаправление stderr изменилось с /dev/null, на ~/.xession-errors.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Awesome & stderr

Сообщение Bizdelnick »

Hephaestus писал(а):
10.02.2015 23:02
Пересобрал, заработало.

Значит надо попытаться понять, как это более по-человечески исправить. Пока у меня вообще нет идей, на фига оно в этом месте понадобилось, тем более что в мане белым по чёрному написано:
(man signal) писал(а):The behavior of signal() varies across UNIX versions, and has also varied historically across different versions of Linux. Avoid its use: use sigaction(2) instead.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Awesome & stderr

Сообщение Hephaestus »

Bizdelnick писал(а):
10.02.2015 23:29
Пока у меня вообще нет идей, на фига оно в этом месте понадобилось, тем более что в мане белым по чёрному написано:
Не только в этом месте, там этих signal'ов пятнадцать штук на два исходника.
Если я правильно понял цитату из мана, signal() - вещь устаревшая и вместо неё надо использовать sigaction().
Ну, тогда это совсем странно. Им пофигу, наверное.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Ответить