这是一个来自公众号粉丝的质疑,我曾经在之前的文章中说公众号就是使用Fedora中的Microsoft Edge浏览器编写并发布的ubuntu切换中文输入法,粉丝的质疑有两个点,首先,微软作为一家知名的公司,怎么可能让自己的产品运行在Linux上; 其次,这个粉丝按照之前公众号上面的步骤也安装了Fedora, 但是Fedora不能输入中文,所以他质疑我写的这些中国字都是怎么打上去的。
对于上面的问题, 首先,我最近写的这一类文章其实都是一个矢量性的,前后具有一定的呼应关系,写这些文章的目的其实是想通过这些信息能够帮助一个打算学习Linux的新手尽快入门,且对于信息技术发展来说,开源系统生态也在茁壮成长,例如现在的树莓派等开源硬件平台,到市场成型的开源掌机,甚至ROS之类的开源软路由系统都是很明显的例子,基本上来说,花费不到千元的价格,我们可以制作出一套可以秒杀一切家用路由器功能的开源路由,事实就是如此。而对于目前的信息技术发展来看,一味在自己平台上发展自己业务的软件公司肯定是走不通的,像微软来说,顺应眼前的发展趋势才是根本的道理,于是,微软逐渐对自家的.net framework开源了,同时,ta也开始重新构思自己的浏览器产品,放弃IE,考虑开源的Chromium,制造出了Edge。当然,现在有微软,后面一定会有很多软件公司也会这样做,为构建信息技术上的”人类命运共同体”贡献自己的力量。
再说关于Fedora输入中文的这个问题,这个是本篇文章的主旨,在这篇文章中,我会介绍如何在Fedora中输入中文,同时,我会在这篇文章中描述如何在Fedora中安装软件,所以希望各位看官能够仔细阅读此文章。
在Windows系统中,我们可以选择的输入法有很多,例如微软自带的微软拼音输入法,或是嘎嘎输入法,也或是搜旺输入法等,虽然搜狗输入法存在Linux的版本,但是很遗憾的是: 搜狗输入法只支持Ubuntu系统,暂不支持Fedora系统,所以对于Linux平台来说,软件作者会根据不同的系统平台编译对应的软件包,而不同系统平台对于软件包也有自己独特的安装方式,所以对于本次安装输入法来说,搜狗肯定是不适用的,嘎嘎输入法也自然忽略掉了。
与Fedora一样,Ubuntu是基于Debian Linux开发的另一种桌面操作系统,而搜狗 For Linux则是由Ubuntu开发团队与搜狗联合创造的产物。
难道就没有一种输入法可以在Fedora中使用吗?当然有,虽然Fedora默认安装之后并不会附带任何中文输入法,但是我们可以通过手动安装的方式进行安装,接下来,请跟着我一步一步来实现在Fedora中安装中文输入法。
fcitx – 小企鹅输入法
全称叫做”Free Chinese Input Toy for X”,一个大家都说好用的Linux中文输入法,它的输入界面有点像默认的搜狗输入法,操作也差不多。
安装
可以通过两种方法安装fcitx, 先说简单的方法,就是通过图形化自带的软件商店进行安装,使用方法就是打开软件商店,搜索”fcitx”,根据自己要安装的组件点击”安装”就可以安装完成了。
当然了,假如我只是通过软件商店去安装这么简单, 这篇文章就没有任何意义了,为了真正了解Fedora的你来说,你应该继续往下阅读完全篇,下面我将介绍Fedora中的软件包,软件安装等内容。
肯定有小伙伴在刚装完Fedora之后就从网上下载了一些软件的安装文件,什么QQ啊,微信之类的,下载下来之后发现完全打不开,要知道exe的安装文件默认在Fedora上面是不能执行的,因为,它是专为Windows而设计的,所以,我们逐步科普一下一个软件从安装到最终能够使用上的一些步骤。
Windows中的软件安装
在Windows中,我们通过某一个官网会下载一个安装程序,我们通过双击执行这个exe的安装程序得到一个安装向导,通过这个安装向导的说明依次点击”下一步””下一步”直到点击完成后,你会发现: 你得到了你想要的应用程序,同时你也可能得到了一个全家桶
。
通常,Windows系统中的安装文件也是一个可执行的程序软件,这个程序软件中包含了我们最终需要的那个软件,在我们执行这个”安装软件”时,根据我们每一次点击下一步页面操作的内容,例如选择安装位置之类的操作,都是在为你的安装创造一份软件清单,当你点击真正的”安装”或者安装程序走进度条时,实际上就是这个安装程序根据你的之前操作创建的软件配置清单进行逐步安装,例如,它会根据你前面选择的安装位置将你最终需要的那个软件的相关文件放置到那个目录中,放置完成后,它会根据你之前要求这个最终软件”开机启动”的需求写入到Windows的注册表当中,执行完拷贝和配置工作后,这个安装程序会提示你安装完成的对话框,然后基本上你就可以使用这个软件了。
绝大多数windows安装程序中已经包含了要安装的软件的全部数据,安装过程就是将程序内部打包的数据文件放置到指定的位置,然后再做一些文件拷贝后的配置操作即可使用。
Linux中的软件安装
对于一般的Linux系统来说,我们有各种安装软件的办法,大体上可以分为两种方式: 源代码包编译以及软件包安装的方法。
源代码编译
首先,一款软件的诞生会先有一个动机,这个动机可以理解为一系列人的需求,软件公司或者组织在对软件进行需求分析和可行性分析后,会对目标软件需求做相关的UI设计和功能设计文档,随后,组织内的程序员会根据设计文档进行编码(就是写代码),随后,开发人员会将源代码通过使用不同的编译器编译成一个个对应的功能程序文件或者库文件,同时,测试人员会针对已经编译好的文件进行测试工作,同时开发人员会根据测试人员的使用反馈对对应程序的源代码进行功能缺陷(bug)修复和再编译,所有功能测试成功后,相关人员会将测试成功的程序和运行库进行打包,最终形成了一个完整的软件,所以说,软件是由功能程序和运行库组成,功能程序和运行库是由开发人员(程序员)编写的代码通过编译器编译而成,编译器的作用则是将程序员编写的代码编译成计算机可以理解的执行代码,更深奥的信息可以直接度娘。
所以了解了上述原理,我们可以来继续描述这种”源代码编译”安装软件的方法,这种情况下来说,我们可能通过一个软件的网站获取到了一个软件的源代码包,例如,我们要在控制台实现听音乐的功能,我们需要下载一个软件叫做moc, 我们可以登录它的官网获取它的下载地址进行下载:
wget http://ftp.daper.net/pub/soft/moc/stable/moc-2.5.2.tar.bz2
此时,我们得到了moc的源代码包”moc-2.5.2.tar.bz2″,在Linux中,大部分软件的打包命名方式都是以”软件名-版本号”命名的,而”tar.bz2″等同于windows系统中的”zip”或者”rar”,它是使用”bzip”进行压缩且使用”tar”进行打包的,所以我们首先需要将这个压缩包进行解压缩操作:
tar jxvf moc-2.5.2.tar.bz2
参数说明:
j: 代表bz2的压缩方式
x: 代表Extract解压缩操作
v: 操作的每一个文件都输出显示
f: 文件输入参数
如果遇到代码包是以”tar.gz”结尾的,需要在”tar”命令后使用”zvxf”.
我们得到了一个目录,这个目录里面包含所有这个软件的主体代码,除代码外,我们也得到了一个说明文件:README,通过读取这个文件后,我们便可以知道这个软件需要哪些编译器,应该按照什么顺序编译,确保需要的组件都存在后,我们便可以进行常规的编译操作了。
#cat README
截取README的一部分内容,我们得到了这个软件的安装方法
...
To build MOC from a downloaded tarball just type:
./configure
make
And as root:
make install
...
configure操作
通过我们之前学习的命令,我们可以看出我们需要先执行configure这个执行文件,configure好比我们在windows中双击一个安装文件而呼出的带有下一步的安装向导,在configure中我们可以理解为它会帮助我们检查我们当前的操作系统环境和这个软件需要依赖的相关组建,例如:moc的源代码是c语言写出来的,它需要在编译安装的时候使用c语言的编译器(gcc),如果没有的话,configure则会抛出错误,同时,通过configure加相关的参数,我们也可以设置要安装的软件的其他属性,例如安装位置等信息等,而默认情况下,我们只需要执行configure即可:
#./configure
想要知道configure里面都有哪些可配置项,也可以添加”–help”参数进行查看。
make操作
当执行configure没有报任何的”error”之后,我们便可以执行make命令,make的作用则是将代码包中的源代码使用本机的编译器进行编译,而编译后的产物就是一个可以在本地执行的可执行文件,也就是前文所说的程序文件和库文件。
make
make作为linux系统中已经存在的一个程序(命令),它可以根据代码包中的Makefile文件对于代码文件的描述自动使用指定编译器将代码编译成当前系统可执行的程序和库。
而Makefile则是由configure这个脚本生成而来,等同于上文提到的安装配置文件。
make install
执行完make操作后,我们便得到了已经编译好的程序文件,但我们目前并不能直接使用他们,接下来我们需要将程序文件拷贝到正确的位置上,所以我们来执行第三个步骤:
#make install
此步骤则会根据前面生成的MakeFile里面关于编译后文件的拷贝位置和配置项一一执行,以便你能正确使用它。
所有操作执行成功后,我们便可以通过命令行执行mocp 进行音乐播放了。
说实话,源代码编译这个操作虽然只有三步,但是每一步来说都需要你对这个程序以及你的Linux系统有一定的了解,因为每一步一旦出现错误,你都没有办法执行下一步操作。同时ubuntu切换中文输入法,你还应该熟读代码包里面的README文件,了解这个程序默认安装的形态,以及加入不同的参数会有什么样子的变化,所以对于本篇文章只对源代码编译做基础讲解,改日我会新开一篇文章来聊”一个需求到一个软件的由来”,所以对于fcitx的安装来说,我们目前不考虑使用源代码编译的方式进行安装。
软件包的安装
我想,能读到这里的基本上都是在日常生活中做事可以持之以恒的朋友们了,上面的源代码编译的方式看上去令人头大,但是我们可以通过另外一种简单的方式对软件进行安装操作,它就是rpm.
rpm的全称是”Redhat Package Manager”,是Radhat系操作系统中使用的软件包管理器,通过使用rpm命令我们可以安装一个rpm的软件包,也可以查询软件包信息或者删除一个已安装的软件包,rpm的包也类似于一个压缩包文件,这个文件里面包含了一个软件的相关程序,库和配置文件,通过rpm命令,我们可以将这个rpm包里面的东西按照部署配置文件放置到指定的目录,同时根据安装后的配置文件中的描述执行一些安装后的脚本等操作,所以只需要一个rpm的命令,我们便可以一气呵成完成整个安装操作,简直不要太方便了。
作为Redhat发行版linux(RHEL,RHAS)的亲儿子,Fedora和CentOS都使用rpm进行软件管理。
经常用到的向日葵远程控制也有centos版本的安装包,下载下来即可使用命令”rpm”加上参数”ivh”进行安装:
[root@SensirX-Workstation 下载]# rpm -ivh SunloginClient_11.0.1.44968_amd64.rpm
参数说明:
i 表示安装操作
v 表示提供详细的安装信息展示
h 表示使用"#"作为进度条显示进度
其他参数请自行"--help"
错误:依赖检测失败:
webkitgtk3 被 sunloginclient-11.0.1.44968-1.x86_64 需要
根据上述的命令,我们使用rpm将向日葵的安装包进行安装,但是报错了,通过返回的错误信息,我们需要先解决这个软件的依赖关系问题,也就是要想安装向日葵远程控制,我们应该先安装”webkitgtk3″,所以解决办法就是我们还得去找这个”webkitgtk3″的rpm软件包,于是经过一系列寻找后,你会发现你需要下载很多依赖的安装包,这是因为一些常用的库文件是所有软件公用的,所以这些公用的功能软件开发者会直接引用,而不会在自己的软件中重写这些公共的功能,这些公共的功能就是在这些依赖的软件包中,所以你们应该明白这究竟有多狗了吧?基本上我们看到这里可以大喊一声:CNM, 告辞!
rpm命令安装,删除管理软件请自行度娘。告辞!壮士们!
壮士留步,我再说最后一句话:windows里面也有类似的包包,叫做msi
等会儿,Debian系统里面的叫deb.
好了,告辞!
dnf 与 yum
反正,能坚持到现在的人应该算是超级超级有定力了,基本上能坚持看到现在的人看完这篇文章之后买彩票一定能中3.5个亿的那种,当然,在命令行下有没有一个真正好用的安装软件的方式呢?就是咔嚓一下就能把软件安装上的那种,是有的,那就是dnf与yum.
yum,全程”Yellow dog Updater, Modified“,字面翻译就是”黄狗更新器”,但其实人家不叫这么狗的名字(人家叫做”Shell前端软件管理器”),yum类似于一个命令行下的软件管理器,它可以在你安装一个软件时自动帮你寻找并且安装一个rpm软件包的各种依赖关系,同时,它支持从本地软件仓库或者网络仓库进行下载安装rpm软件包,使用后你会发现这玩意儿简直香到不成。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,加站长微信免费获取积分,会员只需38元,全站资源免费下载 点击查看详情
站 长 微 信: thumbxmw