LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1393|回复: 5

[求助]修改/etc/profile.d/lang.sh后locale不变

[复制链接]
发表于 2009-4-5 13:48:46 | 显示全部楼层 |阅读模式
本来刚装上Slackware-12.2时修改/etc/profile.d/lang.sh后挺好的,硬盘上的中文文件名也显示正常(fstab做过相应修改),终端中启动scim也能输入中文,
后来改了一下/etc/X11/xinit/xinitrc,添加了启动scim的命令,重启后locale又变成posix了,硬盘上中文文件名乱码,而且用export LC_CTYPE=zh_CN.utf-8后,再在终端中启动scim,右下角的scim图标也在,但就是没法调出输入法来。
后来我又把/etc/X11/xinit/xinitrc中添加的命令删掉了,但现在的locale好像还是不听lang.sh的设置,不管怎么更改lans.sh,locale就是posix。
奇怪的很,求解,先谢了。
 楼主| 发表于 2009-4-7 22:49:01 | 显示全部楼层
问题解决了,我在/etc/profile里添加了export LC_CTYPE=zh_CN.gbk后locale终于改过来了。

但是改locale不是更改/etc/profile.d/lang.sh 吗?
回复 支持 反对

使用道具 举报

发表于 2009-4-7 23:37:29 | 显示全部楼层
这个是因为你乱改的地方太多了。
系统默认的是在/etc/profile.d/lang.sh里面,
个人的可以把这个写在~/.bash_profile里面。

所以要养成好的习惯,一般不修改系统级别的东西。只修改个人的。
这个是使用linux的最重要的一个地方。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-7 23:56:57 | 显示全部楼层
Post by ginkgo;1971160
这个是因为你乱改的地方太多了。
系统默认的是在/etc/profile.d/lang.sh里面,
个人的可以把这个写在~/.bash_profile里面。

所以要养成好的习惯,一般不修改系统级别的东西。只修改个人的。
这个是使用linux的最重要的一个地方。


不会吧,我这都是照着网上说的做的啊,也没改几个地方。
回复 支持 反对

使用道具 举报

发表于 2009-4-8 09:16:03 | 显示全部楼层
你如果看的资料多了,就会发现网上有些不是很正确。

你看/etc/profile 就会发现,他先是加载 /etc/profile.d/中的脚本,然后再执行下面的命令。
这个是系统级别的。
个人login进去的时候,还要默认的加载~/.bash_profile里面的东西。
论坛里有个讲bash的精华文章,你去看一下。

你到/etc/profile.d/ 下面用 grep 一下。看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-8 09:34:02 | 显示全部楼层
嗯,谢谢。
不过我刚刚看了下,可能是因为我的slackware是用登录管理器启动的吧,所以就没有读取/etc/profile.d/lang.sh和xinitrc,

你说的~/.bash_profile我肯定是找过的,就是因为没有(没有的话不是按照系统的设置吗),所以才觉得奇怪(我已经打开了“查看隐藏文件”),
因为不想在每个用户里都改一下设置,所以就在系统里改了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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