Как я могу записать в dmesg из командной строки?

В окне "Startup Applications Preferences" Ubuntu "Центр управления" необходимо сделать следующее:

  • Нажмите "Добавить"

Это откроет окно "Add Startup Program" с тремя полями ввода.

Можно заполнить имя и комментарий, они говорят за себя. Поле команды является важным. Вы могли записать это:

/usr/bin/gnome-terminal -e top

Эта строка текста будет выполняться, после X запустился и прямо о том, когда Вы видите, что "рабочий стол Ubuntu" появляется. Это запустит a gnome-terminal и в нем exectute top команда. -e опция вызывает это, потому что она обозначает, "выполняют аргумент этой опции в терминале".

Если Вам нравится, можно также изменить размер и положение окна терминала. Для этого Вы используете --geometry опция gnome-terminal команда для определения этого поведения.

Посмотрите man страница (руководство) gnome-terminal для получения дополнительной информации: http://manpages.ubuntu.com/manpages/hardy/man1/gnome-terminal.1.html

Или хорошее введение здесь: http://library.gnome.org/users/gnome-terminal/stable/

43
04.04.2012, 02:43
5 ответов

Запишите в /dev/kmsg (нет /proc/kmsg как предложено @Nils). Посмотрите linux/kernel/printk/printk.c devkmsg_writev для реализации стороны ядра и systemd/src/journal/journald-kmsg.c server_forward_kmsg для примера использования.

39
27.01.2020, 19:35
  • 1
    , Это не позволяется в некоторой системе для некорневых пользователей (например: ядро Android) :-(. –  pevik 07.01.2016, 13:20
  • 2
    , Например. date | sudo tee /dev/kmsg –  sanmai 11.04.2016, 06:46

Принятие никого больше придумывает официальный способ сделать это...

Можно записать модуль ядра, который звонит printk функция. Существует пример здесь, который мог бы просто сделать задание для Вас.

2
27.01.2020, 19:35
  • 1
    a. Никакая потребность, другие уже записали это (например, kecho). b. Действительно никакая потребность в дополнительном модуле, см. мой ответ. –  ephemient 04.04.2012, 00:44

Если бы я понял человека dmesg правильно, то необходимо смочь записать в/proc/kmsg.

-1
27.01.2020, 19:35
  • 1
    # "тест">>/proc/kmsg [уступает =>] - su: эхо: ошибка при записи: ошибка –  notlesh 03.04.2012, 23:50

для BSD

%logger -p kern.crit MESSAGE

(любезно предоставлено Ian, список рассылки freebsd-questions)

для Linux

su root -c 'echo MESSAGE > /dev/kmsg'
11
27.01.2020, 19:35

--> Вы можете написать программу на C, как показано ниже:

тест _мод.с

#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void)
{
    printk("Hello All\n This is a test init\n");
    return 0;
}

void cleanup_module(void)
{
    printk("Good Bye");
}

--> создать объектный файл:

echo "obj-m := test_mod.o" > Makefile

--> скомпилировать, запустив:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules`

--> загрузите модуль, как показано ниже:

insmod./test_mod.ko

см. вывод:

dmesg | tail

--> выгрузить модуль:

rmmod test_mod.ko
1
26.03.2020, 13:37

Теги

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