LINUX.ORG.RU

Избранные сообщения superuser

Как повесить на клавишу команду в консоли?

Форум — Desktop

Нужно назначить определённой клавише (сканкоду или что на него назначено в раскладке) выполнение какой-то команды. Без иксов, в чистой консоли. Как это сделать?

>>>

anonymous
()

Роутер за $50 для openWRT

Форум — Linux-hardware

У меня в принципе всегда был самый просто роутер, задумался поменять на что то более приличное. Есть ли достойные модели в данном сегменте заказать с али например. В крайнем случае до $60

 ,

armid
()

Прозрачный брандмауэр с маршрутизатором. Тестовая лаборатория

Новости — Интернет
Группа Интернет

В статье рассмотрено решение, требующееся при объединении прозрачного брандмауэра с маршрутизатором, используя утилиту ebtables и создание тестовой лаборатории на микродистрибутиве Linux, используя qemu и initrd на основе моей сборки busybox, включающей в себя ebtables, iptables, ssh(d), рекурсивного DNS и др.

>>> Статья полностью

 , , ,

vodz
()

Сборка разделов прошивки для ip регистратора

Форум — Linux-hardware

Здравствуйте, копаю старый рег на возможность добавления onvif протокола. На текущем момент не удается пересобрать образ файловой системы. Система squashfs, обрезаю первые 64 байта, распаковываю, упаковываю ничего не поменяв, создаю uboot с указанием оригинальных точки входа и адреса загрузки, заливаю в рег - тишина, не грузится, с оригинальным грузится. Созданый файл отличается по размеру от оригинального. Что я делаю не так? Вот файл который перепаковываю: https://dropmefiles.com/2cN6f

 , , ,

PavelVan
()

VLC, детектор движения

Форум — Multimedia

VLC - мощнейший аудиовидео плеер, но не только, с его помощью можно вести записи в видеокамеры.

Попробовал сделать на его основе видеорегистратор.
Получилось легко, т.к. в его опциях есть фича, которая называется «Детектор движения».

Можно так же его использовать и через командную строку -

vlc --video-filter=motion
В тоже время обнаружилась серьезная проблема - этот детектор слишком чувствительный и обнаруживает малейшие движения, например, шелестение даже мелких листьев на удаленном дереве, и из-за этого запись, по сути, вообще не прекращается, идет постоянно.

По идее разработчики должны были предусмотреть регулировку чувствительности детектора движения, чтобы использовать его для разных условий.
Увы, не нашел такой возможности ни в самом VLC, ни в плагинах для него

Может у вас найдутся креативные идеи?
Не хочется для такой простой задачки использовать монстров вроде ZoneMinder, AVReg, Xeoma и пр.

 ,

chukcha
()

Вернуть диски или не надо? Уговорите

Форум — Linux-hardware

Ребят, подскажите про SSD, купил сегодня две шт. Планирую заменить stripe на mirror.

У меня раньше было два диска в stripe по 120 Гб. Выглядит пока это так:

  pool: zroot
 state: ONLINE
  scan: scrub canceled on Sat Jan  6 14:47:08 2024
config:

        NAME          STATE     READ WRITE CKSUM
        zroot         ONLINE       0     0     0
          ada2p4.eli  ONLINE       0     0     0
          ada3p4.eli  ONLINE       0     0     0

errors: No known data errors
=>       40  234441568  ada2  GPT  (112G)
         40     532480     1  efi  (260M)
     532520       1024     2  freebsd-boot  (512K)
     533544        984        - free -  (492K)
     534528   16777216     3  freebsd-swap  (8.0G)
   17311744  217128960     4  freebsd-zfs  (104G)
  234440704        904        - free -  (452K)

=>       40  234441568  ada3  GPT  (112G)
         40     532480     1  efi  (260M)
     532520       1024     2  freebsd-boot  (512K)
     533544        984        - free -  (492K)
     534528   16777216     3  freebsd-swap  (8.0G)
   17311744  217128960     4  freebsd-zfs  (104G)
  234440704        904        - free -  (452K)

Я купил два диска по 240 Гб. Возник вопрос по производителю.

Изначально я рассматривал Kingston, но он был всего один в наличии. Я зачем-то решил, что лучше будет два одинаковых. Мне предложили два диска фирмы APACER.

