You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ubuntu系统的i3窗口管理器状态栏中显示GPU温度的实现方法咨询

在Ubuntu系统的i3窗口管理器状态栏中显示GPU温度的实现方法

嘿,我来帮你搞定在i3状态栏显示GPU温度的问题!根据Ubuntu环境下不同的GPU类型(NVIDIA/AMD/Intel核显),我整理了几种实用的方法,你可以按需选择:

方法1:针对NVIDIA显卡(最直接的方案)

如果你的GPU是NVIDIA的,用nvidia-smi工具就能轻松获取温度,步骤如下:

  1. 先确认nvidia-smi可用:打开终端执行nvidia-smi,如果提示命令不存在,就安装NVIDIA驱动:
    sudo apt update && sudo apt install nvidia-driver-$(ubuntu-drivers devices | grep recommended | awk '{print $3}')
    
    安装完成后重启一下系统,nvidia-smi就能正常使用了。
  2. 编辑i3status的配置文件,路径是~/.config/i3status/config(如果没有这个文件,先从默认配置复制一份:cp /etc/i3status/config ~/.config/i3status/config)
  3. 在配置文件的order区域里添加一个新条目,比如"exec nvidia_gpu_temp",然后在配置文件下方添加这个模块的定义:
    order += "exec nvidia_gpu_temp"
    
    ...
    
    exec nvidia_gpu_temp {
            command = "echo 'GPU: '$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits)'°C'"
            interval = 10  # 每10秒更新一次温度数据
            label = ""
    }
    
  4. 保存配置后,按下Mod+Shift+C重新加载i3的配置,你就能在状态栏看到GPU温度了。

方法2:针对AMD显卡/Intel核显(用lm-sensors工具)

对于AMD显卡或者Intel核显,lm-sensors是更通用的硬件传感器检测工具:

  1. 安装lm-sensors:
    sudo apt update && sudo apt install lm-sensors
    
  2. 运行传感器检测命令,一路按回车确认默认选项即可:
    sensors-detect
    
  3. 现在执行sensors命令,找到GPU对应的温度条目,比如AMD卡可能会显示amdgpu-pci-XXXX开头的模块,里面的temp1就是GPU温度;Intel核显的话可能在coretemp-XXXX模块里。
  4. 为了更准确获取数值,你可以用sensors -u查看具体的传感器路径,比如类似/sys/class/hwmon/hwmon2/temp1_input(这个文件里的数值是毫摄氏度,需要除以1000得到实际温度)。
  5. 编辑i3status配置文件,添加自定义exec模块:
    order += "exec amd_intel_gpu_temp"
    
    ...
    
    exec amd_intel_gpu_temp {
            command = "echo 'GPU: '$(cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}')'°C'"
            interval = 10
            label = ""
    }
    
    注意:把hwmon2替换成你自己系统中对应的hwmon编号,确保路径正确。

方法3:用i3blocks实现更灵活的自定义(适合多GPU类型场景)

如果你想要更灵活的状态栏自定义,i3blocks是个不错的选择:

  1. 安装i3blocks:
    sudo apt install i3blocks
    
  2. 编辑i3的主配置文件~/.config/i3/config,找到status_command那一行,把它改成:
    status_command i3blocks
    
  3. 创建i3blocks的配置文件~/.config/i3blocks/config,添加GPU温度的配置块:
    [gpu_temp]
    command=if command -v nvidia-smi >/dev/null 2>&1; then echo "GPU: $(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits)°C"; else echo "GPU: $(sensors | grep -A 1 'amdgpu\|coretemp' | grep 'temp1' | awk '{print $2}')"; fi
    interval=10
    label=
    
    这个脚本会自动检测系统中的GPU类型,然后输出对应的温度,你可以根据自己的实际情况调整grep的匹配关键词。
  4. 按下Mod+Shift+C重新加载i3配置,状态栏就会显示GPU温度了。

备注:内容来源于stack exchange,提问作者banderlog013

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:39:30