LINUX.ORG.RU

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

Домашний кокпит A320

Галерея — Рабочие места

Здравствуйте! Решил здесь пока что немного отойти от темы окружения рабочего стола и запостить свой сетап, на котором летаю в симуляторе.

Оборудование:

  • i7-11700F / GTX1660S / 32 GB RAM
  • 2 iPad’а для приборов
  • Logitech Extreme 3D Pro
  • Logitech Pro Flight Throttle Quadrant (на фото не влез, у меня под правую руку)
  • SB Play 3 + уже не помню какая гарнитура Sennheiser

Софт:

  • Arch Linux
  • X-Plane 11 (самолёт ToLiss A319 + кастомные сценарии + плагины и т.д.)
  • IVAO Pilot Client
  • AntiMicroX (для Push-To-Talk)
  • x11vnc + RealVNC Viewer

P.S. в будущем планирую собирать полный кокпит A320 :)

>>> Просмотр (4032x2268, 2075 Kb)

 , , ,

thm
()

Ужель не вся ноутбучная память будет распаиваемой? Новый стандарт CAMM2

Форум — Linux-hardware

Сабж

Комитет по стандартизации полупроводниковой продукции JEDEC официально принял новый стандарт модулей оперативной памяти для ноутбуков, получивший название CAMM2. Принятие нового стандарта модулей ОЗУ организацией JEDEC означает, что он почти наверняка будет широко использоваться в будущих ноутбуках, постепенно заменяя старый формфактор SO-DIMM, который используется в лэптопах уже более двух десятилетий.

Стандарт памяти CAMM или Compression Attached Memory Module начался как проприетарная разработка компании Dell для её ноутбуков Precision 7670. Основным преимуществом CAMM над стандартными модулями SO-DIMM является их компактность и более высокая плотность памяти. По словам Dell, модули CAMM до 57 % тоньше, чем четыре планки памяти SO-DIMM, установленные в стандартные слоты. Кроме того, в формате CAMM можно создавать модули со скоростью выше 6400 МГц, что является ограничением для привычных модулей SO-DIMM.

Изначальная проприетарная природа формата CAMM делала его менее универсальным по сравнению с модулями SO-DIMM. В отличие от последних, которые выпускаются множеством производителей, Dell изначально планировала выпускать модули CAMM самостоятельно и предлагать их в качестве варианта для апгрейда. Этот вопрос удалось решить с принятием стандарта CAMM2 организацией JEDEC, которая занимается стандартизацией оперативной памяти.

Спецификации CAMM2 приняты в двух вариантах: один для памяти DDR5, другой — для энергоэффективной LPDDR5(X). Примечательно, что CAMM2 делает возможным использование LPDDR5(X) в виде съёмных модулей — пока что эту память можно встретить только в распаянном на материнские платы виде. В пресс-релизе JEDEC указано, что модули CAMM2 DDR5 предназначены для производительных ноутбуков и обычных настольных ПК. В свою очередь память CAMM2 LPDDR5/5X предназначена для более широкого спектра ноутбуков и определенных сегментов рынка серверов. Разъёмы для CAMM2 DDR5 и CAMM2 LPDDR5/5X отличаются друг от друга, поэтому планки памяти невзаимозаменяемые.

Ещё одно преимущество модулей CAMM2 над обычными SO-DIMM заключается в том, что для активации двухканального режима работы памяти CAMM2 не требуется наличие двух модулей ОЗУ. Один модуль CAMM2 может поддерживать два канала памяти, что обеспечивает большую пропускную способность памяти для CPU и встроенной графики для повышения производительности. Память SO-DIMM может поддерживает только один модуль памяти на канал. В то же время JEDEC отмечает, что также запланированы одноканальные модули памяти CAMM2. Модули CAMM2 могут выпускаться в объёмах до 128 Гбайт.

Весьма вероятно, что поначалу модули CAMM2 будут значительно дороже обычных планок SO-DIMM из-за новизны стандарта. А производителям устройств потребуется некоторое время чтобы полностью отказаться от использования привычных модулей SO-DIMM. Однако CAMM2 обладает всем необходимым потенциалом однажды стать полной заменой привычных модулей ОЗУ для ноутбуков и других мобильных устройств.

Лоханка стала больше, но тоньше. Главное, не купить с дуру одноканальную память.

 , , ,

tiinn
()

