我的机器装的是wdc wd1600js-22mhb0硬盘,是160G的SATA II 硬盘。
我留出了30G,打算安装FC6。
从网上下载了FC-6-i386-DVD.iso,然后从硬盘引导安装,可以进入安装界面,但是出现了无法识别硬盘的问题,在网上看了不少文章都没能解决。
但是,我安装在另一块移动硬盘上时,就可以识别为SCSI设备,安装正常。
后来我在XP上装了VMWARE,用虚拟机可以在我的硬盘上装FC6,然后我把引导记录写在了MBR上。但之后却只能从虚拟机启动,从硬盘上直接引导就无法启动。
我在这里提出了两个问题,请高手指教。多谢!
对于好的答案,我一定会追加分数。
FC6应该是支持sata的吧,不是吗?
我用VMWARE装的时候就是完全装在物理硬盘上的,但是无法启动
得看你要安哪 个版本的,不同的版本之间差异很大,这里惊扰Redhat为例说一下:
(一)安装前准备
1、由于初次安装RedHat,为了避免与WIN98冲突,我特地找个闲置的640M的硬盘,并把它设置为从盘,打算把RedHalt安装到该硬盘上。进入WIN98后,系统自动识别为D盘。(如何在同一硬盘上安装LINUX与WIN98,请参阅主页上中文HOW文档)
(二)开始安装RedHat 开机进入COMS设置,把引导顺序改为CDROM、A、C。把RedHat6.0光盘放入光驱,系统自动进入安装状态。初次安装,还是执行默认值为妙,由于各自硬件不同,我谈谈我的几个主要步骤吧。
1、为Linux添加一个分区,用Tab选择Add钮,按回车,屏幕上将出现一个题为“Edit New Partition”的对话框。首先我们在Mount Point项中,输入这个分区(hdb)所对应的系统目录/(根目录);接着在Size(Megs)项中,输入分区的大小600(单位兆);在Type这一项中用光标上、下键选择适当的分区类型,我们选中Linux的文件分区Linux native;最后按OK确认。这样我们就成功地建立起一个为Linux所用的分区了。如果你的硬盘空间允许,你完全可以再建立一个或几个分区给Linux使用。接着用同样的方法给Linux增加一个交换分区,不同的仅是Mount Point项让它空着,在Type项目中选择Linux Swap。输入分区大小(如64),注意,交换分区的大小不能低于物理内存的实际大小。为Linux分好了区,按OK将分区信息写入硬盘。接着就是进行格式化了,执行默认值吧,
2、定制安装Linux软件了,硬盘空间有限,使用默认值算了,哦,我需要KDE,我加上KDE项!好了,现在可以安装了。
3、设置显示器。我的显示器可不是名牌的,,找个替代吧,我选Viewsonic 14ES,显示器才能上到真彩 否则是丑陋的256色(告诉你,这是我多次配置XWindows才得到的答案喔)。(至于如何设定XWINDOWS请参阅主页上的XWINDOW配置)
5、设置显示卡。到显卡列表找吧,找呀找,终于找到了我的SIS6326,要不然就有点麻烦了。
6、设置系统管理员密码,密码至少六个以上,它不会出现如WIN下的***,千万不要乱打呀,没有正确的密码可进不了Linux系统的哦。
7、系统提示制作启动盘,我可要用它启动我的RedHalt的啊,插入软盘后YES。
8、安装LILO(Linux多操作系统启动管理器)。我想我大多数的时间还是用Win98吧,选SKIP跳过这一步。用Linux时插入启动盘啦(至于和WIN98双启动请参阅LINUX技巧等)
--------------------------------------------------------------------------------
本文主要通过修改系统配置的过程来展现修改linux系统配置的一般思路和过程,如果你不太有耐心看完,请跳过文章的1—4节,直接看第五节快速设置部分。
一,相关变量介绍
我们知道大部分Linux系统是无所谓中文版和英文版的,以FC4 Linux为例,系统发行的时候全世界都一样,系统是中文的还是英文的完全取决于你选择的语言包。不同国家的人在安装使用的时候选择属于自己国家的语言包,应用程序中的语言也不是写死的,它根据系统的设置来调用相关的语言,所以,一个应用程序写出来不经过修改,全世界不同国家的用户都可以以母语界面使用它,这就事所谓的internationalization(国际化),简称i18n。这也是未来软件的发展趋势。
那么,如果我在系统中安装了不同的语言包和不同的字体,系统是如何判断我所要的语言界面并调用相关的字体的呢?系统中那些文件和变量在控制这些呢?
在redHat和FC系列Linux系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下:
代码:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。
这些变量中LANG变量是在字符模式和图形界面下都用到的,在你登录系统后就被读取并生效,相信很多人在字符界面下输入Linux命令的时候经常会遇到显示出来的出错信息是乱码的情况,必需安装zhcon或者cce等字符模式下的中文软件才能正常显示中文的出错信息。如果我不要他显示中文乱码,我也不要为了看个很简单的出错信息而特意起用zhcon那我该怎么办呢?一个简单的零时解决的办法就是设置一下LANG变量:
代码:
[root@gucuiwen ~]# LANG="en_US.UTF-8"
即把系统的语言临时设置成英文,或者更简单一点,可以直接这样:
代码:
[root@gucuiwen ~]# LANG=""
即把LANG变量清空,由于英语是无论什么情况都支持的,LANG变量被清空后,系统就默认用英语。这样设置后,在字符模式下输出的出错信息等就是全英文的了。但这种设置是临时的,只是临时改变了LANG这个bash变量而已。当退出重新登录或者切换到其他字符终端后就无效了。到现在,读者应该想到了,只要把i18n文件中的LANG变量设置成英文的”en_US.UTF-8”,就可以永久解决这个问题了。修改后的文件如下:
代码:
#LANG="zh_CN.UTF-8"
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
请不要把LANG变量简单的清空,因为这个变量不仅在字符模式下用到,在图形界面下也用到,简单清空在字符模式下确实不会有问题,但在图形界面下,却会造成中文无法正常显示的情况,在过去Re d ha t 系列的版本中i18n文件中还有一个叫LANGUAGE的变量,专门控制图形界面下的语言设置,现在的FC系列中已经把这两个变量整合成一个变量了。
经过修改这个变量,重新起动图形界面后,就可以看到界面一经完全是英文的了。但是按ctrl+空格却不能调出中文输入法,输入法菜单中也不能添加中文输入法。我们只简单的修改了LANG变量改变了系统语言设置,当然这一步也可以用图形界面下的工具修改,而不用亲自修改配置文件。
二,关于运行等级
这个问题似乎和这篇文章的的主题无关,但是介于现在越来越多的linux新手遇到linux图形界面的问题,而且在中文输入法设置过程中也牵涉到这些问题,因此想顺便提一下。
现在的linux安装完成后,默认就运行在第5个系统运行级别。在SYSTEM V 风格的UNIX系统中,系统被分为不同的运行级别,这和BSD分支的UNIX有所不同,常用的为0~6七个级别:
0 关机
1 单用户
2 不带网络的多用户
3 带网络的多用户
4 保留,用户可以自给定义
5 图形界面的多用户
6 重起系统
由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。这样看起来很方便。但是有什么坏处呢? 一旦你改变了某些设置,显示出问题的时候,系统不断在图形和字符间派徊,新手又不知道如何应对,十分麻烦,而且对于学习研究Linux的人来说,这样不利于了解和学习Linux底层的一些东西。很早就用Linux的老用户都知道,过去的Linux如redhat6.0,都是默认运行接别为3,即使后来的RedHat9.0也可以在安装时候选默认字符登录还是图形登录。但现在的FC系列和其他大多数版本都不管三七二十一直接帮用户选择了直接图形界面登录。虽然对于大多数菜鸟来说,Linux确实越来越简单了,但是很多乐趣,那些新手也体验不到了。
也许你不相信,直接图形登录到系统确实会有很多问题,因此,作为一个有6年Linux使用经验的Linux和Solaris 系统管理员,我强烈建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
用文本编辑器修改 /etc/inittab文件 ,把
代码:
id:5:initdefault:
这一行,修改成
代码:
id:3:initdefault:
保存后就重起,系统就默认起动到字符界面。不同运行级别之间的差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。
三,调出中文输入法:
我之所以要在上面费那么多笔墨来讲系统运行级别,是因为对系统的认识是从底部向上开始的。
先把默认运行级别修改成3级别,当然,如果你实在不想修改,就临时用init 3命令切换到第3级。
这样你就可以用startx起动图形界面,然后用ctrl+alt+backspace退出图形界面。请注意我说的是“退出”图形界面,而不是按ctrl+alt+F2切到一个字符终端。
好了,一切由startx开始。当你需要在Linux系统中设置某个东西,或者配置某个服务的时候,最关键的是要知道,这一切是怎么开始的。知其然必需知其所以然。如果你有空把/etc/rc.d目录下的系统起动时运行的脚本通读一遍,就完全知道了/etc下的各种配置文件是用来干什么的、如何修改、修改后有什么效果等等。玩起系统来也能随心所欲想怎么改就怎么改。这就是我一直强调的,知其然一定要知其所以然。一定要深入系统,读脚本,学会用命令和手工修改系统配置文件。这样对系统才会有透彻的了解,整天用图形界面的工具是不能帮助你对系统有教为透彻深入的了解的,不同的linux系统提供的图形界面配置程序会不同,但命令和配置文件都是相同的,越是底层的东西越具有通用性。所以,应当先学会手动配置和修改系统配置文件,等熟悉了以后,再用图形界面的工具修改,以便减少工作量。
上面提了一下我解决问题的思路。我是顺着这个思路开始的:
中文输入法是在图形界面下使用的,是图形界面下运行的一个程序。而图形界面中的一切,都是由startx程序开启运行的。这就是问题的根源。
找出startx的位置:
代码:
[root@gucuiwen ~]# which startx
/usr/X11R6/bin/startx
看startx是一个脚本还是二进制文件:
代码:
[root@gucuiwen ~]# file /usr/X11R6/bin/startx
/usr/X11R6/bin/startx: Bourne shell script text executable
发现startx是一个shell 脚本,于是我打开它分析并阅读,看看能不能找到一些关于输入法起动过程和相关变量的线索:
代码:
[root@gucuiwen ~]# vi /usr/X11R6/bin/startx
我找到了该脚本在运行过程中调用的其他脚本和配置文件的信息:
代码:
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
并且知道,startx的目的是寻找系统中可用的桌面系统X服务器系统、以及用户自定义的参数,最终调用xinit来初始化X图形界面。我没有在startx脚本中找到直接和起动输入法相关的代码,于是就可以肯定,输入法相关的代码在startx调用的脚本中。于是我来到
/etc/X11/xinit/目录下,阅读并分析该目录下的脚本,这些脚本有些是startx直接调用的,有些是被startx调用的脚本再调用的,存在着多级嵌套的关系,没有一点耐心还真是搞不清楚。最终我在/etc/X11/xinit/xinitrc.d目录中的xinput.sh脚本中找到了和输入法相关的代码:
代码:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
lang_region="zh_CN" #这一行是修改后加上去的
for f in $HOME/.xinput.d/${lang_region} \
$HOME/.xinput.d/default \
/etc/X11/xinit/xinput.d/${lang_region} \
/etc/X11/xinit/xinput.d/default ; do
[ -r $f ] && source $f && break
done
通过分析脚本,我知道,图形界面启动的时候脚本是根据LANG变量来决定是否启用输入法,以及启用哪种语言的输入法等。问题在于:我们还没有把LANG变量改成英语之前,系统得到的LANG变量是中文的,因此,它知道需要在图形界面启动过程中启用中文输入法,但把LANG变量改成英文后,系统根据LANG变量知道系统是英文的,它便不再启动中文输入法,也不再设置和导出相关的变量,导致中文输入法不可用。因此,只要在这个脚本中,“骗”过系统,让输入法脚本“以为”系统是中文的,它不就运行中文输入法,并导出相关变量了吗? 于是,通过分析脚本,我在xinput.sh中的:
代码:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
后面又添加了
lang_region="zh_CN"
直接把lang_region=$(echo $tmplang | sed -e 's/\..*//') 修改成 lang_region="zh_CN" 也可以
多添加一行是为了以后改过来方便,直接删除添加的一行就可以了。
当然,把for循环中的/etc/X11/xinit/xinput.d/${lang_region}该成
/etc/X11/xinit/xinput.d/zh _CN也可以。
当然还有其他的改法,前提是你要懂得shell 脚本的语法,看得懂脚本的意思。这样修改后,即便系统是英文的,xinput.sh脚本也会去读取/etc/X11/xinit/xinput.d/zh _CN 文件并导出其中的内容、设置好XMODIFERS等输入法变量,并运行iiimx输入法程序。
那么为什么不在图形界面启动后直接运行iiimx输入法程序呢?实验一下就知道,这根本不行。因为输入法程序是须要和被输入的应用程序配合运行的软件,在运行过程中需要导出很多变量。直接运行iiimx只运行了主程序,而没相关变量,没办法和应用程序配合完成输入工作。
完成修改工作后,保存脚本文件。输入startx命令启动图形界面,就可以用全英文的系统界面和中文输入法了。但需要注意的是:由于系统是全英文的,默认输入法也是英文,通过GNOME或者KDE菜单起动的应用程序第一次输入中文的时候不能按ctrl+空格来切换到中文,需要用鼠标在任务栏上点击输入法图标切换,第一次切换后以后就可以用ctrl+空格快捷键来切换中英文输入法了。
四,一些后续问题
某些软件,比如Open Office,通过GNOME或者KDE菜单启动的话,即使切换到中文输入法也输不进中文,这是因为整个桌面系统的环境是英文的,软件“继承”了英文环境的相关变量,这些软件就“认死理”,就是不让输入中文,这时候可以打开一个gnome终端,把LANG变量临时设置成zh_CN.UTF-8 :
[root@gucuiwen ~]# LANG="zh_CN.UTF-8"
然后在这个gnome终端中,用命令打开open office:
[root@gucuiwen ~]# oowriter &
这样Open Office就“继承”了gnome终端的LANG变量,起动后,工具栏和菜单等都是中文的,而且能输入中文。推而广之,任何软件都可以用这种方法,根据需要,打开中文界面的软件和英文界面的软件。要以英文界面运行软件时,只要从GNOME或者KDE菜单打开,要用中文界面运行软件时,在终端中修该LANG变量,从修改过LANG变量的终端中通过命令运行即可。当然,如果你还安装了其他语言的字体,你还可以以其他语言的界面来运行程序。如日语:
[root@gucuiwen ~]# LANG="ja_JP.UTF-8"
[root@gucuiwen ~]# gedit &
我用上面的两条命令打开的gedit 编辑器就是全日语界面的,但是能输入中文和英文,并显示日文。从而达到,一个系统,多种语言和文字共存的目的。
当然,前提是要安装了日语字体和日语locale,否则所有有文字的地方会全部显示成一连串问号。总之,要先懂得原理,之后想怎么玩就怎么玩,随心所欲,完全不受限制,充分享受用Linux的乐趣。
五, 快速设置步骤:
1.修改/etc/sysconf/i18n文件,把
LANG="zh_CN.UTF-8"
修改成:
LANG="en_US.UTF-8"
2.修改/etc/X11/xinit/xinitrc.d/xinput.sh文件,把其中一行:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
修改成:
lang_region=”zh_CN”
3,重新启动图形界面,就可以用英文的界面并且正确显示中文和输入中文。
(一)安装前准备
1、由于初次安装RedHat,为了避免与WIN98冲突,我特地找个闲置的640M的硬盘,并把它设置为从盘,打算把RedHalt安装到该硬盘上。进入WIN98后,系统自动识别为D盘。(如何在同一硬盘上安装LINUX与WIN98,请参阅主页上中文HOW文档)
(二)开始安装RedHat 开机进入COMS设置,把引导顺序改为CDROM、A、C。把RedHat6.0光盘放入光驱,系统自动进入安装状态。初次安装,还是执行默认值为妙,由于各自硬件不同,我谈谈我的几个主要步骤吧。
1、为Linux添加一个分区,用Tab选择Add钮,按回车,屏幕上将出现一个题为“Edit New Partition”的对话框。首先我们在Mount Point项中,输入这个分区(hdb)所对应的系统目录/(根目录);接着在Size(Megs)项中,输入分区的大小600(单位兆);在Type这一项中用光标上、下键选择适当的分区类型,我们选中Linux的文件分区Linux native;最后按OK确认。这样我们就成功地建立起一个为Linux所用的分区了。如果你的硬盘空间允许,你完全可以再建立一个或几个分区给Linux使用。接着用同样的方法给Linux增加一个交换分区,不同的仅是Mount Point项让它空着,在Type项目中选择Linux Swap。输入分区大小(如64),注意,交换分区的大小不能低于物理内存的实际大小。为Linux分好了区,按OK将分区信息写入硬盘。接着就是进行格式化了,执行默认值吧,
2、定制安装Linux软件了,硬盘空间有限,使用默认值算了,哦,我需要KDE,我加上KDE项!好了,现在可以安装了。
3、设置显示器。我的显示器可不是名牌的,,找个替代吧,我选Viewsonic 14ES,显示器才能上到真彩 否则是丑陋的256色(告诉你,这是我多次配置XWindows才得到的答案喔)。(至于如何设定XWINDOWS请参阅主页上的XWINDOW配置)
5、设置显示卡。到显卡列表找吧,找呀找,终于找到了我的SIS6326,要不然就有点麻烦了。
6、设置系统管理员密码,密码至少六个以上,它不会出现如WIN下的***,千万不要乱打呀,没有正确的密码可进不了Linux系统的哦。
7、系统提示制作启动盘,我可要用它启动我的RedHalt的啊,插入软盘后YES。
8、安装LILO(Linux多操作系统启动管理器)。我想我大多数的时间还是用Win98吧,选SKIP跳过这一步。用Linux时插入启动盘啦(至于和WIN98双启动请参阅LINUX技巧等)
--------------------------------------------------------------------------------
本文主要通过修改系统配置的过程来展现修改linux系统配置的一般思路和过程,如果你不太有耐心看完,请跳过文章的1—4节,直接看第五节快速设置部分。
一,相关变量介绍
我们知道大部分Linux系统是无所谓中文版和英文版的,以FC4 Linux为例,系统发行的时候全世界都一样,系统是中文的还是英文的完全取决于你选择的语言包。不同国家的人在安装使用的时候选择属于自己国家的语言包,应用程序中的语言也不是写死的,它根据系统的设置来调用相关的语言,所以,一个应用程序写出来不经过修改,全世界不同国家的用户都可以以母语界面使用它,这就事所谓的internationalization(国际化),简称i18n。这也是未来软件的发展趋势。
那么,如果我在系统中安装了不同的语言包和不同的字体,系统是如何判断我所要的语言界面并调用相关的字体的呢?系统中那些文件和变量在控制这些呢?
在redHat和FC系列Linux系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下:
代码:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。
这些变量中LANG变量是在字符模式和图形界面下都用到的,在你登录系统后就被读取并生效,相信很多人在字符界面下输入Linux命令的时候经常会遇到显示出来的出错信息是乱码的情况,必需安装zhcon或者cce等字符模式下的中文软件才能正常显示中文的出错信息。如果我不要他显示中文乱码,我也不要为了看个很简单的出错信息而特意起用zhcon那我该怎么办呢?一个简单的零时解决的办法就是设置一下LANG变量:
代码:
[root@gucuiwen ~]# LANG="en_US.UTF-8"
即把系统的语言临时设置成英文,或者更简单一点,可以直接这样:
代码:
[root@gucuiwen ~]# LANG=""
即把LANG变量清空,由于英语是无论什么情况都支持的,LANG变量被清空后,系统就默认用英语。这样设置后,在字符模式下输出的出错信息等就是全英文的了。但这种设置是临时的,只是临时改变了LANG这个bash变量而已。当退出重新登录或者切换到其他字符终端后就无效了。到现在,读者应该想到了,只要把i18n文件中的LANG变量设置成英文的”en_US.UTF-8”,就可以永久解决这个问题了。修改后的文件如下:
代码:
#LANG="zh_CN.UTF-8"
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
请不要把LANG变量简单的清空,因为这个变量不仅在字符模式下用到,在图形界面下也用到,简单清空在字符模式下确实不会有问题,但在图形界面下,却会造成中文无法正常显示的情况,在过去Re d ha t 系列的版本中i18n文件中还有一个叫LANGUAGE的变量,专门控制图形界面下的语言设置,现在的FC系列中已经把这两个变量整合成一个变量了。
经过修改这个变量,重新起动图形界面后,就可以看到界面一经完全是英文的了。但是按ctrl+空格却不能调出中文输入法,输入法菜单中也不能添加中文输入法。我们只简单的修改了LANG变量改变了系统语言设置,当然这一步也可以用图形界面下的工具修改,而不用亲自修改配置文件。
二,关于运行等级
这个问题似乎和这篇文章的的主题无关,但是介于现在越来越多的linux新手遇到linux图形界面的问题,而且在中文输入法设置过程中也牵涉到这些问题,因此想顺便提一下。
现在的linux安装完成后,默认就运行在第5个系统运行级别。在SYSTEM V 风格的UNIX系统中,系统被分为不同的运行级别,这和BSD分支的UNIX有所不同,常用的为0~6七个级别:
0 关机
1 单用户
2 不带网络的多用户
3 带网络的多用户
4 保留,用户可以自给定义
5 图形界面的多用户
6 重起系统
由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。这样看起来很方便。但是有什么坏处呢? 一旦你改变了某些设置,显示出问题的时候,系统不断在图形和字符间派徊,新手又不知道如何应对,十分麻烦,而且对于学习研究Linux的人来说,这样不利于了解和学习Linux底层的一些东西。很早就用Linux的老用户都知道,过去的Linux如redhat6.0,都是默认运行接别为3,即使后来的RedHat9.0也可以在安装时候选默认字符登录还是图形登录。但现在的FC系列和其他大多数版本都不管三七二十一直接帮用户选择了直接图形界面登录。虽然对于大多数菜鸟来说,Linux确实越来越简单了,但是很多乐趣,那些新手也体验不到了。
也许你不相信,直接图形登录到系统确实会有很多问题,因此,作为一个有6年Linux使用经验的Linux和Solaris 系统管理员,我强烈建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
用文本编辑器修改 /etc/inittab文件 ,把
代码:
id:5:initdefault:
这一行,修改成
代码:
id:3:initdefault:
保存后就重起,系统就默认起动到字符界面。不同运行级别之间的差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。
三,调出中文输入法:
我之所以要在上面费那么多笔墨来讲系统运行级别,是因为对系统的认识是从底部向上开始的。
先把默认运行级别修改成3级别,当然,如果你实在不想修改,就临时用init 3命令切换到第3级。
这样你就可以用startx起动图形界面,然后用ctrl+alt+backspace退出图形界面。请注意我说的是“退出”图形界面,而不是按ctrl+alt+F2切到一个字符终端。
好了,一切由startx开始。当你需要在Linux系统中设置某个东西,或者配置某个服务的时候,最关键的是要知道,这一切是怎么开始的。知其然必需知其所以然。如果你有空把/etc/rc.d目录下的系统起动时运行的脚本通读一遍,就完全知道了/etc下的各种配置文件是用来干什么的、如何修改、修改后有什么效果等等。玩起系统来也能随心所欲想怎么改就怎么改。这就是我一直强调的,知其然一定要知其所以然。一定要深入系统,读脚本,学会用命令和手工修改系统配置文件。这样对系统才会有透彻的了解,整天用图形界面的工具是不能帮助你对系统有教为透彻深入的了解的,不同的linux系统提供的图形界面配置程序会不同,但命令和配置文件都是相同的,越是底层的东西越具有通用性。所以,应当先学会手动配置和修改系统配置文件,等熟悉了以后,再用图形界面的工具修改,以便减少工作量。
上面提了一下我解决问题的思路。我是顺着这个思路开始的:
中文输入法是在图形界面下使用的,是图形界面下运行的一个程序。而图形界面中的一切,都是由startx程序开启运行的。这就是问题的根源。
找出startx的位置:
代码:
[root@gucuiwen ~]# which startx
/usr/X11R6/bin/startx
看startx是一个脚本还是二进制文件:
代码:
[root@gucuiwen ~]# file /usr/X11R6/bin/startx
/usr/X11R6/bin/startx: Bourne shell script text executable
发现startx是一个shell 脚本,于是我打开它分析并阅读,看看能不能找到一些关于输入法起动过程和相关变量的线索:
代码:
[root@gucuiwen ~]# vi /usr/X11R6/bin/startx
我找到了该脚本在运行过程中调用的其他脚本和配置文件的信息:
代码:
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
并且知道,startx的目的是寻找系统中可用的桌面系统X服务器系统、以及用户自定义的参数,最终调用xinit来初始化X图形界面。我没有在startx脚本中找到直接和起动输入法相关的代码,于是就可以肯定,输入法相关的代码在startx调用的脚本中。于是我来到
/etc/X11/xinit/目录下,阅读并分析该目录下的脚本,这些脚本有些是startx直接调用的,有些是被startx调用的脚本再调用的,存在着多级嵌套的关系,没有一点耐心还真是搞不清楚。最终我在/etc/X11/xinit/xinitrc.d目录中的xinput.sh脚本中找到了和输入法相关的代码:
代码:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
lang_region="zh_CN" #这一行是修改后加上去的
for f in $HOME/.xinput.d/${lang_region} \
$HOME/.xinput.d/default \
/etc/X11/xinit/xinput.d/${lang_region} \
/etc/X11/xinit/xinput.d/default ; do
[ -r $f ] && source $f && break
done
通过分析脚本,我知道,图形界面启动的时候脚本是根据LANG变量来决定是否启用输入法,以及启用哪种语言的输入法等。问题在于:我们还没有把LANG变量改成英语之前,系统得到的LANG变量是中文的,因此,它知道需要在图形界面启动过程中启用中文输入法,但把LANG变量改成英文后,系统根据LANG变量知道系统是英文的,它便不再启动中文输入法,也不再设置和导出相关的变量,导致中文输入法不可用。因此,只要在这个脚本中,“骗”过系统,让输入法脚本“以为”系统是中文的,它不就运行中文输入法,并导出相关变量了吗? 于是,通过分析脚本,我在xinput.sh中的:
代码:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
后面又添加了
lang_region="zh_CN"
直接把lang_region=$(echo $tmplang | sed -e 's/\..*//') 修改成 lang_region="zh_CN" 也可以
多添加一行是为了以后改过来方便,直接删除添加的一行就可以了。
当然,把for循环中的/etc/X11/xinit/xinput.d/${lang_region}该成
/etc/X11/xinit/xinput.d/zh _CN也可以。
当然还有其他的改法,前提是你要懂得shell 脚本的语法,看得懂脚本的意思。这样修改后,即便系统是英文的,xinput.sh脚本也会去读取/etc/X11/xinit/xinput.d/zh _CN 文件并导出其中的内容、设置好XMODIFERS等输入法变量,并运行iiimx输入法程序。
那么为什么不在图形界面启动后直接运行iiimx输入法程序呢?实验一下就知道,这根本不行。因为输入法程序是须要和被输入的应用程序配合运行的软件,在运行过程中需要导出很多变量。直接运行iiimx只运行了主程序,而没相关变量,没办法和应用程序配合完成输入工作。
完成修改工作后,保存脚本文件。输入startx命令启动图形界面,就可以用全英文的系统界面和中文输入法了。但需要注意的是:由于系统是全英文的,默认输入法也是英文,通过GNOME或者KDE菜单起动的应用程序第一次输入中文的时候不能按ctrl+空格来切换到中文,需要用鼠标在任务栏上点击输入法图标切换,第一次切换后以后就可以用ctrl+空格快捷键来切换中英文输入法了。
四,一些后续问题
某些软件,比如Open Office,通过GNOME或者KDE菜单启动的话,即使切换到中文输入法也输不进中文,这是因为整个桌面系统的环境是英文的,软件“继承”了英文环境的相关变量,这些软件就“认死理”,就是不让输入中文,这时候可以打开一个gnome终端,把LANG变量临时设置成zh_CN.UTF-8 :
[root@gucuiwen ~]# LANG="zh_CN.UTF-8"
然后在这个gnome终端中,用命令打开open office:
[root@gucuiwen ~]# oowriter &
这样Open Office就“继承”了gnome终端的LANG变量,起动后,工具栏和菜单等都是中文的,而且能输入中文。推而广之,任何软件都可以用这种方法,根据需要,打开中文界面的软件和英文界面的软件。要以英文界面运行软件时,只要从GNOME或者KDE菜单打开,要用中文界面运行软件时,在终端中修该LANG变量,从修改过LANG变量的终端中通过命令运行即可。当然,如果你还安装了其他语言的字体,你还可以以其他语言的界面来运行程序。如日语:
[root@gucuiwen ~]# LANG="ja_JP.UTF-8"
[root@gucuiwen ~]# gedit &
我用上面的两条命令打开的gedit 编辑器就是全日语界面的,但是能输入中文和英文,并显示日文。从而达到,一个系统,多种语言和文字共存的目的。
当然,前提是要安装了日语字体和日语locale,否则所有有文字的地方会全部显示成一连串问号。总之,要先懂得原理,之后想怎么玩就怎么玩,随心所欲,完全不受限制,充分享受用Linux的乐趣。
五, 快速设置步骤:
1.修改/etc/sysconf/i18n文件,把
LANG="zh_CN.UTF-8"
修改成:
LANG="en_US.UTF-8"
2.修改/etc/X11/xinit/xinitrc.d/xinput.sh文件,把其中一行:
lang_region=$(echo $tmplang | sed -e 's/\..*//')
修改成:
lang_region=”zh_CN”
3,重新启动图形界面,就可以用英文的界面并且正确显示中文和输入中文。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2007-04-30
红旗桌面5.0好像支持sata硬盘
我前不久安装过一次。
我前不久安装过一次。
第2个回答 2007-04-30
ubuntu 6.10 edgy和suse linux enterprise desktop/server都可以支持SATAII硬盘。因为我用的是希捷7200.9 SATAII硬盘,装上面的两种LINUX都没有问题
SATA硬盘安装使用必读问答集
问: SATA硬盘上可以安装Linux系统吗?
答: 可以。如RedHat 9,在安装之前需要设置为Compatible Mode,否则就会找不到硬盘。安装好后,要升级内核到2.4.22,如果使用的CPU支持超线程,请在编译内核时选择SMP的支持。接着修改GRUB的启动参数,将 hda 改成 hde,分区号不变。还有fstab也需改一下,不然启动后不能激活“SWAP”交换分区。重新启动后,将BIOS中的Compatible Mode改为Enhanced Mode,这样就能发挥SATA接口的性能了。
问: 据说SATA硬盘支持热插拔,确实可以使用此功能吗?
答: 目前SATA技术分为V1.0和V2.0两个版本,其中V1.0不支持热插拔技术,在V2.0规格中SATA实现了热插拔功能。
对热插拔产生影响的只有主板和硬盘本身而已,只要硬盘和主板都支持这个功能,再安装了正确的驱动程序,就可以实现硬盘热插拔了,至于选用何种操作系统都没有关系。现在市场上新推出的硬盘如希捷酷鱼7200.7.SATA硬盘就支持V2.0规格,并且因为传统PATA的4Pin电源插头不能支持热插拔的功能,所以希捷这个系列的硬盘均不支持传统PATA的4Pin电源接头。这个功能还需主板支持,由于Intel的ICH5南桥芯片不支持热插拔功能,所以i865系列的主板都不能支持此功能。现在官方对外宣布支持SATA热插拔的主板厂商很少,只有华擎,具体支持此功能的型号可以看。
另外,虽然主板硬盘都支持热插拔了,但是在没切断硬盘电源的情况下,仅热插拔SATA 数据线,有时会导致热插拔功能的失效。而且注意两次连续热插拔操作的时间间隔必须超过5 秒钟。SiS等芯片的SATA控制器,有专门的SATA控制软件,可以使SATA的热插拔更加安全可靠。不过,目前看来SATA的热插拔技术还没有完全成熟,毕竟硬盘不同于闪存等外设,它更加脆弱,所以请慎用热插拔。
总结
每一个新技术的诞生,性能和功能提高的同时,多会伴随着设置和使用上的不习惯。目前采用SATA接口的设备已经形成一种趋势,将来除了硬盘还会有更多的设备SATA化,我们要紧紧抓着潮流,尽快了解和掌握它。希望本文能使即将选购SATA硬盘的读者对它有一个较全面的了解,免去使用中遇到问题手足无措的尴尬。
SATA硬盘安装使用必读问答集
问: SATA硬盘上可以安装Linux系统吗?
答: 可以。如RedHat 9,在安装之前需要设置为Compatible Mode,否则就会找不到硬盘。安装好后,要升级内核到2.4.22,如果使用的CPU支持超线程,请在编译内核时选择SMP的支持。接着修改GRUB的启动参数,将 hda 改成 hde,分区号不变。还有fstab也需改一下,不然启动后不能激活“SWAP”交换分区。重新启动后,将BIOS中的Compatible Mode改为Enhanced Mode,这样就能发挥SATA接口的性能了。
问: 据说SATA硬盘支持热插拔,确实可以使用此功能吗?
答: 目前SATA技术分为V1.0和V2.0两个版本,其中V1.0不支持热插拔技术,在V2.0规格中SATA实现了热插拔功能。
对热插拔产生影响的只有主板和硬盘本身而已,只要硬盘和主板都支持这个功能,再安装了正确的驱动程序,就可以实现硬盘热插拔了,至于选用何种操作系统都没有关系。现在市场上新推出的硬盘如希捷酷鱼7200.7.SATA硬盘就支持V2.0规格,并且因为传统PATA的4Pin电源插头不能支持热插拔的功能,所以希捷这个系列的硬盘均不支持传统PATA的4Pin电源接头。这个功能还需主板支持,由于Intel的ICH5南桥芯片不支持热插拔功能,所以i865系列的主板都不能支持此功能。现在官方对外宣布支持SATA热插拔的主板厂商很少,只有华擎,具体支持此功能的型号可以看。
另外,虽然主板硬盘都支持热插拔了,但是在没切断硬盘电源的情况下,仅热插拔SATA 数据线,有时会导致热插拔功能的失效。而且注意两次连续热插拔操作的时间间隔必须超过5 秒钟。SiS等芯片的SATA控制器,有专门的SATA控制软件,可以使SATA的热插拔更加安全可靠。不过,目前看来SATA的热插拔技术还没有完全成熟,毕竟硬盘不同于闪存等外设,它更加脆弱,所以请慎用热插拔。
总结
每一个新技术的诞生,性能和功能提高的同时,多会伴随着设置和使用上的不习惯。目前采用SATA接口的设备已经形成一种趋势,将来除了硬盘还会有更多的设备SATA化,我们要紧紧抓着潮流,尽快了解和掌握它。希望本文能使即将选购SATA硬盘的读者对它有一个较全面的了解,免去使用中遇到问题手足无措的尴尬。
第3个回答 2007-04-30
VMWARE安装可以选把整个物理硬盘都做为虚拟硬盘使用!
最好用最新的安装版本安装。
既然在另一块硬盘上安装成功了,可以直接把他们拷贝或干脆MV到新的硬盘上!修改下/etc/fstab!在引导里加上对他的引导!
主要都是内核无法识别SATA!或者没把驱动编进去!重新编译内核!把SATA支持及型号都编进去!
最好用最新的安装版本安装。
既然在另一块硬盘上安装成功了,可以直接把他们拷贝或干脆MV到新的硬盘上!修改下/etc/fstab!在引导里加上对他的引导!
主要都是内核无法识别SATA!或者没把驱动编进去!重新编译内核!把SATA支持及型号都编进去!