|
楼主 |
发表于 2008-6-5 16:44:43
|
显示全部楼层
终于解决了 PCmanFM 在挂载 NTFS 格式移动硬盘时,中文文档和文件夹全部消失的问题。
首先,根据 PCMan 本人所述,现在的 HAL 已经规定,HAL(挂载磁盘的)Policy 完全由各个程序自己处理,统一的 Policy 设定,在将来不会再有效。于是,/etc/hal/fdi/preference 中的Policy文件,在 LXDE 下可以删除了。
其次,找到了 pcmanfm 挂载文件系统时的设定档:/usr/share/pcmanfm/mount.rules,略作修改之下,问题得到解决…………
*********
…………其实还是没有真的解决啊,呵呵,刚才一兴奋……原来看错了,本不是NTFS的格式。当然能显示中文名了。而真正 NTFS 格式的移动硬盘分区上,中文名还是不能显示的。
于是继续深入研究那个 mount.rules,发现原来默认的配置文件很好,完全正确,根本不用作改动。它已经设定好用 ntfs-3g 来替换 ntfs 了。可是为什么就是不能显示 NTFS 上的中文名呢?
原来根本就不是 pcmanfm 的问题,怪错人了。应该是 lxsession 和 HAL 的问题,它们没有加载正确的编码。那就强行指派 utf8 编码给 ntfs-3g 来挂载 NTFS 分区。于是,抱着试试看的心态,到 Arch Wiki 上查看 HAL 的相关内容,居然写得清清楚楚:
If you use KDE, you may have problem with filenames containing non-latin characters...There is a workaround for this:...
虽然是说 KDE 的,但也许也能通用吧。于是有了下面的操作。注意,需要有 Root 权限:
1. rm /sbin/mount.ntfs-3g,这只不过是个软链接,链接到 “/bin/ntfs-3g”。
2. vim /sbin/mount.ntfs-3g,写入一个脚本:
#!/bin/bash
/bin/ntfs-3g $1 $2 -o locale=zh_CN.utf8
(en_US.utf8 也可以的)
3. 赋于它执行权限:chmod +x /sbin/mount.ntfs-3g
现在打开 pcmanfm 来试试……
哈哈,万事大吉!看来,Wiki 还是要好好看才行啊。 |
|