Эту историю мы назовем «почему я разлюбил QEMU...»

Форум — Talks

… или «как перестать бояться и разбить палаточный городок аккурат на минном поле».

В общем, ни для кого не секрет, что у нас тут семимильными шагами идет возврат от богомерзкого x86 к классической паре UNIX+RISC в ее современной реинкарнации: Linux+ARM. И так уже получилось, что на этот раз заход был не со стороны рабочих станций, а со всяких маломощных мобильников и малинок. Сбоку подают голос пользователи Apple Silicon, но их пока сравнительно мало.

Одновременно с этим, армов стало достаточно много, чтобы задуматься о том, как собирать под них софт. И если раньше для этого использовали кросс-компиляцию и всякие хаки, то сейчас у нас появилась прекрасная эмуляция вида qemu-arm-static с binfmt, исполняемые на x86. То есть, достаточно сделать чрут с армовой осью, а затем сказать ядру, чтобы для запуска бинарников с сигнатурой ARM он использовал qemu-arm-static - и вуаля, ваши армовые бинарники волшебным образом начинают работать на x86 машине, как родные.

Круто? Круто. Можно зачрутиться в систему, позапускать в ней всякие pacman и dpkg, чтобы получить корень, в котором затем выполнять сборку пакетов с помощью обычных makepkg, debuild и других дистротулов. Здорово? Здорово. И наплевать, что это медленнее кросс-сборок, потому что в разы проще и не требует от всего софта поддерживать префиксы для фейкового корня. А еще можно нативно повыполнять какие-то команды внутри чрута, чтобы получить корень, который затем можно скопировать на карту памяти вашего армового эмбеда.

Сейчас у нас есть как минимум два широко рапространенных инструмента для сборки чего-либо в эмуляции:

  • docker-buildx. Это такой docker-build на стероидах, который в том числе поддерживает сборку докер-образов для ARM (и других архитектур) на x86. Как? С помощью QEMU и binfmt, разумеется.
  • pi-gen с опцией USE_QEMU=1. Это официальная тулза для сборки образов Raspberry Pi. Суть почти та же: команды выполняются в чруте, чтобы получить образ для карты памяти.

Эти вещи удобны тем, что вы выполняете команды внутри вашей армовой ОС, как если бы работали непосредственно на ней. Особенно удобен докер, потому что докерфайл - это готовая документация по воспроизведению образа системы (при соблюдении определенных условий, но не суть).

В обоих случаях QEMU играет ключевую роль. И всё бы было хорошо, но он иногда падает. Либо сегфолтится, либо вылетает в какой-нибудь ассерт - разницы нет, суть в том, что эмуляция прерывается. Увы, но мой опыт активного использования qemu-arm-static показывает, что баги в нем хотя и фиксятся, но имеют свойство либо возвращаться с очередным мажорным релизом, либо что-то в ранее работающих воркфлоу может сломаться в новом неожиданном месте. Я не большой спец по QEMU, но таки делал репорты. Что-то исправлено, а что-то открыто до сих пор. Что хуже - поведение QEMU часто зависит от настроек хостовой ОС, и то, что вылетает на арче, не будет вылетать на дебиане.

«Не обновляй QEMU» - скажете вы. Да, но при очередном обновлении glibc в чруте, QEMU тоже может перестать работать из-за какого-нибудь нереализованного системного вызова, или редкого сочетания багов в glibc/QEMU. Поэтому можно угодить в ситуацию, когда старый QEMU уже не работает, а новый - еще не работает в вашем окружении.

Теперь, когда мы выяснили, что QEMU сам по себе не очень надежен, можно подумать - дескать, хрен бы с ним, ну падает и падает. В конце концов, безглючного софта не существует, и если QEMU упадет, то процесс просто прекратится, не так ли?

А вот нет.

Берем типичный сценарий современного использования QEMU - docker-buildx. В докерфайле у нас есть несколько команд RUN, которые выполняют всякие установки пакетов и прочие операции. А что происходит при установке пакетов, помимо распаковки и размещения файлов? Правильно, запускаются всякие хуки на баше. Спаунится пакетный менеджер, из него спаунится баш для скрипта, а из скрипта поочередно спаунятся команды. Коды возврата которых, разумеется, никто не проверяет. Ведь вряд ли у вас из под руда упадет какой-нибудь ls /, верно? Или, скажем, греп.

Но с QEMU они падают.