APACER - тоже неплохая фирма, но не такая прекрасная, как Kingston. Проблема в том, что если смотреть через SMART, Kingston предоставляет практически все показатели, в то время как APACER - только половину. https://paste.ee/p/D9xLe

Пока что я не распечатал упаковку, просто заметил эту разницу, глядя на уже имеющийся у меня старый диск от APACER. Я раньше вроде знал, что SMART может не отображать определенные параметры, но почему-то не придавал этому значения. И в магазине совершенно забыл об этой детали.

Что посоветуете делать? Возвращаться в магазин не хочется, особенно учитывая, что Kingston был в наличии всего один, и мне пришлось бы ждать второй. Предпочел бы избежать этого.

 

Clockwork
()

Что с ядром?

Форум — Linux-hardware

Ещё вчера работал и температура проца была 40-42 градуса. А сегодня - от 45. Ноуты разные с intel HD, дистрибутивы - Debian 12, Ubuntu LTS, Arch. Версии ядер - 5.15 - 6.6.7.

Пробовал и на X11 - DWM и Wayland - Sway, так как канон.

FF - ESR и 121. Простой сёрф, как пример - linux.org.ru, lm-sensors показывает 46 градусов. Из дополнений - Ublock original. При старте браузера вентилятор ноута взлетает. Youtube - тоже, но потом после отрисовки успокаивается. Vaapi стоит, в FF и MPV поддерживается.

Вопрос только один владельцам ноутов. У вас тоже теперь они при прокрутке LOR показывают похожие цифры?

Добавлю, что это на фоне последних обновлений ядер. Вся эта история с Debian и ext4, а также новыми новостями о уязвимостях.

Ещё что было замечено, torrent тоже повышает на 4-5 градусов, чего раньше не было. Что за?..

Аноним помог. Надо обратить внимание на

/sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference ```

 , , ,

masterOf
()

Типа Lingvo под кеды (Кубунту)

Форум — Desktop

Нужна софтина - сабж. Чтоб ПОЛНОСТЬЮ фриварный. Чтоб было много всяких словарей, под разную тематику.

Пока интересуют буржуйский и испанский. Но и другие языки не помешат.

 

torsar
()

mpv: плейлисты ютуба

Форум — Multimedia

Как скормить mpv напрямую плейлист вида

https://youtube.com/playlist?list=PLBLA-BLA-BLA
mpv как-бы берет этот плейлист, но видит и воспроизводит только первый трек.

yt-dlp без проблем видит (и скачивает) весь плейлист.

Погуглил - везде предлагается вручную создавать плейлист типа m3u. Не понятно, если yt-dlp может с ютубными плейлистами работать, то почему mpv не может.

Как его заставить хавать ютубовские плейлисты?

 , ,

Chord
()

Wi-Fi 6 AX200 не стабильная, влючается только ac

Форум — Linux-hardware

sudo rmmod iwlmvm iwlwifi

sudo modprobe iwlmvm

dmesg выводит, что подгружается firmware iwlwifi-cc-a0-66.ucode когда должно iwlwifi-cc-a0-46.ucode если верить https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html

Как исправить? куда копать?

раньше работало AX роутер показывал 100%, сейчас только AC и уровень сигнала скачет 80-100%

[ 2334.279234] Intel(R) Wireless WiFi driver for Linux
[ 2334.285243] iwlwifi 0000:06:00.0: api flags index 2 larger than supported by driver
[ 2334.285253] iwlwifi 0000:06:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[ 2334.285459] iwlwifi 0000:06:00.0: loaded firmware version 66.f1c864e0.0 cc-a0-66.ucode op_mode iwlmvm
[ 2334.287059] iwlwifi 0000:06:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
[ 2334.295445] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 2334.406042] iwlwifi 0000:06:00.0: Detected RF HR B3, rfid=0x10a100
[ 2334.470853] iwlwifi 0000:06:00.0: base HW address: 14:f6:d8:a1:2f:8e
[ 2334.486166] iwlwifi 0000:06:00.0 wlp6s0: renamed from wlan0

 , ,

sap78
()

X11-приложение на чистом ассемблере под Linux

Галерея — Скриншоты

Наконец закончил перевод очень крутой и интересной статьи, где описывается работа с Х-сервером на чистом ассемблере.

Как сама статья так и перевод - большие и сложные, знаний на такое у меня уже нехватает. Если есть желающие помочь с вычиткой и поиском ошибок - велкам!

На скриншоте обычная Ubuntu и Xfce, самое главное - ч0рное окошко по центру, это и есть та самая тестовая программа из статьи, написанная на чистом ассемблере и вызывающая Х-сервер через unix-сокет.

>>> Просмотр (1366x768, 988 Kb)

 , ,

alex0x08
()

Узнать, содержится ли один диапазон в другом на Си

Форум — Development

Сразу скажу что задача можно считать учебная и ответ на неё многих может показаться банальным, но мне интересно как бы вы её решили.

Условие очень простое: выражение is_contained(h0, hlen, q0, qlen) должно возвращать 1, если диапазон под вопросом (question - q), начинающийся включительно с q0 и занимающий всего qlen индексов, полностью содержится в диапазоне (have - то что имеется), начинающимся включительно с h0 и имеющим длину в hlen индексов, и должно возвращать 0 во всех других случаях. Оба диапазона относятся к индексам некоего массива или смещениям байт в файле, при том что файл целиком влез в аллоцированный блок памяти процесса в виде того же массива.

Вопрос: написать синтаксически корректную (допустим C89) реализацию функции is_contained(), такую чтобы всегда отдавала правильный результат, при этом не содержала лишнего кода и не требовала линковки с чем-то ещё, включая libc, для работы (но содержимым C89-стандартных (только их) .h файлов пользоваться можно, если оно не приводит к импорту символов извне).

Условие именно такое как я написал, никакие уточнения не предполагаются. Если считаете что условие где-то двусмысленное - дополняйте его как хотите (не противореча исходным утверждениям).

 , ,

firkax
()

Посоветуйте стартер кит(программный) для изучения схемотехники

Форум — Talks

Есть цель: разобраться в схемотехнике на таком уровне, чтобы можно было собирать простые усилители НЧ. Что нужно?

  1. Хорошая книга, чтобы там было максимально сжато сформирована информация, необходимая для того, чтобы можно было понимать, как работает схема и как ее промониторить

  2. Программа, для моделирования схем, с проверкой их корректности и работы

 

serg002
()

Удаленный терминал (поверх ssh) с показом картинок?

Форум — Development

Есть сервер который что то долго и много считает и генерит кучу данных. Я могу войти туда по ssh. Хочется из этих данных строить картинки (графики y(x), как правило гнуплотом), при этом сами данные к себе не выкачивать. И хочется эти картинки сразу видеть, без всяких scp/sshfs, прямо вот в терминале. Без какого то интерактива вроде выделения фрагментов, смены масштаба и пр - просто увидеть картинку глазами, эдакий предпросмотр данных.

Вход по ssh -X или vgl работает но лагает жутко, канал все таки хиленький. У gnuplot-а есть терминал dumb:

gnuplot> set term dumb
gnuplot> plot x**2

                                                                               
  100 +--------------------------------------------------------------------+   
      |*               +                 +                +               *|   
   90 |-+..............:.................:................:..............+-|   
      |  *             :                 :                :             *  |   
   80 |-+..............:.................:................:..............+-|   
      |    *           :                 :                :           *    |   
   70 |-+..............:.................:................:..............+-|   
      |      *         :                 :                :         *      |   
   60 |-+..............:.................:................:..............+-|   
   50 |-+..............:.................:................:..............+-|   
      |         **     :                 :                :     **         |   
   40 |-+..............:.................:................:..............+-|   
      |            **  :                 :                :  **            |   
   30 |-+..............:.................:................:..............+-|   
      |               *:                 :                :*               |   
   20 |-+..............:.................:................:..............+-|   
      |                :  ***            :           ***  :                |   
   10 |-+..............:.................:................:..............+-|   
      |                +       *****     +    *****       +                |   
    0 +--------------------------------------------------------------------+   
     -10              -5                 0                5                10  

вот что то такого плана, только конечно качеством повыше.

У кого какие идеи?

Можно конечно свою обертку поверх ssh написать что бы она умела и картинки отрисовывать, но неужто никто ничего такого не сделал?


Решается применением терминала sixelgd в гнуплоте. Его не всякий терминал поддерживает, я в итоге остановился на mlterm (konsole и xterm не взлетели).

https://www.arewesixelyet.com/#xterm

 , ,

AntonI
()

Импортозамещаемся

Форум — Talks

Поговорим о флюсах. Я уже очень долгое время использую немецкий Ersa FMKANC32, и полностью им доволен, однако он неожиданно, как приход зимы, закончился, новый я не заказал, а брать официально - я не миллиардер. Так что были куплены в ближайшем лабазе тоже именитый американский Fluxplus 612 и расово отечественный Rusflux HR-500-LK. Также в сравнении будет участвовать китайский Kingbo RMA-218.

Активность
Самый активный китаец. Американец менее, наш ещё менее. То есть для облуживания ржавых гвоздей не подойдёт. Однако это не вазелин, и его активности более чем достаточно для пайки SMD и BGA, то есть на слабоокисленных контактах.

Проводимость
Мегаомметра у меня нет, потому такие тесты не делал. Однако они есть на ютубе, и русфлюкс даже в неактивированном состоянии укладывается в ГОСТ (100 МОм). Китаец же и после активации имеет весьма высокую проводимость, особенно это будет заметно на линиях данных. Паял как-то мультиконтроллер им, курсор тачпада офигевал. Для пайки BGA использовать его нельзя категорически, только полная отмывка. Американец тут нареканий не вызывает, но его тоже желательно отмывать.

Кипучесть
Почти не кипит, даже в больших количествах. Китай, кстати, тоже не особо кипучий, а вот от флюксплюса может и микруху сдвинуть.

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

Запах
Российский вообще почти не пахнет. Америка пахнет химическим ароматизатором лимона. Мне этот запах, кстати, нравится (я токсикоман), но окружающие не в восторге. Эрса воняет химией и тухлыми носками, а кингбо как 30 эрс одновременно.

В остальных сравнениях эрса не упоминалась, поскольку примерно аналогична efd fluxplus, только менее активна.

Я сегодня отреболлил и припаял на HR-500-LK интеловский комбинированный процессор, снял и поставил на родных бессвинцовых шарах амдшный север rs880, поменял мультиконтроллер. То есть, по сути, самые сложные задачи, провода паять и канифолью можно. Впечатления отличные. С учётом того что rusflux дешевле fluxplus в 4 раза, а эрсы, если смотреть официальный ценник, в 16 (иначе в 5), а качество одинаковое по сути, то не вижу смысла платить больше. Хватит кормить Америку!

Дешевле всех, конечно, Китай. Он, можно сказать, бесплатный. Банка 100 г. стоит 370 рублей, а с каким-то купоном я её взял за 100. Для проводов и разъемов пойдёт. Для чего-то серьёзного - нет.

Закажу завтра остальной ассортимент отечественного производителя. Особенно интересен NRK-518-A, он более активен, чем обозреваемый, и работает до 350 градусов, под паяльник самое то. А этот всё же больше для бесконтактной пайки.

 , ,

K50
()

header-файлы с функциями, принимающими va_list

Форум — Development

Почему авторы всяких libc могут объявлять функции типа vprintf в stdio.h не инклюдя побочно stdarg.h (вдруг юзеру не нужно), а все остальные не могут? Ну, я конечно посмотрел как там сделано и там вместо va_list внутренний __синоним к нему, но это же не то что некроссплатформенно, а даже при переходе на другое libc может сломаться (у libc-шных хедеров такой проблемы понятное дело нет). И даже нормального способа выяснить инклюдил ли юзер stdarg тоже нет (можно было бы эти функции вырещать препроцессором если знать что stdarg не заинклюден - всё равно без него их вызвать не получится ведь va_list).

Что вы об этом думаете?

UPDATE Поскольку замечено систематическое непонимание сути темы, попробую ещё раз написать другими словами. Есть такая функция

int vprintf(char const *fmt, va_list arg);
Функция определена в stdio.h, тип va_list - в stdarg.h. Но stdio.h умеет показать этот прототип не инклюдя заодно stdarg.h. То есть, после инклюда stdio.h у нас уже есть vprintf, но нету va_list. Ладно, пофиг на vprintf, пусть даже его тоже не будет если нет stdarg, более важный аспект: можно инключить stdio+stdarg и пользоваться vprintf с va_list, а можно инклюдить только stdio (без stdarg) и он тоже скомпилируется, и не будет ругаться на «undefined identifier va_list» пытаясь показать прототип для vprintf. Как этого добились в libc я в курсе, но способ чисто приватный для libc и пользоваться им снаружи, не боясь сломать где-то совместимость, нельзя.

Перемещено leave из talks

 , ,

firkax
()

Все уже посмотрели новость как НИИЭТ перемаркировывает китайские MOSFET на российские GaN?

Форум — Talks

Максим Горшенин снова бомбанул. После разборок с чипом Миландра, который заменяет три кусочка проволоки в мониторах LightCom, ему подсказали подумать вот о чем... Как так получается, что российская автомобильная зарядка с разработанными в России GaN-транзисторами от Воронежского института электронной техники имеет абсолютно ту же плату, что и некоторые китайские зарядки с классическими MOSFET-тами? Почему совершенно не меняется схемотехника? Не кажется ли это странным?

По счастливой случайности у Горшенина на руках оказалось две зарядки, которые ему лично передали представители НИИЭТ, на которых имеются транзисторы с логотипом НИИЭТ. Об этих зарядках Горшенин даже снимал ролик. Каково же было его удивление, когда внимательнее посмотрев под лупой на эти транзисторы он обнаружил, что, верхняя поверхность корпуса транзистора полностью снята лазером, и поверх, этим же лазером, сделана маркировка НИИЭТ!

Не поверив собственным глазам, Горшенин позвонил в НИИЭТ и поинтересовался, а как так получилось, что на упаковке написано что это зарядка с GaN-транзисторами, а оказалось, что это простая зарядка с китайскими MOSFET-транзисторами? Представители НИИЭТ в телефонном разговоре сообщили, что это все китайцы виноваты, и вложили в коробочки не те зарядные устройства. На вопрос почему транзисторы пиленные, в НИИЭТ ответить не смогли. Но очень хотели, чтобы Максим не публиковал эту информацию, подумал, поговорил с гендиректором института и не делал поспешных выводов.


Веселая новость с фотографиями:
https://webhamster.ru/site/page/index/main/news/720

Видео 1 - Прекрасные зарядки с GaN транзисторами:
https://www.youtube.com/watch?v=ilNeKlgBpwU

Видео 2 - Походу, это развод покупателей:
https://www.youtube.com/watch?v=E53Mo_rHDqs

 , , перелицовка, ,

Xintrea
()

Критическая уязвимость сразу во всех распространённых браузерах

Новости — Безопасность
Группа Безопасность

Компания Google опубликовала информацию и уже закрыла уязвимость в библиотеке libwebp, которая могла приводить к удалённому выполнению кода, когда пользовать просто открывает сайт. Библиотека libwebp используется во всех браузерах на движке Chromium, а также в приложениях на базе electron, в браузере Mozilla Firefox, Gimp, Inkscape, LibreOffice, Telegram, Thunderbird, ffmpeg и другом программном обеспечении. Затронуты также и другие операционные системы.

Суть уязвимости в переполнении буфера, которая позволяет злоумышленнику подготовить специальное WebP изображение, при открытии которого на машине пользователя выполнится код. Google не раскрывает подробности механизма эксплуатации уязвимости, но утверждает, что в сети уже доступны рабочие эксплоиты, основанные на ней.

Всем пользователям рекомендуется обновиться как можно скорее.

>>> Подробности

 , ,

Aceler
()

BASH: Как вывести значение переменной за пределы цикла?

Форум — Development

bash

Есть такая конструкция (глупая, просто для примера)

A="0"
echo "Cool" | while read B ; do
  A="1"
done
echo $A

В итоге получаем на выход 0, а хотелось бы получить 1. Как это сделать? Иными словами как сделать, чтобы значение присваивалось не локальной A а глобальной A?
Kroz
()

Как правильно закрывать фоновые процессы, запущенные из скрипта, по ^C?

Форум — General

Мне нужно запускать в скриптах фоновые процессы (& в конце).
Но как их все закрывать по CTRL+C?
trap "kill -9 $(jobs -p) $$" 2 не работает потому что job control в скриптах не работает.
Но если добавить set -m, trap вообще перестаёт срабатывать.
___________________________
UPD:
решение оказалось таким:

set -m
trap "kill -9 \$(jobs -p) $$" 0 2 9 15

или таким:
trap "kill -9 %1 $$" 2 9 15

 

teod0r
()