Neofetch 在 MacOS 上显示错误的大小

Neofetch 在 MacOS 上显示错误的大小

neofetch与“设置”->“存储”相比,我在 MacOS Ventura 13.1 上显示的磁盘大小错误:

neofetch:磁盘(/dev/disk1s1s1):12G / 113G(45%)

存储图形用户界面: 在此输入图像描述

似乎neofetch正在使用df -h,但diskutil list显示了正确的大小。

如何配置 neofetch 来diskutil list代替df -h

谢谢。

答案1

据我所知,这不是 neofetch 支持的。如果您想添加它,则必须实现该get_disks函数的 macOS 特定版本来调用diskutil list并解析其输出。

提示:diskutil list -plist | plutil -convert json - -o -将为您提供一个 JSON 结构,您可以使用 jello 或 jq 或类似的实用程序进行解析。应该比解析 diskutil 的默认输出格式更容易一些。

祝你好运!

答案2

您可以使用“dfc”代替“df”,这对我来说在 MacOS Ventura 下显示正确的值。

这是我的 '/' df ,这确实是错误的:

df -nh /
Filesystem       Size   Used  Avail Capacity iused     ifree %iused  Mounted on
/dev/disk1s5s1  466Gi  8.7Gi   15Gi    38%  356810 153270600    0%   /

这就是我的 dfc 输出,看起来已经更准确了:

dfc -p /
FILESYSTEM               (=) USED      FREE (-)  %USED AVAILABLE  TOTAL MOUNTED ON
/dev/disk1s5s1           [====================]  96.9%     14.6G 465.6G /

如果您使用 JSON 格式调用 dfc,它会产生非常有用的输出:

dfc -p / -e json | jq '.filesystems[] | select(.mount_point=="/")'
{
  "filesystem": "/dev/disk1s5s1",
  "usage": "96.859399%",
  "available": "14.6G",
  "total": "465.6G",
  "mount_point": "/"
}

您可以使用 Homebrew 安装“dfc”:

brew install dfc

在我的 neofetch 中我使用这个命令:

  dfc -p / -e json |
    jq -r '
      .filesystems[] |
      select(.mount_point=="/") |
      [.filesystem,
      (.usage|split("%")|.[0]|tonumber|ceil|tostring)+"%", .total, .mount_point] |
      @tsv'

由于直接添加到 neofetch 的配置对我来说有点太复杂,因此我从该命令创建了一个小脚本,并将脚本添加到我的 neofetch 配置中,如下所示:

prin "${cl4} ├─ ${cl0} $(diskinfo)"

这最终给了我:

截屏

相关内容