Вот что вы можете увидеть в эмуляции, пытаясь поставить пакет:

:: Proceed with installation? [Y/n]
:: Retrieving packages...
 openssl-3.1.4-1-aarch64 downloading...
 openssl-1.1-1.1.1.w-1-aarch64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
upgrading openssl...
installing openssl-1.1...
error: command terminated by signal 11: Segmentation fault
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Я мог бы привести еще пяток примеров, но я не сохранил их, потому что пишу этот пост ради срача, а не как научную статью.

Внутри пост-инсталл хука происходит сегфолт, но поскольку почти никто не ставит в скриптах set -e и не проверяет код возврата тривиальных (ха-ха) операций, установленный пакет будет находиться в неопределенном состоянии. И сборка будет продолжаться, потому что код возврата всего скрипта был нулевой! Пакет вроде поставлен, но корректно ли?

Эта проблема касается не только pacman и dpkg, но и вообще любых шелл-скриптов. Кто вообще может гарантировать, что во всех этих килопарсеках портянок, запускающихся в эмуляции, не будет вот таких непредсказуемых сбоев, на которые никто и никогда не делал тесткейс, потому что они, по мнению авторов скриптов, не могут сбойнуть?

Самое страшное тут то, что docker-buildx и сборки образов через QEMU сейчас получили повальное распространение из-за своей простоты. Вокруг нас может быть уже полно устройств с ОС, поломанными еще на этапе сборки. К чему это может привести - время покажет. Как минимум - к сложно детектируемым ошибкам у конечного пользователя.

Ну и самый интересный вопрос: хто виноват?

  • Ну, в меньшей степени виноват QEMU. Это отличная утилита, которая просто делает свою работу. Она не виновата в том, что ее начали использовать в настолько комплексных окружениях. В некоторых ситуациях она сегфолтится, в других - сознательно падает с какой-то диагностикой. Это лучшее поведение, какое только можно придумать в этом случае.
  • docker-buildx? На своем уровне он тоже делает, что может.
  • Баш-портянки? Пожалуй, они. Точнее, общая низкая культура их кода. Коды возврата не проверяются, фейлы пайпов не проверяются. Кушаем, как есть.
  • А может, виноваты диды? В своей бесконечной мудрости отцы UNIX сделали шелл, который ведет себя как сишечка: когда ты хочешь выстрелить себе в ногу, тебе услужливо подают патрон и усаживают в кресло. Ничто не мешало сделать неявную проверку кода возврата и выход из скрипта с ошибкой, и требовать явно эту ошибку игнорить при необходимости. Они предполагали, что этим будут пользоваться люди, которые знают, что делают, но теперь, спустя сорок лет, мы имеем в скриптах повальный чад кутежа.

А шо делать-то?

А ничего. Исправить все скрипты в мире не представляется возможным. Слепая установка set -e или ее аналоги на более низком уровне может привести к другим проблемам. Остаются два пути:

  • Использовать чистые кросс-сборки без эмуляции, как делали другие мудрые диды (мое почтение NetBSD c их тулчейном).
  • Использовать сорта чрутов (включая докер), но на реальном железе, а при нехватке производительности - подключать distcc.

В обоих случаях теряется удобство связки docker+QEMU, но за это удобство мы платим прямо сейчас щелчком взрывателя под жопой.

 , ,

liksys
()

Корпус для Raspberry Pi 4

Галерея — Рабочие места

Наконец то строительный сезон закончен, техника эвакуирована и расфасована и можно заняться всякой ерундой. Например наконец то упаковать Пи4 в корпус, более компактный и мобильный чем посудная полка с Пи3.

Итак:

  • 4 гига, 4 ядра, 64 бита, распбиан 11.
  • Дисплей onyx Mira, e-ink, 2200x1650 (но из-за рамок, наползающих на рабочую область экрана и странной геометрии пикселей лучше использовать 1280х960. Если повезёт — заставлю его работать в масштабе ровно 50%), 38Гц. Короче факинг эту вашу плавность и 100% sRGB.
  • Второй порт свободен и ждёт монитора из ремонта.
  • Диски: 64Гб карта kingston повышенной скорости и ssd 120Гб, 5 лет отработавший свопом на Пи3. Что странно, даже при ехт4 на карте памяти и без тюнинга нет признаков бага 12309 (в отличиt от тройки).
  • 4 порта юсб3 с аппаратными выключателями. Но без выделенной линии питания это плохо.
  • Звук — noname-колонки, которые после пилы и саморезов начинают дребезжать на половине мощности.
  • Полноразмерная клавиатура.
  • Полноразмерная мышка.
  • БП 5В*5А
  • Батарея 27,6 Втч с вольтметром и портом для подключения всего что под руку подвернётся из диапазона 11...14,5В. Ожидаемое время автономной работы 2 часа.
  • Ручка для переноски и колёсики не планируются.

