在 Nautilus 中,单个项目的属性将大小显示为:四舍五入到小数点后
一位的值... nn.n KB、MB、GB...
后跟精确的字节数
对于非单件商品,仅 Nautilus 会显示四舍五入的尺寸。
(Single item) Size: 1.4 GB (1501773824 bytes)
(Multi items) Size: 5 items, totalling 1.4 GB
(directory) Size: 5 items, totalling 1.4 GB
有没有办法让 Nautilus 在所有情况下都显示准确的字节数?
我喜欢“属性”对话框允许我复制此尺寸数据的方式,但我通常希望使用确切的尺寸(而不是近似值)。
Konqueror 显示实际大小总计,但它不允许我将值复制到剪贴板。
注意:提供的soluton zerwas(下面)工作得很好,除了它达到4,294967,296 字节(4 GB)的最大整数......
所以对于任何阅读本文并有兴趣使用此方法的人,这里是修改后的代码,它适用于“long long”整数... 9,223,372,036,854,775,807 字节(8 EB .. E xaBytes)。
第一行 (/* new */) 位于第 2337 行
/* new */ long long ll_total_size = total_size;
/* MOD */ size_str = g_format_size_for_display (ll_total_size);
/* MOD */ text = g_strdup_printf (ngettext("%'d item, with size %s (%lld bytes",
/* MOD */ "%'d items, totalling %s (%lld bytes)",
/* ASIS */ total_count),
/* MOD */ total_count, size_str, ll_total_size);
新显示信息:
(Single item) Size: 1.4 GB (1501773824 bytes)
(Multi items) Size: 5 items, totalling 1.4 GB (1502027641 bytes)
(directory) Size: 5 items, totalling 1.4 GB (1502027641 bytes)
--
(directory) Size: 188,120 items, totalling 766.8 GB (823295045767 bytes)
显示的值由 GLib 的函数g_format_size_for_display调用。您必须通过在输出中添加 %i 来编辑 nautilus 的源代码以更改此行为:
第 1 步:下载源代码,安装依赖项并打开文件进行编辑
第 2 步:更改代码
现在转到第 2338 行(在 Nautilus 2.30 中)并更改
with size %s
为with size %s (%i Bytes)
. 对 做同样的事情totalling %s
。将其更改为totalling %s (%i Bytes)
现在应该如下所示:第 3 步:编译
现在您可以像其他所有应用程序一样简单地编译 Nautilus
请注意,只要通过包管理对其进行更新,Nautilus 就会被覆盖。这意味着您必须手动重新构建和安装它。
还有一种使用 Nautilus 脚本的替代方法,但这会在右键单击菜单中添加另一个条目,而不是在属性窗口中具有值。