El comando correcto es
root@localhost ~ # nft add rule inet filter output ip daddr 8.8.8.8 counter
Observe el prefijo inet
antes del nombre de la tabla(filter
). Ese es el tipo de familia de la mesa. Es opcional, pero si lo omite, nft asumeip
(= IPv4 ), pero estoy usando inet
pseudo -familia (tanto IPv4 como IPv6 ).
Aprendí esto gracias a la gente en el canal #netfilter
en Freenode.
No hace falta decir que los mensajes de error de nft son cualquier cosa menos útiles.:-)
@JeffSchaller, спасибо за правки.
На основе ответа @IporSircer (спасибо! ), мне удалось создать следующий скрипт:
#!/bin/bash
device='/dev/input/by-id/usb-Targus_Laser_Presentation_Remote-if02-event-kbd'
event_blank='*code 48 (KEY_B), value 1*'
event_esc='*code 1 (KEY_ESC), value 1*'
event_f5='*code 63 (KEY_F5), value 1*'
event_prev='*code 104 (KEY_PAGEUP), value 1*'
event_next='*code 109 (KEY_PAGEDOWN), value 1*'
evtest "$device" | while read line; do
case $line in
($event_blank) echo "BLANK SCREEN" ;;
($event_f5) echo "F5" ;;
($event_esc) echo "ESCAPE" ;;
($event_prev) echo "PREVIOUS" ;;
($event_next) echo "NEXT" ;;
esac
done
С помощью evtest
мне удалось узнать номер события /dev/input/event18
для устройства, но этот номер может различаться в зависимости от устройств в вашей системе и порядка их подключения
Из-за этого я использовал udevadm info /dev/input/event18
, чтобы узнать уникальный идентификатор устройства
S: input/by-id/usb-Targus_Laser_Presentation_Remote-if02-event-kbd
Наконец, снова используя evtest
, я смог перехватить все события с устройства, чтобы использовать их в операторе case
.
Este ejemplo es monitorear toques en el panel táctil:
xinput test-xi2 --root "AlpsPS/2 ALPS DualPoint TouchPad" \
| grep --line-buffered "EVENT type 15 (RawButtonPress)"| while read line; do
paplay --volume 22000 -d $PULSE_SINK $HOME/scripts/data/click.aiff
done
Puede modificarlo fácilmente según sus necesidades.
@paulequilibrio, спасибо за ваш пост. Я изменил ваш скрипт, чтобы кнопки Mi IR Remote Next, Prev и Stop работали с Rhythmbox без lirc в Ubuntu 18.04, это добавило к автозапуску его изумительные...
device='/dev/input/by-id/usb-Formosa21_Beanbag_Emulation_Device_000052F1-event-if00'
#key_playpause='*type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 1*'
key_stop='*type 1 (EV_KEY), code 128 (KEY_STOP), value 1*'
key_next='*type 1 (EV_KEY), code 407 (KEY_NEXT), value 1*'
key_previous='*type 1 (EV_KEY), code 412 (KEY_PREVIOUS), value 1*'
sudo evtest "$device" | while read line; do
case $line in
# ($key_playpause) notify-send "Play/Pause" && rhythmbox-client --playpause ;;
($key_stop) notify-send "Stop" && rhythmbox-client --stop ;;
($key_next) notify-send "Next" && rhythmbox-client --next ;;
($key_previous) notify-send "Previous" && rhythmbox-client --previous ;;
esac
done