>>> Просмотр (3389x2634, 3587 Kb)

 ,

kirill_rrr
()

Система управления ssh-ключами

Форум — General

Привет, ЛОР!

Ищу софт под линукс в духе KeepassX или Bitwarden, только для управления приватными SSH ключами. Что хочу:

  • Хранение приватных и публичных ключей;
  • Доступ к хранилищу как минимум по паролю, в идеале с возможностью использовать другие факторы;
  • Возможность синхронизации между девайсами;
  • Работа ssh-агентом;
  • Полный опенсорс, включая серверную часть (при её наличии).

То есть, хочу Bitwarden, только для SSH. Скажи, ЛОР, есть чо? А то я задолбался добавлять ключи от каждого девайса в десяток разных аккаунтов.

 , ,

hateyoufeel
()

HyperDX: альтернатива Datadog и New Relic

Новости — Open Source
Группа Open Source

13 сентября на Github опубликован HyperDX — инструмент мониторинга и отладки, который позволяет сопоставлять журналы, трассировки и сеансы пользователей в одном месте. Исходный код доступен и распространяется под лицензией MIT.

( читать дальше... )

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

 , ,

evgeny_aa
()

Осваиваем STM32 снизу: часть 1 - подключаем и исследуем плату

Статьи — Разработка

Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8 Часть 9

Все файлы можно взять тут.

В данной серии статей мы попробуем поработать с процессором STM32 с помощью GNU утилит, немного познакомимся с ассемблером и отладкой.

Примеры написаны для популярной платы blue pill, построенной на микроконтроллере STM32F103C8T6.

( читать дальше... )

 ,

vbr
()

Взять всё, да и поделить...

Форум — Talks

Источник (одинаковые тексты):
https://openela.org/news/hello_world/
https://www.oracle.com/news/announcement/ciq-oracle-and-suse-create-open-enterprise-linux-association-for-a-collaborative-and-open-future-2023-08-10/
https://www.suse.com/news/OpenELA-for-a-Collaborative-and-Open-Future/

Oracle и SUSE объявили о намерении создать Open Enterprise Linux Association (OpenELA).

Короче, эта контора будет создана в ответ на известные события. Если кто пропустил, то здесь обсуждали:
Mike McGrath -- реакция на восстание клонов

Эти двое начали крошить батон на Шапку, вот здесь обсуждали:
Oracle встаёт на сторону бобра!
Хамелеон разевает беззубую пасть

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

Обещают уже в этом году начать выкладывать исходный код для версий 8 и 9, а может быть даже и 7. В каком виде это будет пока не ясно. Насколько это будет совместимо с RHEL тоже не понятно.

Они обещают, что создатели совместимых с RHEL дистрибутивов снова будут иметь всё необходимое без каки-либо ограничений.

Что сказать?! Шоу продолжается, не отходите от синих экранов.

Кстати, Альма пока идёт своей дорогой, обсуждали здесь:
Лечение током даёт первые результаты

 , ,

papin-aziat
()

Elder Kings 1 на Crusader Kings 2

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

Решил поиграть после долгого перерыва в Elder Kings(полная конверсия в мир Elder Scrolls) для игры Crusader Kings 2, чтобы поискать баги которые я пропустил. Пока из багов я заметил только что не работает нормально даэдрическое вторжение Джиггалага и криво реализованные гильдии на Атморе.

>>> Просмотр (1920x1080, 2219 Kb)

 ,

vbcnthfkmnth123
()

Треш и угар продолжается: виртуализация в OpenBSD

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

Продолжаю хорошую традицию охоты за дичью.

В этот раз в качестве дичи выступает гипервизор VMM в OpenBSD. Да, и в наш загончик наконец завезли аппаратную виртуализацию.

На скриншоте работающий Skypе запущенный в Ubuntu 22, которая крутится на OpenBSD-хосте. Отрисовка интерфейса организована через проброс X-сессии.

