LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: wingfy01

我的u盘自动挂上去后显示不了中文名的文件,但是能在里面创建中文名的文件

[复制链接]
发表于 2009-8-7 07:04:13 | 显示全部楼层

有没有搞错

有没有搞错啊,人家问什么问题, 你们在讨论啥捏?

关于楼主说的U盘中文问题,我也GOOGLE了好久,不过最后看下来倒是有了个解决方案:

在 /etc/udev/rules.d 目录中创建一个新的规则文件

随便起名字,不过我起的是: 80-udisk.rules
内容如下

  1. KERNEL=="sd[b-z]", NAME="%k", SYMLINK+="usb%m", GROUP="users", OPTIONS="last_rule"
  2. ACTION=="add", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb%n", GROUP="users", NAME="%k"
  3. ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/%E{ID_MODEL}_%k"
  4. ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/sbin/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,noexec,nodev,noatime,iocharset=gb2312,utf8,codepage=936,uid=1000,gid=1000 /dev/%k /mnt/%E{ID_MODEL}_%k", OPTIONS="last_rule"
  5. ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mount -t auto -o iocharset=gb2312,utf8,codepage=936,uid=1000,gid=1000,rw,noauto,noexec,nodev,noatime /dev/%k /mnt/%E{ID_MODEL}_%k", OPTIONS="last_rule"
  6. ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/%E{ID_MODEL}_%k"
  7. ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/%E{ID_MODEL}_%k", OPTIONS="last_rule"
复制代码


OK,搞定

根据网上的解释是,hal 负责发现设备,然后传递给 udev去干事,这时,就可以通过UDEV的规则来解决问题。

顺口说一句,我用的不是Slackware 我用的是  Slackware 的一个 Live CD 的分支,叫 Slax. 非常好用。;)
回复 支持 反对

使用道具 举报

发表于 2009-8-7 09:10:47 | 显示全部楼层
Post by wangjunhuashuo;2013013
只是个人的用法、需求和习惯不同罢了.
现在大多数人的电脑性能已经相当高了,平常的使用没必要为了那一点点性能的提升再去编译了。比方说我了,只要在终端下一输入make menuconfig我的头大,立马忍不住又按了ctrl+c,想想呢,我为什么要重新编译内核呢?没有需求就没有必要!


Nod,确实是个人需求和习惯,呵呵

我编译内核,
1. 熟悉如何编译内核
2.加速机器启动,不喜欢等太长时间。slk预装的内核包含很多东西,所以通用,但启动比较慢
3.因为以前使用的gentoo,那个时候已经定制了内核选项,习惯了,用以前的.config, make oldconfig,方便快捷。
4.除去我不要的模块,把指定的功能直接编译到内核,而非模块。
回复 支持 反对

使用道具 举报

发表于 2009-8-7 10:50:08 | 显示全部楼层
Post by applewolf;2013659
有没有搞错啊,人家问什么问题, 你们在讨论啥捏?

关于楼主说的U盘中文问题,我也GOOGLE了好久,不过最后看下来倒是有了个解决方案:

在 /etc/udev/rules.d 目录中创建一个新的规则文件

随便起名字,不过我起的是: 80-udisk.rules
内容如下

  1. KERNEL=="sd[b-z]", NAME="%k", SYMLINK+="usb%m", GROUP="users", OPTIONS="last_rule"
  2. ACTION=="add", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb%n", GROUP="users", NAME="%k"
  3. ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/%E{ID_MODEL}_%k"
  4. ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/sbin/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,noexec,nodev,noatime,iocharset=gb2312,utf8,codepage=936,uid=1000,gid=1000 /dev/%k /mnt/%E{ID_MODEL}_%k", OPTIONS="last_rule"
  5. ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mount -t auto -o iocharset=gb2312,utf8,codepage=936,uid=1000,gid=1000,rw,noauto,noexec,nodev,noatime /dev/%k /mnt/%E{ID_MODEL}_%k", OPTIONS="last_rule"
  6. ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/%E{ID_MODEL}_%k"
  7. ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/%E{ID_MODEL}_%k", OPTIONS="last_rule"
复制代码


OK,搞定

根据网上的解释是,hal 负责发现设备,然后传递给 udev去干事,这时,就可以通过UDEV的规则来解决问题。

顺口说一句,我用的不是Slackware 我用的是  Slackware 的一个 Live CD 的分支,叫 Slax. 非常好用。;)


在 xfce 下试验的? ginkgo 说了,xfce 不用 hal 来挂载东西……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-9 21:08:01 | 显示全部楼层
我用的是xfce4的确也是用到hal服务的
回复 支持 反对

使用道具 举报

发表于 2009-8-24 13:16:20 | 显示全部楼层
Post by applewolf;2013659
有没有搞错啊,人家问什么问题, 你们在讨论啥捏?
……

以前一直手动挂载的,这个要回去试试
回复 支持 反对

使用道具 举报

发表于 2009-10-20 11:21:32 | 显示全部楼层
我的xfce用这方法是可以自动挂载中文正常,但是好像没有办法从桌面卸载U盘
回复 支持 反对

使用道具 举报

发表于 2009-10-23 22:18:49 | 显示全部楼层
不是说要编译内核
我挂载fat,会有中文问题,挂在ntfs就没问题,因为用nfs-3g吧
我也是xfce
回复 支持 反对

使用道具 举报

发表于 2009-10-23 23:24:30 | 显示全部楼层
编译内核修改编译不是明智之选,我的选择是装pcmanfm,专用来挂载vfat分区,因为它自带对vfat的utf8选项,能正确识别中文
ntfs-3g则非常好,我一般是ln -s /bin/ntfs-3g /sbin/mount.ntfs,这样的话,通杀
回复 支持 反对

使用道具 举报

发表于 2009-10-28 05:13:51 | 显示全部楼层
mount -o iocharset cp936 ....
windows下中文目录用的是 cp936 编码。
linux 可能用的是 utf8 编码。 中文界面可能是 gbk编码。

如果用 iocharset 选项 挂载u盘,我像应该能正常显示中文目录名的。

哦, 忘了。 习惯手动挂在设备。 其他的还不会用。
为了方便点。 alias mount mount -o iocharset cp936
做一个别名。 这样就方便多了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表