装机吧 - 系统装机大师 最简单易用的系统重装工具,让我们一起装机吧!支持 Windows XP、7、8、 10 原版镜像安装。支持 U 盘 PE 制作、PE 联网等多种功能选择。
  • 立即下载
  • 已下载:1000000+
    版本:12.6.48.1900 | 大小:31MB
当前位置:首页 > 硬件教程

redhat终端设置字体大小(redhat语言修改英文为中文)

分类:硬件教程    发布时间: 2023年03月28日 16:31:12

linux redhat下密码复杂度要求数字大小写字母和特殊符号4类中至少有两类怎么设置

你可以尝试你姓名缩写字母大写+或者@+你的生日,手机尾号,身份证后几位,都可以。这样可以满足复杂程度要求。

redhat的桌面大小能不能改变 想让它大一点

系统工具 - 配置管理器 - /apps/nautilus/icon_view/default_zoom_level 设置为 small(也就是75%)就可以了,默认的是standard。这时的桌面图标大小就与 Windows 下的图标差不多大小了或者文件浏览器(Nautilus 2.14.0-Nautilus 是 GNOME 的图形化外壳,它使管理文件和系统变得更容易。) - 编辑 -首选项 -视图 - 图标视图默认值 - 默认所方级别 75%,这时的桌面图标大小与 windows 下基本相当。

redhat 更改桌面图标和字体大小

在桌面上按右键,选择change desktop backgourd,可以设置字体、背景和桌面图标

linux在字符界面如何设置字体大小

这个是英语环境下装中文的,可以参考下

对于国内的Linux用户,经常烦恼的一个问题是:系统常常在需要显示中文的时候却显示成了乱码,而由于某些原因,需要英文界面的系统的时候,却苦于系统不能正常输入和显示中文.另外,由于大部分主要Linux发行版都是以英语为主体的,英文界面的系统和应用程序不管在界面的美观程度和稳定程度上都比中文的略好一些,各种奇怪的BUG也要少一些。因此,很多稍微有英语基础的Linux用户都宁愿使用英文界面的系统。但是,矛盾又突现出来:在英文系统下,如何才能正常显示和输入中文呢?有没有两全其美的方案呢?因此,笔者开始探索如何解决这个问题。我的完美状态是:系统和应用程序全部为英文(系统菜单、应用程序工具栏、默认输入法等),而我需要阅读和撰写中文文档的时候,能正确的显示中文并调出中文输入法。经过尝试,设置成功,现在以FC4 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/$ \

$HOME/.xinput.d/default \

/etc/X11/xinit/xinput.d/$ \

/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/$该成

/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,重新启动图形界面,就可以用英文的界面并且正确显示中文和输入中文。

为系统添加新字体和中文显示