Традиционная статья с новыми приключениями неуловимых тут.

Там еще скриншоты и рассказано про запуск более банального Chromium.

Сама VMM стабильна как кирпич и спокойно переживает suspend/resume на ноутбуке где весь этот цирк и развернут.

>>> Просмотр (1600x900, 427 Kb)

 , , ,

alex0x08
()

Одноплатники для бомжей!

Форум — Talks

В этой теме предлагаю обсуждать один из лучших одноплатников для бомжей - Orange Pi 3G IoT. За тыщу рублей дают двухядерный медиатек, 256мб ОЗУ, 512мб NAND, Mali-400 и GPS/3G/Wi-Fi. По сути, взяли рефборду бюджетного смартфона 2013-2014 года и вывели гребенку GPIO. Из коробки Android, Debian, Ubuntu.

Производителю давно пофиг на плату, поэтому там не то что i2c/spi в линухе нет, там даже гпио через жопу работает. Мне удалось завести там UART, I2C, нормальный GPIO через ioctl.

Плюсы: Годные характеристики за такой прайс, GPU.

Минусы: MIPI на дисплей. Причем под проприетарный 24-пин шлейф. Продают конечно же за оверпрайс. Однако с брейкаут-платой, можно развести дисплей от какого-нибудь смартфона тех же лет и подменить драйвер дисплея. Шлейфы у них по количеству и размеру пинов похожи. Причем эти говноеды решили именно мипи воткнуть, когда медиатеки держат как 8080 дисплеи, так и TTL RGB иатрицы :( А ещё нет GSM-стека под линухом.

Первая статья: https://habr.com/ru/companies/vstack/articles/749254/ Вторая выйдет на некст неделе (там допиливаем гпио, i2c и пересобираем ядро).

 , ,

monobogdan1337
()

Временное рабочее (и не только) место

Галерея — Рабочие места

Корпус системного блока - MasterBOX NR200P от CoolerMaster в т.н. SFF (small form factor) исполнении. Габариты корпуса 376x185x292 мм. Вес около 8 кг в собранном виде без упаковки. Системник довольно удобен в транспортировке: помещается в сумку для тренировок, без вопросов проходит в ручной клади при перелетах.

Немного про начинку данного товарища:

Начну с главного компонента любого компьютера - блока питания. БП Seasonic Focus SGX на 650W с 80+ Gold сертификатом, модульный, форм-фактор SFX-L.

Материнская плата на B450 чипсете от Gigabyte, модель «I AORUS PRO WIFI». При выборе системной платы одним из критериев было наличие звукового чипа Realtek 1220 и поддержка WIFI5+BT не ниже версии 5.0. В итоге мать оказалась с довольно хреновым WIFI+BT чипом Intel AC9260, который был заменен на интеловский AX210.

Процессор Ryzen 5 5600X + башня be quiet! Pure Rock 2 c 4-мя тепловыми трубками.

Оперативная память Kingston KVR 2x32GB 3200Mhz.

Видеокарта MSI Ventus RTX 3060 12GB.

NVMe накопитель Samsung 970 EVO Plus 2TB произведенный 03.2023 со свежей прошивкой и контроллером Elpis (вместо Phoenix), который используется в старшей модели 980PRO.

«Перелётно-походный» монитор IIYAMA ProLite XUB2292HS-B1 (FHD, IPS, Flicker-free + Blue light reducer) с регулировкой по высоте/наклону/повороту.

Дешёвый графический планшет XP-Pen. Механическая клавиатура Ducky One 2 TKL. Мышь Smartbuy 334K. Микрофон HyperX SoloCast + вебка Logitech c270 для общения с коллегами и родственниками в Discord/Skype/Slack/Telegram. Игровой контроллер Xbox для покатушек и побегушек во всяких RDR2, DIRT Rally, GTA и прочих киберпанках. Беспроводные наушники Edifier W800BT Plus. Вроде всё.

P.S. Снято на кроссовок.
P.P.S. Внутренности человека машинки https://imgur.com/7QDZrSs

>>> Просмотр (1920x1086, 2978 Kb)

 ,

basilic
()

наткнулся на сбойные сектора на очередном nvme ssd

Форум — Linux-hardware

Уважаемый ЛОР,

Я словил очередное проявление сбойных секторов на SSD. Пациент — Samsung SSD 980 PRO 2TB с прошивкой 3B2QGXA7, в эксплуатации примерно год. Что интересно, с предыдущим накопителем проблемы обнаружились тоже примерно через год после начала эксплуатации.

Думал, что это просто старый накопитель был сбойный, поэтому даже не помню, пробовал ли делать полное чтение на новом с момента переезда. Но вот недавно мне понадобилось сбросить данные с раздела с Windows, и оно опять:

critical medium error, dev nvme0n1, sector 3854183392 op 0x0:(READ) flags 0x80700 phys_seg 32 prio class 2

В этот раз плохие сектора оказались намертво плохими. Попытки чтения из них не давали ничего.

Вот текущие параметры SMART, если интересно:

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        34 Celsius
Available Spare:                    79%
Available Spare Threshold:          10%
Percentage Used:                    3%
Data Units Read:                    267 208 610 [136 TB]
Data Units Written:                 115 214 434 [58,9 TB]
Host Read Commands:                 1 770 760 875
Host Write Commands:                880 382 061
Controller Busy Time:               8 163
Power Cycles:                       452
Power On Hours:                     2 220
Unsafe Shutdowns:                   30
Media and Data Integrity Errors:    32 243
Error Information Log Entries:      32 243
Warning  Comp. Temperature Time:    21
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               34 Celsius
Temperature Sensor 2:               35 Celsius
Thermal Temp. 1 Transition Count:   37
Thermal Temp. 2 Transition Count:   17
Thermal Temp. 1 Total Time:         570
Thermal Temp. 2 Total Time:         1815

Удалось отследить, что было задето. Это был старый LVM том со swap, который ни разу со дня миграции не использовался. И это были файлы игр из Steam, которые я в последний год не запускал, судя по датам в Steam’е. То есть симптомы те же — сбоят места, которые очень давно даже не читались. И я даже не знаю, попали ли мне плохие экземпляры, или это вообще общая проблема. У текущего экземпляра ещё и «Available Spare» за пару дней упал с 92% до 79%.


Upd. Оказывается, известная проблема: https://www.tomshardware.com/news/samsung-980-pro-ssd-failures-firmware-update.


Upd. 2023-02-15. Обновил прошивку до актуальной версии, 5B2QGXA7. На всякий случай сделал trim вообще по всему объёму, хотя ещё до этого выяснил, в каких именно файлах были проблемы и потримил занимаемое ими место. Пока что весь объём читается нормально.


Upd. После обновления прошивки операция TRIM стала заметно дольше выполняться. По ощущениям раз в 10 дольше.


Перемещено hobbit из general

 , , , ,

i-rinat
()

LibreTrack. Облегчённые пособия по вычислительной свободе

Новости — Open Source
Группа Open Source

В рамках проекта LibreTrack вышли практические облегченные пособия по вычислительной свободе на компьютере и мобильных устройствах.

( читать дальше... )

>>> LibreTrack на Youtube

 libretrack

zx_gamer
()

Python скрипт кликающий по экрану

Форум — Development

Переношу проект с одной версии программы на другую, т.к. импорт невозможен, использую копипаст объектов. Есть рутинная задача по копированию названий объектов, в корне проекта их нет, поэтому копировать название возможно только тыкая по экрану в чём python мне и помог.

Вот такой код

import keyboard
import threading
import time
import pyautogui

#import pyautogui - координаты мышки
#pyautogui.displayMousePosition()

def exit_on_esc():
    while True:
        if keyboard.is_pressed('esc'):
            exit(1)

def main():
    #задержка перед началом работы скрипта
    time.sleep(10)

    #находимся на первом проекте

    #определяем количество повторений
    repetitions = 6

    for i in range(repetitions):
        # нажимаем F2, чтобы выделить название объекта
        pyautogui.moveTo(133, 819) # координаты первого объекта
        pyautogui.click()
        pyautogui.press('down', presses=i)
        pyautogui.press('f2')
        #копируем название в буфер обмена
        pyautogui.hotkey('ctrl', 'c')
    
        #переключаемся на второй проект
        pyautogui.hotkey('alt', 'tab')

        # вводим новое название объекта 
        pyautogui.moveTo(133, 772)
        pyautogui.click()
        pyautogui.press('down', presses=i)
        pyautogui.press('f2')
        pyautogui.hotkey('ctrl', 'v')
        pyautogui.press('enter')

        # переключаемся на первый проект
        pyautogui.hotkey('alt', 'tab')


if __name__ == "__main__":
    # Запуск потока с отлавливанием нажатия ESC
    exit_thread = threading.Thread(target=exit_on_esc)
    exit_thread.start()

    # Запуск основного потока
    main_thread = threading.Thread(target=main)
    main_thread.start()

#скрипт выполнен!

Все хорошо работает, но каждый раз приходиться в ручную забивать координаты сначала одного экрана с первым проектом, затем второго со вторым. Может кто-то помочь чтобы координаты как-то сами определялись после первого нажатия на один объект и затем на второй, а потом чтобы всё запускалось?

 ,

ilyaGor
()

Сам себе экосистема.

Форум — Talks

Заманали меня современные приложения в край, я даже на лоре парочку топиков создавал «почему современные приложения так разжирели?» и запилил свои. Да ещё чтобы работали на всех Android-смартфонах (т.е min sdk = 5).

https://habr.com/ru/companies/timeweb/articles/726086/

Я назывваю это трушным программерским бомжеванием, а клиент уже потихоньку портирую на мобильную винду. Чо скажете друзья, если найдутся еще интересующиеся, может и миго/маемо сможем оживить?)

 , ,

