hw-monitor 是一个 Linux 桌面应用程序,旨在监视计算机硬件的各个方面。它使用 Tauri 框架构建,具有 Rust 后端和利用 React 库的 TypeScript 前端。
该软件涵盖监控的四个主要部分:
进程部分提供有关 Linux 计算机上运行的每个进程的详细信息。可以对进程进行排序,以便更好的可读性和使用情况监控,或者您可以使用搜索栏搜索它们。监控的信息包括:
性能页面主要显示关键硬件组件使用情况的图表,例如CPU、RAM、GPU和网卡。除了图表之外,它还提供每个硬件组件的详细信息,包括 CPU 速度、核心数量、线程、套接字、正常运行时间、RAM 和交换信息等,如下图所示:
传感器页面显示软件检测到的所有传感器。对于笔记本电脑,它包括一个包含全面信息的电池盒。此外,它还显示所有检测到的带热条的温度传感器,如下所示:
磁盘页面显示 Linux 内核检测到的磁盘和分区,类似于lsblk
的输出。另外,它还显示已挂载分区的使用情况,如下所示:
该应用程序现在包括全面的多语言支持,允许用户从八种不同的语言中进行选择:阿拉伯语、德语、英语、西班牙语、法语、波兰语、俄语和乌克兰语。
该软件还包含一个配置文件,该文件在启动时在~/.config/hw-monitor
内创建,名称为hw-monitor.conf
。该文件可以通过 GUI 从软件中管理,如下所示,或者使用文本编辑器编辑文件。配置文件包含一组颜色值和其他设置,例如更新时间。该软件加载其默认配置,但所有组件颜色、按钮和形状都可以编辑,以获得最大的可定制性和用户驱动的体验。
除了默认配置之外,还有另一个漂亮的主题,其调色板类似于 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 GPU 并遇到以下错误:
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
要解决此问题,请将以下环境变量添加到 shell 配置文件(例如 .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 取决于您的 shell)以应用更改。
请按照以下步骤在本地构建应用程序:
克隆存储库:
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 许可证的许可。