![Nautilus 属性页面可以显示多选和目录的字节大小吗?](https://linux22.com/image/1074504/Nautilus%20%E5%B1%9E%E6%80%A7%E9%A1%B5%E9%9D%A2%E5%8F%AF%E4%BB%A5%E6%98%BE%E7%A4%BA%E5%A4%9A%E9%80%89%E5%92%8C%E7%9B%AE%E5%BD%95%E7%9A%84%E5%AD%97%E8%8A%82%E5%A4%A7%E5%B0%8F%E5%90%97%EF%BC%9F.png)
在 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 显示实际总大小,但它不允许我将该值复制到剪贴板。
注意:解决方案泽尔瓦斯假如 (以下) 运行良好,但它的最大整数大小为 4,294967,296 字节(4 GB)...
因此,对于任何阅读本文并有兴趣使用此方法的人来说,这是经过修改的代码,它适用于“长整型”整数... 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)
答案1
显示的值由函数调用显示格式大小GLib 的。您必须编辑 nautilus 的源代码才能更改此行为,只需在输出中添加 %i 即可:
步骤1:下载源码,安装依赖项并打开文件进行编辑
mkdir -p .p/nautilus && cd .p/nautilus
sudo apt-get build-dep nautilus
apt-get source nautilus && cd nautilus*
gedit src/file-manager/fm-properties-window.c
第2步:更改代码
现在转到第 2338 行(在 Nautilus 2.30 中)并更改with size %s
为with size %s (%i Bytes)
。对 执行相同操作totalling %s
。将其更改为totalling %s (%i Bytes)
现在应如下所示:
text = g_strdup_printf (ngettext("%'d item, with size %s (%i Bytes)",
"%'d items, totalling %s (%i Bytes)",
步骤3:编译
现在你可以像编译其他应用程序一样简单地编译 Nautilus
./configure --prefix=/usr
make
sudo make install
nautilus -q
请注意,只要通过包管理更新,Nautilus 就会被覆盖。这意味着您必须手动重新构建和安装它。
还有一种替代方法,即使用 Nautilus 脚本,但这会在右键单击菜单中添加另一个条目,而不是在属性窗口中显示值。