为 Redhat 的两个字体子系统添加字体 让 Enlightenment 显示中文 Java 的中文问题: JBuilder 的中文问题 J SDK 的中文问题 J RE 的中文问题 大家挑自己需要的看就好了 为 Redhat Linux 添加新字体 [注] 以下过程在 Redhat 上测试通过 准备要安装的字体 如: c f 根据发行注记里所言分别为核心 X 字体子系统和 fontconfig 字体子系统添加字体: 为核心 X 字体子系统添加字体 [注] 以下部分应该对 Redhat 之前的版本也适用 因为 核心 X 字体子系统存在 于迄今为止的版本中 如果你想给你的 Red Hat Linux 系统添加新字体 根据使用新字体的字体子系统而 定 你必须明确所需步骤 对于核心 X 字体子系统 你必须 创建 /usr/share/fonts/local/ 目录(如果它不存在) mkdir /usr/share/fonts/local/ 这一步没问题 如果你必须要创建 /usr/share/fonts/local/ 你就必须把它添加到 X 字体服务器的 路 径中 cfontpath add /usr/share/fonts/local/ 如果是刚创建的 /usr/share/fonts/local/ 那么执行这一行命令会提示错误 因为系统在这个目录里找不到 fonts dir 文件 然后就不 add 不过没关系 这一步跳过去 在第三步之后做 把新字体文件复制到 /usr/share/fonts/local/ 中 照做 使用以下命令来更新字体信息 ttmkfdir d /usr/share/fonts/local/ o /usr/share/fonts/local/fonts scale 照做 然后: ) 把 fonts scale 拷贝出来一份 fonts dir ) cfontpath add /usr/share/fonts/local/ 使用以下命令来重新启动 xfs 字体服务器 service xfs reload 这一步我没成功 因为我发现 redhat 里面没有 service 这个命令 于是 用笨办法解决: 退出 X 再 startx 以上这些步骤做完之后 所有 gtk 的程序里有关字体的部分 (如 xmms 的字体设置 里) 都多出来我们要的新字体 像 simsun tahoma 这时可以在程序内部直接使用了 比如我们让歌曲列表里的中文使用 simsum 英文使用 tahoma 可以这样做: ) 先在 xmms 的 Fonts 里勾上选项 Use fontsets 让 xmms 支持双字节的 中文字体; ) 在 播放清单 部分浏览字体 选择使用 simsum: misc simsun medium r normal * * * * c * koi r (不用拷这个 选上 simsun 它自己就出来了) 对于英文字体的要用 tahoma 就这么来 一点小技巧: 把这段 misc simsun medium r normal * * * * c * koi r ^x 剪切下来 再选字体为 tahoma 出现这个: microsoft tahoma medium r normal * * * * p * viscii 好了 在后面加个逗号 把刚才剪切的那段东东 ^v 粘贴在后面成为: microsoft tahoma medium r normal * * * * p * viscii misc simsun medium r normal * * * * c * koi r 这么一行 保存一下 于是歌曲列表就会对中文使用 simsum 英文使用 tahoma 再把这行拷下面 Main Window 的字体里 (要勾上 Use X font ) 这时 xmms 主窗 口里的字体 (像那条来回滚动的歌曲信息的字体) 也和歌曲列表里的一样了 注意 我刚才说的是程序内部 就象 xmms 的歌曲列表一样 而 程序本身 即 xmms 自 己的窗口却还是又粗又大的字体 这时需要改 gtk 的字体设置: ) 用 root 账号: vi /etc/gtkrc zh_CN ) 把原来的: fontset = adobe helvetica medium r normal * * * * * iso * * medium r normal * * * * * gb * r * 改成和我们上面用在 xmms 里的字体一样: fontset = microsoft tahoma medium r normal * * * * p * viscii misc simsun medium r normal * * * * c * koi r ) 保存退出 关掉 xmms 这些程序 再重新打开 效果就出来了! Enjoy! 为 fontconfig 字体子系统添加字体 [注] 以下除了 图形化地安装字体 部分为 Rehat 独有 其他应该在之前版本也适 用 大家试试 这部分简单多了 看 redhat 发行注记: 把新字体添加到 fontconfig 字体子系统比较简单明了 只需把新字体复制到 /usr/share/fonts/ 目录中即可(个体用户可以把新字体复制到 ~/ fonts/ 目录中来修 改他们的个人字体配置) 复制了新字体后 使用 fc cache 来更新字体信息缓存 fc cache (这里的 应该是 /usr/share/fonts/ 或 ~/ fonts/ 目录 ) 我是按这个办法把字体拷 ~/ fonts/ 下面做成功的 (不想使用 root 用户 hh) 个体用户还可以图形化地安装字体 方法是 在 Nautilus 中浏览 fonts:/// 然后把 新字体文件拖放到那里 而这个办法我失败了 无论我用普通用户还是 root 用户 都无法把字体文件 拷贝或者 拖放 到 Nautilus 的 fonts:/// 文件夹里 不知道原因 只好放弃 按第一种方式添加成功后 在 gtk 的程序里设置字体的部分都可以自由使用新字体 比如在控制中心里把应用程序字体都改成 simsum (另外 我发现 号大小的 simsun 效果最好 不使用单色也非常清晰 可以考虑使用) 总的来说 为 Redhat Linux 添加新字体并没有什么太难太神秘的东西 我个人做完之 后 觉得并没有想像中那么难 尤其是 gtk 程序的字体部分 不必改别人说过的那么多 文件 而实际只要添加完字体 改个 /etc/gtkrc zh_CN 就搞定了 让 Enlightenment 显示中文 同样简单 在上面的前提下 找到你当前使用的 E 主题 如我的是在 ~/ enlightenment/themes/AquaX/ 进入这个目录后 最简单的做法: gedit textclass cfg 利用 gedit 的替换功能 把所有关于字体的字符串 如: * helvetica bold r normal * * * * * * * * 统统替换成和 xmms 一样的: microsoft tahoma medium r normal * * * * p * viscii misc simsun medium r normal * * * * c * koi r 保存退出 清除 E 的缓存 Restart E 搞定 Java 的中文显示 JBuilder 的中文问题 vi /etc/profile 添加: JAVA_FONTS=/path/to/your/zhfonts/ export JAVA_FONTS 比如要用刚才弄好的 simsum 和 tahoma 字体 因为我们已经把它们放在: /usr/share/fonts/local 里面了 所以这里就可以填: JAVA_FONTS=/usr/share/fonts/local 注意 JBuilder 显然用的是 fontconfig 字体子系统 所以 要让它认出来 有哪些字体可以用 fonts scale 和 fonts dir 这两个问题无疑是必需的 相比较上面核心 X 字体子系统的字体文件夹里 即我的 ~/ fonts 里面只有 字体文件和一个叫 fonts cache 的文件 可以对比著理解 能让 JBuilder 打开的程序显示中文 但 JBuilder 本身中文有问题 下面: 修改 JBuilder 自己的字体配置 比如我的 JBuilder 装在: ~/Apps/Devs/JBuilder 那么: vi ~/Apps/Devs/JBuilder /jdk /jre/lib/font properties 把这样的东西: serif = bh lucidabright medium r normal * %d * * p * iso serif = standard symbols l medium r normal * %d * * p * urw fontspecific alic = bh lucidabright medium i normal * %d * * p * iso alic = standard symbols l medium r normal * %d * * p * urw fontsp ecific 统统换成如: serif = microsoft tahoma medium r normal * * * * p * viscii serif = misc simsun medium r normal * * * * c * koi r alic = microsoft tahoma medium r normal * * * * p * viscii alic = misc simsun medium r normal * * * * c * koi r (还是用上面 xmms 一样的字体) 所有这些 * = 都是描述英文该用什么字体 而所有 * = 都是描述中文该用什么字体 最后保存退出 JBuilder 里的英文就都是 tahoma 所有的中文都是 simsun 自然 因为已经设置了 JAVA_FONTS 所以所有 Java 的应用程序都能正常找到 中文字体并显示 lishixinzhi/Article/program/Java/hx/201311/25919

栏目:硬件教程 阅读:0 2022/09/08
视频教程 更多>>
重装系统 更多>>
win10 更多>>
win7 更多>>
win8 更多>>
装机吧一键重装系统

版权所有 © 2012-2020 保留所有权利