Aida 64 linux аналоги

Как я создавал простой тест производительности, но получился аналог AIDA64 для Linux дистрибутивов

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

реклама

Значит так, бенчмарк есть и работает, но есть проблемы с практичностью интерфейса, например кнопка «Save Settings», справа вверху ей точно не место потому переношу вниз поближе к кнопке закрытия меню:

реклама

Раз уж заговорил про кнопку «выход», то нужно бы и такую кнопку сделать, ибо не каждый современный пользователь сможет выйти из моего бенчмарка без кнопки выхода если вдруг переключит в полноэкранный режим, да, Alt+F4 банально и стандартно, но кто знает какие извращения могут быть в разных дистрибутивах линукса для закрытия приложения.

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

Как такое сложное действие было реализовано? Это было действительно очень сложно, целую строчку кода пришлось написать.

реклама

А дальше я принялся работать над разделом системной информации, хочу кое-что проверить, а для этого нужно разделить платформы, ведь в среде Linux нельзя вызвать WMI Info и т.п., а в среде Windows нельзя вызвать утилиты для Linux:

Для чего я собственно это делал. По идее я хотел вывод скрипта neofetch направить в Godot, но что-то пошло не так.

реклама

Думаю теперь ясно что именно пошло не так, neofetch использует цветовую разметку терминала, а она не поддерживается в моём случае, отсюда и куча лишнего мусора в выводе:

Как отключить всю эту похабщину? По идее можно прописать ряд аргументов для neofetch, и я так сделал, не сразу конечно получилось как надо, но последний результат меня вполне устраивает:

Правда позже выяснился неприятный факт, в одном дистрибутиве всё работает, а в другом нет.

реклама

Впрочем, и эту проблему удалось решить, теперь можно без лишних телодвижений вызвать neofetch не выходя из моего бенчмарка:

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

Ну ничего страшного, терминальное уродство потом можно будет переоформить, сейчас главное чтобы оно работало, и следующим шагом я добавил утилиту dmidecode, да, она требует root права для работы, но работая в линуксах и так нужно теребить root права направо и налево, потому не вижу проблем:

Кстати, уже заметили предпросмотр всей страницы в зоне полосы прокрутки? Весьма полезная вещь, особенно когда выведено очень много информации, хотя есть и незначительный баг, при первом выводе часть текста может быть спрятана под этим новым элементом, но при повторном вызове текст нормально переносится, в общем баг есть, но не критичный, потому оставлю как есть пока:

Читайте также:  Установить zoom linux ubuntu

Конечно же нужно сделать уведомление если вдруг команда не будет работать в каком-нибудь дистрибутиве Linux, выйдет весьма нехорошо если пользователь будет получать «ничего» в ответ:

Так как у меня много однотипной рутины в коде, имеет смысл провести рефакторинг грубо говоря, почему грубо говоря? Потому что я не только улучшил код, но и изменил функционал, хотя здесь всё ещё есть весьма много косяков которые нужно исправить:

И да, при нажатии кнопки USB Info я вызываю сначала команду lsusb и сразу же usb-devices, что я себе позволяю! На самом деле ничего страшного, ведь ещё в первых версиях ChimbaBench я позаботился о том, чтобы последующие вызовы диалогового информационного окна просто добавляли новые данные в вывод, потому у меня всё прекрасно работает:

Дальше нужно разобраться с dmidecode утилитой, вообще на ресурсе pkgs нашлись скомпилированные бинарники данный утилиты для дистрибутива Slackware, и оно в принципе даже работает:

Работает пока на сцену не выползает болото зависимостей характерное дистрибутивам Linux. Да, моя Slackware видимо уже слишком устарела, чтобы запустить dmidecode версии 3.5, GLIBC_2.34 видите ли не нашёлся, чем не принуждение к обновлениям? Это ещё похлеще принудиловка к обновлениям чем у Microsoft по сути.

Потому я загрузил Ubuntu 13.04 и скомпилировал dmidecode версии 3.5 в среде давно брошенного дистрибутива в котором тот самый GLIBC достаточно старой версии, чтобы быть в любом более новом дистрибутиве:

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

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

В итоге несчастный dmidecode прекрасно работает как в древней Ubuntu 13.04, так и в Debian 11.6, и даже в Slackware 15.0, вообще именно так и должен работать любой софт, но линуксоидные извращенцы они такие, вечно всё переделывать и доделывать за ними нужно:

В общем одной проблемой меньше, кстати, ChimbaBench работает даже в Ubuntu 13.04, правда в виртуальной машине доступен только OpenGL 2.0 со всеми вытекающими последствиями, но работает ведь!

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

На текущий момент я выделил лишь основные коды завершения работы приложений, и некоторые из них явно нужно изменить чтобы описание было более понятным для пользователя даже без помощи интернета:

Читайте также:  Linux узнать основную группу пользователя

Хорошо, а что будет если всплывёт специфический код ошибки? Всякое ведь бывает, например я случайно удалил код 127 из ассоциативного массива. Но ничего страшного, в описании будет просто «Null»:

Так гораздо лучше, казалось бы, мелочь, но из таких мелочей как раз и состоит всё:

Протестировав новый функционал на работоспособность можно вернуть массив с описаниями ошибок в нормальное состояние, в том числе путь к скрипту который был преднамеренно искажён ради тестов:

В общем меня пока устраивает работа нового функционала:

А вот так это выглядит со стороны исходного кода, ещё я думал предоставить пользователю терминал внутри своего бенчмарка, но кому этот терминал сдался когда можно просто нажать уже готовую кнопку и получить информацию?

Хм, вот всё и работает как положено, но есть одна проблема. Интересно, что же здесь не так? Что потерялось весьма незначительное, но крайне полезное для пользователя?

Правильно, здесь нужна кнопка «сохранить»! Теперь не нужно вручную копировать информацию из окна сообщений, ведь я добавил кнопку сохранения текста в файл.

А чтобы не разводить помойку в системе пользователя, приложение само собой всё сохраняет рядом с исполняемым файлом в отдельной папке, а чтобы сохранённые файлы не перемешивались я добавил в имя текущую дату и время в адекватном формате ISO8601:

Мне всё равно даже если в часах дистрибутива у пользователя извращённый формат даты и времени по вине неполноценных гномов, версия которых уже перевалила за 40, а разработчики до сих пор так и не осилили настройки формата даты и времени.

Ладно, пожалуй на этом пора заканчивать ChimbaBench версии 2.1, только поправить парочку кнопок, хотя это не такая уж и большая проблема как два крестика в интерфейсе Slackware для закрытия окна, причём работает только левый крестик, а правый вовсе исчезает порой:

Хотя есть и баг с сохранением информации в файл, сохранение работает только в среде Linux, в среде Windows не сохраняет, но пока особо нечего сохранять в среде Windows потому этот баг исправлю в других версиях ChimbaBench.

Информации в некоторых случаях действительно много, потому кнопка сохранения в файл очень полезна:

И да, сцену я не трогал, потому она осталась без изменений:

В общем на этом всё, версия 2.1 завершена, в итоге я создал нечто действительно похожее на аналог AIDA64, в отличие от всяких GTK Stress Testing и иных названных аналогами утилит.

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

И напоследок оставлю забавный комментарий из предыдущих статей, он меня даже рассмешил:

Читайте также:  Aspire one 722 linux

P.S. Странно это постоянно повторять, но я не программист, а потому делаю как получается, это всяко лучше пустого звона от фанатиков Linux которые вообще ничего не сделали полезного для дистрибутивов 🙂

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news — это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.

Источник

Ищете альтернативы AIDA64 и Everest для Linux?

HARDiNFO

Everest и AIDA64 — две довольно популярные программы для Windows. Возможно, если вы пришли из этой операционной системы и перешли на GNU / Linux, вы задаетесь вопросом, существуют ли программы с графическим интерфейсом, подобным им. Правда в том, что есть несколько альтернатив, как для консоли, так и с графическим интерфейсом. В другой статье мы поговорим о текстовых параметрах, которые мы можем выполнить в нашей консоли, чтобы получить всю информацию об оборудовании и система, но в этой статье мы сосредоточимся на лучших альтернативах с графическим интерфейсом .

Две бесплатные альтернативы и альтернативы с открытым исходным кодом, которые дают нам простой и понятный графический интерфейс, очень похожий на то, что мы можем видеть в программах, подобных тем, которые упомянуты в первом абзаце для Windows, это Hardinfo и Sysinfo. Оба имеют графический интерфейс со списком слева, из которого вы можете выбирать пункты меню и подменю для просмотра конкретной информации о нашем оборудовании, будь то система, процессор, память, материнская плата, устройства хранения, аккумулятор, карты памяти. Расширение , и т.д.

Контроль оборудования, установленного в нашем оборудовании, и знание некоторой информации, такой как марка и модель, могут иметь жизненно важное значение для принятия некоторых решений. Например, расширение устройства (в случае HARDiNFO Я также включаю инструменты для тестов) или просто ищу подходящие драйверы. Поэтому наличие таких программ, как Hardinfo и Sysinfo установлен в нашей системе может помочь нам в этих случаях. Кроме того, его установка довольно проста, поскольку он обычно входит в репозитории большинства дистрибутивов, поэтому с помощью любимого менеджера пакетов вы можете установить .

Между прочим, я прокомментировал, что в другой статье мы могли бы рассмотреть инструменты текстового режима, которые можно использовать для получения профиля нашего оборудования. Но я бы не хотел заканчивать статью, не говоря о библиотека с открытым исходным кодом называть cpu_features что, возможно, если вы более продвинутый пользователь или думаете о создании программы для получения системной информации (x86, MIPS, ARM и POWER), возможно, вам будет интересно. По правде говоря, я работаю с ней над проектом, и мне это интересно.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Из Linux » приложений » Ищете альтернативы AIDA64 и Everest для Linux?

Источник

Оцените статью
Adblock
detector