monobogdan1337
()

ELK: разделить filebeat-8.2.0 на отдельные индексы

Форум — General

Всем привет!

Есть filebeat, который пишет в data stream «filebeat-8.2.0». В него попадает много сообщений. Индекс на основе этого стрима живет недолго - 1 неделю.

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

Я сделал реиндекс, в нем есть фильтр, все работает. Но он не совсем подходит: в новый индекс не попадают документы, которые были записаны после это операции.

А хотелось бы постоянно «подгружать» новые документы. Как это сделать?

Пример реиндекса:

POST _reindex
{
  "source": {
    "index": "filebeat-8.2.0",
        "query": {
            "bool": {
            "must": [],
            "filter": [
                {
                "bool": {
                    "should": [
                    {
                        "match_phrase": {
                        "message_json.context.event": "city-miss"
                        }
                    }
                    ],
                    "minimum_should_match": 1
                }
                }
            ]
        }
    }
  },
  "dest": {
        "index": "miss-cities-two"
  }
}

 , ,

nodejs
()

Аналитика по disk io

Форум — Admin

Добрый день!

Хочу пронаблюдать, какие приложения как работают с диском.

На протяжении суток пособирать данные, и потом из них построить статистику:

1. По программам - какая из них сколько дисковых операций произвела за прошедшие сутки. Сами процессы ОС могут быть короткоживущими, но программа может запускаться многократно, так что при построении статистики нужно объединить данные от разных запусков одной и той же программы.

