Благодаря указателю на статью Arch Wiki о Avahi от Ulrich Dangel это - то, что я сделал:
$ sudo pacman -S avahi nss-mdns
/etc/rc.d/avahi-daemon start
в конец rc.local
dhcpcd
, в /etc/dhcpcd.conf
Я прокомментировал noipv4ll
строка. $ sudo /usr/sbin/avahi-autopid -D wlan0
. Так как мне не нравится перезапускать, я не уверен, был ли шаг 3 необходим./etc/nsswitch.conf
Я установил строку для чтения hosts: files mdns4_minimal dns mdns4
.$ sudo /etc/rc.d/dbus restart
перезапускать dbus.После этого, просто выполнение ssh wayne@other.local
просто работавший.
Относительно недавний dmesg
версии предоставляют следовать возможность (-w
, --follow
) который работает аналогично к tail -f
.
Таким образом просто используйте следующую команду:
$ dmesg -wH
(-H
, --human
активирует удобные для пользователя опции как цвета, относительное время),
Те опции доступны, например, в Fedora 19.
Можно использовать watch
команда, которая предназначается точно для вещей как это
watch -n 0.1 "dmesg | tail -n $((LINES-6))"
$((LINES-6))
часть должна заставить его соответствовать приятно Вашему терминалу.
watch
. Таким образом это действительно не изменится между вызовами dmesg
. Нужно было бы использовать обертку, которая запросит терминальное состояние.
– peterph
02.04.2016, 17:29
watch
, поэтому часы выполнят команду с переменным выражением там, которое будет расширено оболочкой, которую это вызывает. Каждый раз. Попробуйте его, это работает.
– P Daddy
02.04.2016, 17:37
watch
использование popen()
, что означает, что другая оболочка порождена, и переменная среды затем предоставляется ею (и таким образом обновляется на каждом выполняющаяся выполненный). Хорошая находка.
– peterph
02.04.2016, 18:14
Вы не можете действительно контролировать вывод dmesg
непосредственно.
Однако возможности высоки, который Ваш модуль не печатает непосредственно в кольцевой буфер dmesg, но вместо этого использует средства входа ядра (который будет затем отображен dmesg
). Если Ваш syslog
имеет некоторых нормальных (например, значение по умолчанию) настройки, эти сообщения, скорее всего, также обнаружатся в kern.log
файл журнала.
Таким образом, можно сделать что-то как:
tail -f /var/log/kern.log
/var/log/kern.log
является довольно определенным для Linux. Для OpenBSD (и возможно другие) материал dmesg зарегистрирован/var/log/messages. Предоставленный, некоторый другой материал идет туда также все же.
– kurtm
13.10.2013, 17:27
tail -f /var/log/{messages,kernel,dmesg,syslog}
через суперпользователя: is-it-possible-to-tail-f-the-output-of-dmesg
– here
02.05.2014, 10:55
Вы используете dmesg
получить сообщения журнала ядра.
Само ядро входит в кольцевой буфер, т.е. только в памяти. Теперь все dmesg
делает производится содержание того кольцевого буфера. Если Вы делаете dmesg -c
это также удалит кольцевой буфер впоследствии.
Поэтому Вы могли сделать что-то как while true; do dmesg -c; sleep 1; done
иметь что-то как эквивалент не работы dmesg|tail
. Но это удаляет кольцевой буфер и поэтому должно базироваться полномочия.
Другим путем является файл /proc/kmsg
который позволяет представление о кольцевом буфере. Вы могли сделать tail -f /proc/kmsg
, но это, только позволяют одному процессу, и это обычно - Ваш регистрирующийся демон. - Это - задание, должен прочитать сообщения и записать это в реальные файлы (обычно в/var/log), где они могут быть считаны. Это может быть настроено для вывода всех сообщений в единственный файл или различные части в различные файлы. (Но конфигурация зависит от регистрирующегося демона Вашей системы.)
Поэтому взгляните на /var/log
если существует какой-либо файл, который удовлетворяет Вашим потребностям, и настройте своего регистрирующегося демона иначе.
Используйте эти две команды с разных терминалов:
while true; сделать dmesg -c >> test.txt; спать 1; done
tail -f test.txt
Будет получен аналогичный результат.
Если вы используете встроенную систему, такую как BusyBox, которая распространена в системах типа OpenWrt, она имеет очень ограниченную функциональность и поддерживает только 2-3 флага.
Если вам нужен быстрый и грязный способ постоянной печати вывода dmesg на экран по мере изменения событий, простой цикл Bash работает отлично. Он не идеален, но, как я уже говорил, в BusyBox dmesg не хватает многих функций. Я обнаружил, что следующее имеет тот же эффект при вводе в командную строку:
$ while true; do dmesg -c ; sleep 1 ; done
Вы можете выйти из цикла с помощью Ctrl + C. Флаг sleep 1 используется для того, чтобы остановить ненужную нагрузку на процессор, а флаг -c очищает буфер при каждом вызове, чтобы вы не видели повторяющийся вывод каждую секунду.
-H
но иначе пятно - на – unperson325680 13.10.2013, 19:19-w
должен работать в каждой версии Ubuntu от Utopic (14.10) вперед. (launchpad.net/ubuntu/+source/util-linux/+publishinghistory предполагает, что ранние пакеты Utopic были для 2,20, но достигли 2.25 к тому времени, когда это было выпущено.) Примечание – mwfearnley 20.08.2017, 16:58