Как мне записать вывод на экран из службы systemd во время загрузки?

Получил работу второй части.

«Затем я хотел бы, чтобы он подключался каждый раз, когда я подключаю его».

Создал правило udev по адресу:

sudo vi /etc/udev/rules.d/80-mp3_a011.rules

Добавил эту информацию, которая просто модифицирует usb-storage и добавляет мой pid: vid в usb- хранилище new_id.

ACTION=="add", ATTRS{idVendor}=="a010", ATTRS{idProduct}=="a010", RUN+="/sbin/modprobe usb-storage" RUN+="/bin/sh -c 'echo a011 a011 > /sys/bus/usb/drivers/usb-storage/new_id'"

перезапуск udev

sudo /etc/init.d/udev restart

Теперь, как только я подключаю устройство, оно обрабатывается как любое другое запоминающее устройство USB.

Первая часть работает:

«Я хотел бы сначала подключиться один раз через командную строку».

sudo echo a011 a011 > /sys/bus/usb/drivers/usb-storage/new_id

Сработало ли НЕ , потому что к команде echo было применено sudo, а не к new_id или что-то в этом роде.

Сначала был изменен на корневую оболочку, а затем добавлен PID: VID к new_id.

sudo su

echo a011 a011 > /sys/bus/usb/drivers/usb-storage/new_id
4
17.03.2017, 16:40
2 ответа

В man systemd.directives вы можете выполнить поиск "output" и обнаружить, что StandardOutput = задокументирован в man systemd.exec . Там вы можете найти параметры, включая журнал + консоль для отправки вывода в журнал systemd и системную консоль. Вы также можете попробовать kmsg + console . Согласно документам kmsg «соединяет стандартный вывод с буфером журнала ядра, доступным через dmesg (1),»

4
27.01.2020, 20:55

Я сделал это так. У меня нет запроса на вход в tty1. Так что он не показывает MOTD из коробки.

[Service]
Type=oneshot
Restart=no
ExecStartPre=/bin/sleep 10
After=getty@tty2.service 
ExecStart=
ExecStart=-/bin/cat /etc/motd
StandardOutput=tty
TTYPath=/dev/tty1

Где oneshotговорит, что :выполняется только один раз. Restart=noтребование oneshot. Не уверен, почему их два ExecStartи почему "-",это было копирование и вставка. Я добавил After=/ ExecStartPre=, потому что сообщение не появилось, возможно, экран был очищен кем-то другим. Таким образом, это должно быть после целевого «приглашения для входа».

Отказ от ответственности :Используйте этот ответ как набор идей. Я не хотел, чтобы они потерялись. Проведите собственное исследование, если у вас есть какие-либо вопросы, и не стесняйтесь делиться своими выводами.

Это было сделано на растяжке Debian без X.

0
27.01.2020, 20:55

Теги

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