没错,是adduser的特性,lpic考试中着重考过这个问题。
root特殊之处就在于,不受adduser的限制,因为adduser要运行,系统中就必须存在root。
然而,为何不使用默认/etc/skel到/root呢?个人认为可能是安全问题。

在 2011年4月2日 下午5:45,apo <[email protected]>写道:

> 这个不是debian自己有的现象,redhat系列的系统也存在/etc/skel。
> 应该是adduser这个命令工具提供的特性,这个路径可以修改/etc/adduser.conf进行定制。
>
> 在使用adduser命令时,只要是添加normal user,都会复制这个路径下的 skeletal configuration文件。
> 至于root本身,也不是adduser可以添加的了吧。:D
>
> ------------------ 原始邮件 ------------------
> *发件人:* "Shell Xu"<[email protected]>;
> *发送时间:* 2011年4月2日(星期六) 下午4:06
> *收件人:* "apo"<[email protected]>; "Debian Chinese GB"<
> [email protected]>;
> *主题:* Re: 回复: gnome-terminal: su - usrname进入后,无法输入中文
>
> debian中有个有趣的现象。所有用户,包括安装时新建的用户,都会从/etc/skel复制模板过来。然而root本身是不复制模板的。
> 我怀疑是安全性问题,毕竟root下执行的代码,越少越好。
>
> 在 2011年4月2日 下午3:55,apo <[email protected]>写道:
>
>> apo:~# dpkg -S /usr/bin/locale
>> libc6: /usr/bin/locale
>>
>> 这本是glibc库的一部分,可参考库手册locals and internationalization章节。
>>
>> 系统要支持中文,你肯定要在#dpkg-reconfigure locales 添加中文,然后设置环境变量,选择期望的locale数据。
>>
>> `su'和`su -'的本来就是一个保持当前用户的环境设置,另一个完全切换成目标用户的环境设置。
>> su正常,说明你当前用户的环境设置正确。su -不正常,只是说明root账户的环境下,语言相关的变量没有设置而已。
>>
>> -apo@cn
>>
>> ------------------原始邮件------------------
>> *发件人:*"yuanwei xu"<[email protected]>;
>> *发送时间:*2011年4月1日(星期五) 晚上9:17
>> *收件人:*"CHEN Xing"<[email protected]>;
>> *抄送:*"段会强"<[email protected]>; "Debian-zh_CN"<
>> [email protected]>;
>> *主题:*Re: gnome-terminal: su - usrname进入后,无法输入中文
>> 在 2011年4月1日 上午12:18,CHEN Xing <[email protected]> 写道:
>> > 如果以前没有设置过B用户的locale为POSIX,可能是系统默认locale的问题。dpkg-reconfigure locale一下看看吧。
>> >
>>
>> 没有 locale 这个包, 奇怪。
>> $which locale 显示是 /usr/bin/locale,
>> #dpkg -S locale 显示是在 libc-bin 里,
>> #dpkg-reconfigure libc-bin 没有出现配置画面
>>
>> 有一个 locales 的包,
>> #dpkg-reconfigure locales 出现配置画面,选择全系统的 locales 为 zh_CN.utf-8
>> 后,再添加新用户,并 su - 登录,确认更改有效。
>>
>> 貌似 locales 是负责生成的,而 locale 是调用的。
>>
>>
>>
>>
>> > CHEN, Xing / 陈醒
>> >
>> >
>> >
>> > 在 2011年3月31日 上午9:08,yuanwei xu <[email protected]> 写道:
>> >> 还是环境变量的问题,我在 A 帐户下登录 gnome/console,然后通过 su - B 登录,运行 $locale ,所有
>> >> LC_XXX="POSIX",打开 VIM ,显示encoding,fileencoding 都是 latin,中文显示有乱码.
>> >> 我如果直接用 B 帐户登录 gnome/console,$locale 显示的则都是 zh_CN.UTF-8。那现在就是在 .bashrc
>> >> 里面加入下面这些变量,有点像是做个显示声明之类的。
>> >>
>> >> export LANG=zh_CN.UTF-8
>> >> export LC_CTYPE="zh_CN.UTF-8"
>> >> export LC_NUMERIC="zh_CN.UTF-8"
>> >> export LC_TIME="zh_CN.UTF-8"
>> >> export LC_COLLATE="zh_CN.UTF-8"
>> >> export LC_MONETARY="zh_CN.UTF-8"
>> >> export LC_MESSAGES="zh_CN.UTF-8"
>> >> export LC_PAPER="zh_CN.UTF-8"
>> >> export LC_NAME="zh_CN.UTF-8"
>> >> export LC_ADDRESS="zh_CN.UTF-8"
>> >> export LC_TELEPHONE="zh_CN.UTF-8"
>> >> export LC_MEASUREMENT="zh_CN.UTF-8"
>> >> export LC_IDENTIFICATION="zh_CN.UTF-8"
>> >> export LC_ALL=
>> >>
>> >> A用户是我装系统的时候设置的,B用户则是后来加的。root 的 .bashrc 现在也要加这些语句才行,以前似乎不存在这个问题。
>> >>
>> >> 在 2011年3月30日 上午12:22,CHEN Xing <[email protected]> 写道:
>> >>> 如果su没问题但su -有问题,可能是环境变量的问题吧,但似乎又不应该是这个问题……你试着在su -之后的环境运行下这些命令?
>> >>> export GTK_IM_MODULE=xim
>> >>> export QT_IM_MODULE=xim
>> >>> export XMODIFIERS="@im=fcitx"
>> >>> 如果能好使,把它加到/root/.bashrc里好了
>> >>>
>> >>> CHEN, Xing / 陈醒
>> >>>
>> >>>
>> >>>
>> >>> 在 2011年3月29日 上午6:34,yuanwei xu <[email protected]> 写道:
>> >>>> (补一个到list)
>> >>>>
>> >>>> 在 2011年3月29日 下午9:24,段会强 <[email protected]> 写道:
>> >>>>> 我的没有此问题。
>> >>>>> 你用su试试,不输入用户名。
>> >>>>
>> >>>> 用su 是没有问题的,但几天前是没有这个问题的。用 su 也不错,谢谢。
>> >>>>
>> >>>>> 在 2011-03-29二的 21:17 +0800,yuanwei xu写道:
>> >>>>>> 各位好,刚刚发现在 gnome-terminal 中用 su - 进入到root
>> >>>>>> 用户后,无法输入中文(fcitx),打出词组后,按空格,没有输入,只是窗口闪一下;用鼠标中键也只能粘贴英文,粘贴中文时,出现提示:
>> >>>>>> (arg: 7)。退回到当前用户,一切又是正常的,在 “Root 终端” 下键入中文也是正常。
>> >>>>>> 有什么解没有,谢谢。
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >
>>
>
>
>
> --
> 无能者无所求,饱食而遨游,泛若不系之舟
> blog: http://shell909090.com/blog/
> twitter: http://twitter.com/shell909090
>
>


-- 
无能者无所求,饱食而遨游,泛若不系之舟
blog: http://shell909090.com/blog/
twitter: http://twitter.com/shell909090

回复