2. По файлам и директориям - с какими из них больше всего работают. Файлы и директории могут быть короткоживущими и с изменчивыми именами, так что при построении статистики нужно к каждой из директорий приписывать все операции с находящимися внутри нее объектами (файлы внутри этой директории, файлы в поддиректориях, файлы в поддиректориях поддиректорий, и тд).

3. Желательно не учитывать операции, которые не привели к обращению к физическому диску (были полностью обслужены в оперативной памяти).

Подскажите пожалуйста, какими инструментами такое удобнее всего будет проделать?

 , ,

Manhunt
()

аналог Cisco ASA packet-tracer для netfilter

Форум — Admin

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

Для решения данных задач на Cisco ASA реализована проверка с помощью утилиты packet-tracer: указываем proto,src,dst,port) и получаем вывод без лишней возни с генерацией трафика

packet-tracer input corporate tcp 10.X.X.Z 8080 10.Y.Y.Y 80
Result:
input-interface: corporate
input-status: up
input-line-status: up
output-interface: inside
output-status: up
output-line-status: up
Action: allow

или ACE по которой дропается трафик

Phase: 3
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:

Хотелось бы узнать есть ли на linux такой механизм?

Все что нашел в интернете - основывается на TRACE и генерации реального трафика.

 

raikkonen
()

FireJail — краткое и ознакомительное практическое руководство

Статьи — Desktop
FireJail — краткое и ознакомительное практическое руководство

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

Ниже я хочу описать почти золотую середину в лице утилиты firejail в виде практических советов по использованию в первую очередь для обычных пользователей и (возможно) разработчиков.

( читать дальше... )

 , , , ,

LINUX-ORG-RU
()