Все, что не вошло в другие рубрики
Мой сайт | Все заметки

Позднее Ctrl + ↑

Автоматическая сборка модуля ядра в Linux

Бывает, что иногда какое-то устройство в Linux поддерживается только драйвером, который надо собирать из исходников.

Но есть очевидная проблема — при обновлении ядра драйвер надо собирать заново. И если у вас через такой драйвер работает сетевая карта на сервере, то вы запросто можете потерять к нему доступ при обновлении ядра.

Что же делать? Конечно, собирать модуль ядра автоматом, подробную инструкцию с примерами вы найдёте по ссылке: https://www.xmodulo.com/build-kernel-module-dkms-linux.html

Просмотр mqtt-топиков из консоли

Недавно узнал, что для доступа к mqtt из консоли есть довольно удобный псевдографический клиент mqttui.

Ставите пакет для вашей системы по ссылке выше и подключаетесь:

mqttui -b "mqtt://localhost" -u "username" --password "password"
mqttui
 Нет комментариев    16   1 год   linux   mqtt

Отключить сенсорный экран ноутбука в Linux

Этим способом можно отключить любой источник ввода в Linux.

Смотрим список устройств ввода:

#xinput list                                                      
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ GXTP7863:00 27C6:01E0 Mouse               id=10   [slave  pointer  (2)]
⎜   ↳ GXTP7863:00 27C6:01E0 Touchpad            id=11   [slave  pointer  (2)]
⎜   ↳ ELAN2842:00 04F3:2C7B                     id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ HD Camera: HD Camera                      id=9    [slave  keyboard (3)]
    ↳ Huawei WMI hotkeys                        id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]

И выключаем или включаем нужное:

xinput disable "ELAN2842:00 04F3:2C7B"
xinput enable "ELAN2842:00 04F3:2C7B"

Конвертер HEX в DEC и обратно в командной строке Linux

Пример работы конвертеров

Создаём два файла с bash-скрипами, делаем их исполняемыми и у нас отличный конвертер из десятичной в шестнадцатеричную систему счисления и обратно под рукой.
/usr/local/bin/d2h

#!/bin/bash
echo -n "DEC:$@ HEX:"
echo $@ |dc -e "16o?p"

/usr/local/bin/h2d

#!/bin/bash
echo -n "HEX:$@ DEC:"
echo "ibase=16; $@"|bc

После создания файлов надо сделать их исполняемыми:

sudo chmod +x /usr/local/bin/d2h
sudo chmod +x /usr/local/bin/h2d

Запуск простого python http-сервера

Иногда нужно быстро передать по сети файл, например, прошивку для устройства на ESP. Самый быстрый способ — запустить простой http-сервер:

sudo python3 -m http.server --bind 192.168.2.10 9000

Файлы из каталога, откуда запущен сервер будут доступны по адресу: http://192.168.2.10:9000

Перекодировать видео в Linux

Переходим в папку с видео и запускаем утилиту ffmpeg:

ffmpeg -i ./video-file.avi ./video-file.mp4

Сразу несколько файлов:

for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done
Ранее Ctrl + ↓