乌班图linux终端输入不了中文怎么办
这段时间使用公司服务器时候发现Linux上竟然没有中文输入法,经过一番折腾后,终于把这个问题解决,将过程记录如下:
1首先安装ibus框架,打开终端,输入如下命令
sudo add-apt-repository ppa:shawn-p-huang/ppa
sudo apt-get update
sudo apt-get install ibus-gtk ibus-qt4 ibus-pinyin ibus-pinyin-db-open-phrase
2然后进入SystemSettings-->LanguageSupport,如果它提示要自动更新,我们就自动更新,然后在最下面将(keyboard input method system)选为ibus,貌似因为环境下ibus默认是不启动的
3这个时候我们发现任务栏还是没有输入法,不要紧我们接着进入屏幕左上角的DashHome,在搜索中输入ibus,点击回车,这个时候上方的任务栏已经有小键盘图标了,右键点击它的Preference功能设置,接着点击Input Method ,在下拉框中可以找到你的输入法,这里我使用的是Google 拼音
至此,已解决中文输入法的问题。
选择虚拟机存放路径
根据需求选择处理器数据量
根据需求进行选择
根据要求进行改动
一般选择默认
可以修改虚拟机内存大小
安装时已经指定完成
这里创建虚拟机时指定了硬盘大小,可以通过添加硬盘来实现空间扩大
指定ISO镜像文件
创建虚拟机时选择错误可以在这里进行修改,可以自定义选择网络段
127、 添加
有其他需求可以提前布置磁盘、网络适配器等
选择第一个Install Oracle Linux78 直接开始安装Oracle Linux78
132、 安装过程中使用语言选择
选择默认选项
软件选择
选择最小安装,安装完成后没有图形界面
如果要图形界面的话就需要选择“带GUI的服务器”,在“已选环境的附加项”中选择自己需要的附加项
选择的附加项:KDE、兼容性程序库()
13331、安装位置
选择磁盘--> 我要配置分区(I) --> 完成 --> 手动分区 --> 标准分区 --> 根据需求分配容量 --> 设备:修改 --> 选择磁盘sda/sdb --> 更新设置(U)
swap: 标准分区
/ : 标准分区
/u01: LVM
13332、 网络和主机名(N)
根据需求指定IP地址,根据需求修改主机名
13333、 SECURITY POLICY
设置ROOT密码 --> 根据需求是否创建用户 --> 等待安装完成 --> 重启 --> 监听许可信息
在linux的命令行下,输入locale,检查你的终端字符集设置。
可以使用如下命令:
export LC_ALL=zh_CNgb2312,然后再用ftp连接,查看下中文文件名称是否显示正确。
另外本命令只是当前环境有效,reboot或退出当前环境则恢复到默认。
Linux(i英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。[5][6],在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的X Window之类的程序。除了一部分专家之外,大多数人都是直接使用Linux发行版,而不是自己选择每一样组件或自行设置。
严格来讲,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。Linux则常用来指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将该组合系统命名为GNU/Linux[7][8],但Linux不属于GNU计划。
Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。Linux可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种[9],包括最快的前10名超级电脑运行的都是基于Linux内核的操作系统[10]。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。
通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOME或KDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器、LibreOffice办公软件、GIMP图像处理工具等。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。
背景如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手),这样在完成安装后,系统默认的语言将会是中文zh_CNUTF- 8。但问题是我们安装的是服务器,只需要运行命令行终端,但在终端下无法正常的显示默认中文编码zh_CNUTF-8。由此有以下方法解决
使用SecureCRT客户端软件
直接修改虚拟终端界面配置项目中的字体编码为UTF-8即可。修改方法如下:
选项->会话选项->外观->字符编码->uft-8
修改以后显示中文如下图所示:
原理其实很简单,Ubuntu Server默认的还是zh_CNUTF-8汉字编码,在服务器终端上面还是无法识别汉字,但是在虚拟终端中,经过“编码修正”以后就能够正确显示出来。相当于服务器终端将内容传递给客户端软件,客户端软件通过相应的编码方式进行解码显示中文。因为SecureCRT是安装在中文windows环境下的,而这个环境下的默认编码是GBK,可以识别汉字。那么如何解决服务器端中文乱码的问题呢,其实最好的方法就是干脆将语言环境设置成英文好了。
修改Ubuntu的配置文件/etc/default/locale
将原来的配置内容
LANG="zh_CNUTF-8"
LANGUAGE="zh_CN:zh"
修改为
LANG="en_USUTF-8"
LANGUAGE="en_US:en"
再在终端下运行:
$ locale-gen -en_US:en
注销或重启后,Ubuntu Server真正服务器实体终端就恢复成了英文的语言环境。所以,此方法不是真正意义上的中文化,而是恢复英文的默认编码
修改完以后,再次查询ip地址,可以发现就是英文环境了。
跟中文输入法没关系。我的建议是服务端和客户端都用UTF-8格式最好
给你看看我一个FTP服务器的编码:
$ whoami
root
$ echo $LANG
en_USUTF-8
#这个表明系统默认UTF-8
$ ps auxw | grep vsftpd|grep -v grep
root 32449 00 00 4288 1020 S Sep14 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpdconf
#查询到我的vsftpd的进程号 32449
$ cd /proc/32449/
$ ls
attr coredump_filter exe limits mem root statm wchan
auxv cwd fd loginuid mounts smaps status
cmdline environ io maps mountstats stat task
$ cat environ
TERM=vt100PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binPWD=/LANG=en_USUTF-8SHLVL=1_=/usr/sbin/vsftpd
$
#看到environ文件的内容,其中的UTF-8表示我的vsftpd也采用utf-8编码,en_us表示语系
我的客户端用的有filezilla和flashfxp,默认都设成了以utf-8传输
如果你要用中文语系,最好也检查一下/usr/share/locale下面,比如:
$ ls /usr/share/locale/ | grep -i cn
zh_CN
zh_CNGB2312
浏览器访问linux服务器上的中文文件报404
Tomcat的问题很奇怪,通过网站编辑工具提交的,到了服务器上也会变成“”,原来网站里大量的都无法显示出来。
最后在对TOMCAT的日志跟踪是否发现,该日志输出的汉字也是“”,突然想起来是否是系统的字符编码没设置好。就查看下 vi /etc/sysconfig/i18n 发现是空白的,直接在里面增加一行如下:
LANG="zh_CNGB18030"
然后保存重新启动,
# source /etc/sysconfig/i18n
一切就恢复正常,既可以在URL里直接访问中文名字的,也能上传中文文件。
0条评论