hw-monitor — это настольное приложение Linux, предназначенное для мониторинга различных аспектов аппаратного обеспечения вашего компьютера. Созданный с использованием платформы Tauri, он включает в себя серверную часть Rust и интерфейс TypeScript, использующий библиотеку React.
Программное обеспечение охватывает четыре основные части мониторинга:
В разделе «Процессы» представлена подробная информация о каждом процессе, запущенном на вашем компьютере с Linux. Процессы можно отсортировать для лучшей читаемости и мониторинга использования, или вы можете искать их с помощью панели поиска. Отслеживаемая информация включает в себя:
На странице «Производительность» в основном отображаются графики использования ключевых аппаратных компонентов, таких как ЦП, ОЗУ, графический процессор и сетевые карты. Помимо графиков, он предоставляет подробную информацию для каждого аппаратного компонента, включая скорость процессора, количество ядер, потоков, сокетов, время безотказной работы, информацию об оперативной памяти и подкачке и многое другое, как показано на рисунках ниже:
На странице «Датчики» отображаются все датчики, обнаруженные программным обеспечением. Для ноутбуков в комплект поставки входит аккумуляторный ящик с подробной информацией. Кроме того, он показывает все обнаруженные датчики температуры с тепловой полосой, как показано ниже:
На странице «Диски» отображаются диски и разделы, обнаруженные ядром Linux, аналогично выводу команды lsblk
. Кроме того, он отображает использование смонтированных разделов, как показано ниже:
Приложение теперь включает в себя комплексную многоязычную поддержку, позволяя пользователям выбирать из восьми языков: арабского, немецкого, английского, испанского, французского, польского, русского и украинского.
Программное обеспечение также содержит файл конфигурации, который создается при запуске внутри ~/.config/hw-monitor
под именем hw-monitor.conf
. Этим файлом можно управлять из программного обеспечения через графический интерфейс, как показано ниже, или путем редактирования файла с помощью текстового редактора. Файл конфигурации содержит группу значений цвета и других настроек, таких как время обновления. Программное обеспечение загружает конфигурацию по умолчанию, но все цвета, кнопки и формы компонентов можно редактировать для обеспечения максимальной настраиваемости и удобства работы с пользователем.
Помимо конфигурации по умолчанию, есть еще одна красивая тема, имеющая палитру, похожую на Catpuccin.
# Catpuccin Theme
# #################
# ## processes ###
# ################
processes_update_time=2000
processes_body_background_color= # 1E1E2E
processes_body_color= # CDD6F4
processes_head_background_color= # 313244
processes_head_color= # CDD6F4
processes_table_values=user,pid,ppid,name,state,cpu_usage,memory
# ###################
# ## performance ###
# ##################
performance_update_time=1000
performance_sidebar_background_color= # 313244
performance_sidebar_color= # CDD6F4
performance_sidebar_selected_color= # 74C7EC
performance_background_color= # 1E1E2E
performance_title_color= # F38BA8
performance_label_color= # A6E3A1
performance_value_color= # 89B4FA
performance_graph_color= # A6E3A1
performance_sec_graph_color= # FAB387
# ###############
# ## sensors ###
# ##############
sensors_update_time=5000
sensors_background_color= # 1E1E2E
sensors_foreground_color= # CDD6F4
sensors_boxes_background_color= # 313244
sensors_boxes_foreground_color= # A6ADC8
sensors_battery_background_color= # 7dcfff
sensors_battery_frame_color= # 45475A
sensors_boxes_title_foreground_color= # BAC2DE
# #############
# ## disks ###
# ############
disks_update_time=5000
disks_background_color= # 1E1E2E
disks_boxes_background_color= # 313244
disks_name_foreground_color= # 89B4FA
disks_size_foreground_color= # 89DCEB
disks_partition_background_color= # 181825
disks_partition_usage_background_color= # 3b3b52
disks_partition_name_foreground_color= # A6ADC8
disks_partition_type_foreground_color= # A6ADC8
disks_partition_usage_foreground_color= # A6E3A1
# ##############
# ## navbar ###
# #############
navbar_background_color= # 1E1E2E
navbar_buttons_background_color= # 313244
navbar_buttons_foreground_color= # CDD6F4
navbar_search_background_color= # 313244
navbar_search_foreground_color= # CDD6F4
# ###############
# ## heatbar ###
# ##############
heatbar_color_one= # 7aa2f7
heatbar_color_two= # 7dcfff
heatbar_color_three= # 9ece6a
heatbar_color_four= # ff9e64
heatbar_color_five= # f7768e
heatbar_color_six= # e0af68
heatbar_color_seven= # bb9af7
heatbar_color_eight= # 7aa2f7
heatbar_color_nine= # 2ac3de
heatbar_color_ten= # a9b1d6
language=en
# #################
# ## processes ###
# ################
processes_update_time=2000
processes_body_background_color= # 282828
processes_body_color= # ebdbb2
processes_head_background_color= # 3c3836
processes_head_color= # ebdbb2
processes_table_values=user,pid,ppid,name,state,cpu_usage,memory
# ###################
# ## performance ###
# ##################
performance_update_time=1000
performance_sidebar_background_color= # 3c3836
performance_sidebar_color= # ebdbb2
performance_sidebar_selected_color= # 458588
performance_background_color= # 282828
performance_title_color= # cc241d
performance_label_color= # 98971a
performance_value_color= # 458588
performance_graph_color= # 98971a
performance_sec_graph_color= # d65d0e
# ###############
# ## sensors ###
# ##############
sensors_update_time=5000
sensors_background_color= # 282828
sensors_foreground_color= # ebdbb2
sensors_boxes_background_color= # 3c3836
sensors_boxes_foreground_color= # 928374
sensors_battery_background_color= # 689d6a
sensors_battery_frame_color= # 45475A
sensors_boxes_title_foreground_color= # 928374
# #############
# ## disks ###
# ############
disks_update_time=5000
disks_background_color= # 282828
disks_boxes_background_color= # 3c3836
disks_name_foreground_color= # 458588
disks_size_foreground_color= # 689d6a
disks_partition_background_color= # 1d2021
disks_partition_usage_background_color= # 504945
disks_partition_name_foreground_color= # 928374
disks_partition_type_foreground_color= # 928374
disks_partition_usage_foreground_color= # 98971a
# ##############
# ## navbar ###
# #############
navbar_background_color= # 282828
navbar_buttons_background_color= # 3c3836
navbar_buttons_foreground_color= # ebdbb2
navbar_search_background_color= # 3c3836
navbar_search_foreground_color= # ebdbb2
# ###############
# ## heatbar ###
# ##############
heatbar_color_one= # cc241d
heatbar_color_two= # d65d0e
heatbar_color_three= # d79921
heatbar_color_four= # 689d6a
heatbar_color_five= # 458588
heatbar_color_six= # b16286
heatbar_color_seven= # 689d6a
heatbar_color_eight= # 458588
heatbar_color_nine= # 98971a
heatbar_color_ten= # 928374
language=en
Вы можете скачать приложение со страницы релиза или собрать его самостоятельно, следуя инструкциям в репозитории.
При запуске приложения вы можете столкнуться с ошибкой, связанной с отсутствием общих библиотек, например:
error while loading shared libraries: libjavascriptcoregtk-4.0.so-18
Чтобы решить эту проблему, установите соответствующий пакет для вашего дистрибутива Linux:
sudo pacman -S webkit2gtk
sudo apt install libwebkit2gtk-4.0-dev
sudo dnf install webkit2gtk4.0-devel
sudo emerge --ask net-libs/webkit-gtk:4
sudo xbps-install -S webkit2gtk-devel
Если вы используете графический процессор Nvidia и столкнулись с такими ошибками, как:
src/nv_gbm.c:300: GBM-DRV error (nv_gbm_create_device_native): nv_common_gbm_create_device failed (ret=-1)
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 800x600: Permission denied
Чтобы это исправить, добавьте следующие переменные среды в файл конфигурации оболочки (например, .bashrc, .zshrc):
export WEBKIT_DISABLE_DMABUF_RENDERER=1
export LIBGL_ALWAYS_SOFTWARE=1
export QT_XCB_FORCE_SOFTWARE_OPENGL=1
для рыбной ракушки
set -Ux WEBKIT_DISABLE_DMABUF_RENDERER 1
set -Ux LIBGL_ALWAYS_SOFTWARE 1
set -Ux QT_XCB_FORCE_SOFTWARE_OPENGL 1
После добавления этих строк сохраните файл и запустите source ~/.bashrc (или source ~/.zshrc в зависимости от вашей оболочки), чтобы применить изменения.
Выполните следующие действия, чтобы создать приложение локально:
Клонируем репозиторий :
git clone https://github.com/husseinhareb/hw-monitor
Установите зависимости :
cd hw-monitor/
npm install
Запустите приложение :
npm run tauri dev
Создайте приложение :
npm run tauri build
Вклады приветствуются! Если вы хотите внести свой вклад:
Fork the repository.
Create your branch: git checkout -b feature/YourFeature.
Commit your changes: git commit -m 'Add some feature'.
Push to the branch: git push origin feature/YourFeature.
Submit a pull request.
Этот проект лицензируется по лицензии MIT.