Форум — General Как сделать, чтобы сообщения ядра валились во все открытые графические терминалы? 2 0 ... xterm/rxvt/konsole/etcdmesg -n8 сделал, но это только на текстовые терминалы действует.Перемещено mono из talks Ссылка
Ядро пишет сообщения в «свой» vt. Для того, что ты хочешь, нужно делать дополнительные костыли. anonymous (21.10.12 16:49:05 MSK) Показать ответы Ссылка
Ответ на: комментарий от anonymous 21.10.12 16:49:05 MSK Забавно, но такой баг был лет 8 назад во времена KDE2 - сообщения ядра валились в Konsole - как бы его сейчас повторить? juk4windows ★ (21.10.12 17:14:33 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от juk4windows 21.10.12 17:14:33 MSK Сообщение «The system is going down for reboot NOW» всегда валится в активный терминал. Тебе такую фичу надо? geekless ★★ (21.10.12 17:22:58 MSK) Ссылка
Ответ на: комментарий от anonymous 21.10.12 16:49:05 MSK Я точно помню, что сообщения о критических ошибках у меня сыпались во все эмуляторы терминала. Возможно, это связано с kernel.printk Homura_Akemi ★ (21.10.12 17:31:28 MSK) Показать ответы Ссылка
Ответ на: комментарий от Homura_Akemi 21.10.12 17:31:28 MSK syslog сыпет сообщения класса *.emerg во все VT. Можно попрость его валить туда все сообщения типа kern.*Правда, делает он это при помощи write, что может сильно захламить терминалы. AITap ★★★★★ (21.10.12 17:56:35 MSK) Последнее исправление: AITap 21.10.12 17:58:26 MSK (всего исправлений: 1) Показать ответы Ссылка
Ответ на: комментарий от AITap 21.10.12 17:56:35 MSK А, вот оно как. Благодарю за пояснение. Homura_Akemi ★ (21.10.12 17:59:28 MSK) Ссылка
А валить скажем на двенадцатый tty уже немодно? anonymous_sama ★★★★★ (21.10.12 23:37:48 MSK) Показать ответ Ссылка
Ответ на: комментарий от AITap 21.10.12 17:56:35 MSK Сделал в rsyslog:kern.* *- не помогло juk4windows ★ (21.10.12 23:39:27 MSK) автор топика Ссылка
Ответ на: комментарий от anonymous_sama 21.10.12 23:37:48 MSK У меня паника ядра, которую я только в графическом режиме поймать могу. juk4windows ★ (21.10.12 23:39:53 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от juk4windows 21.10.12 23:39:53 MSK Если я правильно вспомнил, то тебе нужно выводить на xconsole.Ааааа, а вот точно: https://www.redhat.com/advice/tips/rhce/logmsg.htmlВообще можно попробовать смотреть логи после паника же. anonymous_sama ★★★★★ (22.10.12 00:17:45 MSK) Ссылка
Ответ на: комментарий от juk4windows 21.10.12 23:39:53 MSK У меня паника ядра, которую я только в графическом режиме поймать могу.Тогда нужно использовать Serial Console. Deleted (22.10.12 00:50:01 MSK) Показать ответ Ссылка
В syslog можешь направить сообщения в скрипт. Скриптом можешь направить на все терминалы.У меня syslog-ng, юзеру валятся только только критические ошибки. Вот участки конфига: ... source src { unix-stream("/dev/log"); internal(); file("/proc/kmsg");unix-stream("/chroot/dhcp/dev/log"); }; ... destination d_users { program('/usr/local/sbin/log2user'); }; ... filter f_errors { level(err..emerg) or message ("error" flags(ignore-case)) or message ("failed" flags(ignore-case)) or message ("flood" flags(ignore-case)) or message ("invalid" flags(ignore-case)); }; ... log { source(src); filter(f_errors); destination(d_users); }; ... Вот сам файл /usr/local/sbin/log2user - выдает сообщение из стандартного ввода на все терминалы юзера kroz; некоторые сообщения фильтруются: #!/bin/sh mesg y while read M ; do M=`echo "$M" | grep -v "Initializing destination file writer"` # Inserting blank DVD: M=`echo "$M" | grep -v "end_request: I/O error, dev sr0, sector" | grep -v "Buffer I/O error on device sr0, logical block" | grep -v "quiet_error: 40 callbacks suppressed"` # Inserting a card in cardreader M=`echo "$M" | grep -v "Assuming drive cache: write through"` # Log statistics of syslog-ng M=`echo "$M" | grep -v "Log statistics;"` # ntpd outputs when DHCP address not assigned M=`echo "$M" | grep -v "ntpd\[.*\]: bind(.*) AF_INET6 .* flags 0x1 failed: Cannot assign requested address"` M=`echo "$M" | grep -v "ntpd\[.*\]: failed to init interface for address"` M=`echo "$M" | grep -v "ntpd\[.*\]: unable to create socket on "` # When some daemon was killed but after that - stopped by init.d M=`echo "$M" | grep -v "start-stop-daemon: no matching processes found"` if [ -n "$M" ] ; then for A in `ls /dev/pts/` ; do echo "$M" | write kroz pts/$A ; done fi done Kroz ★★★★★ (22.10.12 00:56:20 MSK) Последнее исправление: Kroz 22.10.12 00:57:08 MSK (всего исправлений: 2) Ссылка
Ответ на: комментарий от Deleted 22.10.12 00:50:01 MSK 1000 раз пройденная тема - нет у меня возможности его сделать и netconsole тоже. juk4windows ★ (22.10.12 01:13:54 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от juk4windows 21.10.12 23:39:53 MSK Зачем тогда на все?tty(1) покажет тебе девайс текущего терминалаecho '*.* /dev/pts/$N' >> /etc/syslog.confгде $N - номер, который тебе сообщит tty(1) anonymous (22.10.12 04:21:56 MSK) Ссылка
Ответ на: комментарий от juk4windows 22.10.12 01:13:54 MSK Что мешает сделать Serial Console? Deleted (22.10.12 09:56:34 MSK) Показать ответ Ссылка
Ответ на: комментарий от Deleted 22.10.12 09:56:34 MSK отсутствие COM порта (надо покупать панельку) и второго слушающего device'a. juk4windows ★ (22.10.12 10:38:47 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от juk4windows 22.10.12 10:38:47 MSK Т.е. реально препятствий нет.Значит, надо ставить COM-порт и хоть какой-нибудь «второй слушающий device». Deleted (22.10.12 11:19:44 MSK) Показать ответ Ссылка
Ответ на: комментарий от Homura_Akemi 21.10.12 17:31:28 MSK Нет. anonymous (22.10.12 11:34:27 MSK) Ссылка
Ответ на: комментарий от Deleted 22.10.12 11:19:44 MSK т.е. вместо того, чтобы за пару минут узнать как сделать это подручными средствами, ты предлагаешь отрывать жопу от стула, пилить в какой-то магазин на другом конце суши, общаться с эффективными продавцами, пилить обратно... Какие-то костыли? stevejobs ★★★★☆ (22.10.12 13:46:19 MSK) Ссылка
Ответ на: комментарий от juk4windows 21.10.12 23:39:53 MSK С KMS трейс должен выводиться даже при запущенных X. Homura_Akemi ★ (22.10.12 14:24:18 MSK) Ссылка