[201020] Manjaro(KDE桌面环境)小白向完全安装教程(附Linux简要介绍)
本文并非网上常见的安装试错文,这一点还请读者大可放心。
本文力求做到手把手教学,尽量为系统安装过程中每个步骤给出截图并做出必要的说明。不过即便如此也难免有疏漏之处,到时还请读者自行咨询搜索引擎。在Linux的使用过程中一定会遇到各种各样的问题,搜索引擎永远是你最好的伴侣。
基础知识
不需这些知识,想要直接按步骤安装系统的读者可以直接跳过本节。
开始教程前首先对Linux系统以及Manjaro系统进行一些介绍,包括Linux系统基本知识,Manjaro系统与Windows相比的优缺点,以及与另一Linux发行版Ubuntu相比的优缺点(因为笔者主要使用过的Linux发行版只有这两种)。本节介绍的知识可能能让你对后面系统安装过程中做的事情有更深入的理解。
对于一直使用Windows而从未接触过Linux的读者,想要上手Linux,笔者推荐使用Manjaro作为你的第一个选项。对于在他人或网上的推荐下,因为“Ubuntu是最适合小白的Linux发行版”这种理由而使用了Ubuntu的Linux小白,笔者也推荐Manjaro作为Ubuntu的替代品,它能让你体会到远超Ubuntu的易用性。对于那些连安装Linux系统的想法都没有的读者,虽然不知道你是为什么点进了这篇文章,但如果你是科研工作者,常常写程序或使用LaTeX写论文,又或者你是一个程序员,那么笔者都推荐你尝试一下Linux,尝试一下Manjaro这个有趣的Linux发行版。
不过万事开头总要泼一点冷水。不论如何夸赞Manjaro是一个使用体验十分舒适的操作系统,它作为Linux系统也不可避免地拥有目前Linux系统共有的缺点,或者说弱势。为了跨越这些缺点和弱势,你必须是一个善于使用搜索引擎来解决问题,并且愿意为了让计算机更好用而稍微付出一些时间的用户。如果你使用计算机的唯一目的就是赶紧工作/娱乐,对此外的事情(例如让你的计算机用起来更顺手)一概不关心,那么最适合你的操作系统可能是Windows或Mac OS,而绝不会是目前的任何一种Linux。
首先我们尽快列出各种Linux发行版通用的一些常见优缺点,然后再开始废话。为了让冷水泼的更狠一些,我们先列缺点再列优点。以下均按笔者认为的重要性由大到小排序。
缺点
- 不能/不方便运行一些不支持Linux的程序,且几乎没有功能等同的替代品。
- 这方面的例子如大多数游戏,Office套件,Adobe全家桶等。游戏可以说一定没有替代品,而Office、Adobe全家桶等尽管有替代品(如WPS有Linux版),但功能不全面。
- 不过可以放心的是,QQ,微信,搜狗输入法,Chrome浏览器/Firefox(火狐)浏览器,百度网盘等常用软件均有Linux版(或有几乎完美运行的简单方法)。
- 如果你是程序员或需要使用编程相关软件,请记住:不会有任何编程相关软件不开发Linux版,如果有,那么Linux上一定有比它更好的替代品,除了Visual Studio。
- 其实按微软现在拥抱开源的态度,他们是有把Visual Studio搬到Linux上的动机的。这中间的主要困难可能是Visual Studio太庞大,搬起來太困难;以及Visual Studio中有很多只对Windows开发才有用的功能。
- 如果你愿意在Linux系统上安装一个Windows虚拟机,并且你的电脑配置足够,理论上仍然可以运行一切Windows上的程序。但实际上只有Office等不太吃性能(尤其是显卡)的程序才有实用价值,吃性能的程序会比直接在Windows上运行稍微卡顿一些,而吃显卡的程序则通常很难正常使用显卡。事实上,笔者在Manjaro上通常就是用虚拟机运行Office。
- 就提供图形界面基础功能(如桌面、文件管理器等)的组件而言,Windows比Linux稳定一些。
- 这一条的意思是Linux上的图形界面在极少数情况下可能出现不稳定甚至崩溃的情况。不过从崩溃中恢复是很简单的,甚至是自动的。
- 少数软件会存在不太影响主体功能但很影响用户体验的bug。
- 这里所说的bug例如某软件无法输入中文,或某软件上中文全部显示为方块等。这些bug中一些可以通过简单的方法修复,另一些则暂时没有有效的修复手段。不过总体而言,这类bug是很少的,并且通常只出现在闭源软件(源代码不公开的软件)上。遗憾的是我们总有那么几款闭源软件是非用不可的。
- 虽然你需要的多数软件可以在软件源(类似于手机上的应用商店)中找到并直接安装,但对于软件源中没有的软件,安装起来通常比较麻烦。
- 这一点上,Arch及其家系(包括Manjaro)具有反过来的优势。详见下节。
优点
- 只要是软件源中有的软件,安装起来极其方便。
- Linux相对于Windows最好吹的就是开发环境配置。
不知道有多少人在Windows上为了配置程序开发环境(如安装C、Java等编译器和开发软件)或者LaTeX编写环境操碎了心,但这一切在Linux上都毫无难度。也许你无法在(某些Linux发行版的)软件源中找到QQ和微信,但你不可能找不到你喜欢的编译器、开发软件,或者LaTeX编写环境。并且安装所需要的唯一步骤就是敲一条简单的命令。 - Arch系发行版(如Manjaro)在这一优点上甚至有加成:由于Arch庞大的软件源以及AUR(可理解为非官方软件源,下文会详述)的存在,你能简单地安装你能想到的几乎一切软件(只要它有Linux版)。
- Linux相对于Windows最好吹的就是开发环境配置。
- 命令行极其好用。
- 对不编程也不使用计算机搞科研的普通用户而言,这一条可以选择性忽略。
- 如果你需要编程或者使用计算机搞科研,请不要对命令行抱着未知带来的恐惧。你可以学习简单的命令行使用方法,然后学会编写shell脚本,接下来你会发现世界如此美好。
- 在此说一句"论命令行的使用体验,在座除Linux外都是垃圾"。意见不合者请无视。
- 可定制性极强。白话说,一切都随便你改。
- 如果你有一定的编程能力和计算机知识,可定制性会更强。
- 正如The Linux Command Line中所说,使用Linux系统将让你找回你对自己计算机的掌控权。Windows、Mac OS之流遵循的设计逻辑都是通过限制用户的行为来让他们“正确”地使用计算机,而Linux的设计逻辑是通过给用户以权力来让他们自由地使用计算机。
- 通常想要说明Linux给了用户多么大的自由时都会举这个例子:在Linux上,只要验证你的管理员身份,你甚至可以删除整个系统。
- 不过上面的例子就像冷知识一样听起来有趣却没有实用价值。我们举一些更实际的例子:
- Linux用户可以切换系统所使用的桌面环境,或者直接删除桌面环境而单纯使用命令行。这里所说的桌面环境不是指桌面壁纸,而是包括任务栏、窗口管理器等一系列承载图形界面的基础组件。Linux拥有好几种桌面环境(并且经过了充分的市场竞争,因此各自拥有自己的特色功能并且面向不同的人群),而Windows和Mac OS则是只拥有官方提供的桌面环境,无法更换。
- Linux的两大桌面环境KDE Plasma和Gnome都拥有丰富的插件(多数由热心用户编写并上传)实现各种便利功能(如为桌面增加功能或改变桌面外观),且拥有编程知识的用户可以任意编写插件实现自己喜欢的功能。关于这两大桌面环境上的插件可以举的典型例子有
- 可以将桌面和窗口外观变为Windows风格或Mac OS风格的插件(或主题),风格模仿非常完美。
- 可以为桌面添加Dock(类似于Mac OS的底部任务栏)以及变换各种形状。
- 可以在桌面上添加小部件,如日历、便签、性能监视器等。
- Linux的各种桌面环境都提供任意定制所有快捷键的功能,由于快捷键可以绑定为执行命令,而命令行可以做任何事情,因此你可以用快捷键做一切。
- Windows和Mac OS也提供一定程度上修改快捷键的方法,但总有许多是改变不了的。
- 在Windows和Mac OS上,你同样可以使用快捷键来执行命令。但基于之前所说的Linux命令行更好用的优势,这方面仍然是Linux胜出。
- 老牌开源软件通常会提供更多更细致的选项来控制软件的各项功能。仍然以快捷键举例,如KDE家族中所有软件都提供修改软件中所有快捷键的手段。
- 漂亮。
- 如果想要漂亮,你需要安装更偏向于美观的KDE Plasma或Gnome桌面环境,而不是更偏向于简约和实用的xfce和i3等桌面环境。
- 这里所说的漂亮仅是相对于Windows而言。如果与Mac OS的设计比较,应当说各有千秋。不过值得指出的是,前文已经说过,KDE Plasma和Gnome上都有高度还原Mac OS设计的插件和主题。
- 如果用一个词概括Windows桌面环境的设计风格,笔者认为是“商务”;而如果用一个词概括KDE Plasma或Gnome桌面环境的设计风格,笔者认为是“现代”,除此之外没有其它词能更好地概括。这是因为KDE Plasma和Gnome默认的设计风格永远追随着现在最流行的风格,同时伴随着流畅而符合现代审美的特效。
- 你也可以通过修改主题和使用插件来使用一些复古风格。当然,主题商店里还有许多设计师设计的各种风格主题免费下载。为什么不收费?因为这是开源之风。Linux中处处吹着开源之风。
- 对普通用户而言几乎没有中病毒风险。
- 你可能会注意到每一台使用Windows的电脑几乎都会安装杀毒软件,但你很难发现有哪台使用Linux的个人电脑安装了杀毒软件。事实上,正因为目前个人电脑市场上大多数人在使用Windows,因此针对个人电脑的Windows开发的病毒远远多于针对个人电脑的Linux开发的病毒。针对Linux的病毒大多用于感染Linux服务器,而这与个人电脑无关。
- 把这一点放在最后的原因是,在现代杀毒软件的加持下,Windows用户通常也不会感染病毒了,因此这并不是很值得一提的优点。
- 不过电脑上时刻有个杀毒软件在吃性能,这岂不相当于它在浪费你买电脑的钱?
对于纯Windows用户而言,提及“操作系统”,他们可能只能想到从中国家喻户晓的Windows XP到号称“Windows最后一个大版本”的Windows 10这样一些Windows系列系统。稍微老一些或对计算机史有一定了解的用户可能还知道Windows作为操作系统最早的成功里程碑Windows 95,以及后续的Windows 98、Windows 2000等。Windows在个人电脑市场上的垄断地位以及这种线性发展的版本也许给了一些用户以错觉,让人认为其它操作系统就也应该是这样的线性分布,版本越来越高而已。但Linux则不然。
当我们说到“Linux系统”时,实际上我们说的是使用了Linux内核的所有操作系统,Linux只是它们使用的内核名称而已。在Linux内核的基础上搭配各种不同的系统关键软件以及用户常用软件,就形成了各种各样不同的Linux发行版。据维基百科的数据,目前约存在600种Linux发行版,而其中500种一直在保持更新。之所以Linux系统能够有如此庞大的家系,主要还是因为Linux是一个开源而稳定的内核,同时Linux开源社区的力量又足够强大,世界上众多优秀的程序员共同或独立地使用和进一步开发Linux,造就了现在百花齐放的景象。
Linux和开源软件的故事其实可以讲很久,但我们先到此为止,继续谈Linux的各个发行版。众多的Linux发行版并不是孤立的小岛,而是有着它们的“家谱”。有一些先行者使用Linux内核创建了一些发行版,其他后来者又在已有发行版上修修补补甚至大刀阔斧改出了一个新的发行版,这样的事情一直在上演着,直到现在造就了这个盛景。读者可以点击这个链接(或 https://github.com/FabioLolix/LinuxTimeline/releases/download/v19.04/gldt_v19.04.png )看到一张巨大的Linux发行版家谱图。图中可以看到,有三个巨大的发行版家族(以其祖先命名)分别是Debian家族,Slackware家族和Red Hat家族,此外还有一些较小的家族如Enoch家族和Arch家族等,以及一些十分小的独立发展的家族。本教程的主角Manjaro就是Arch家族的一员,而Ubuntu则是Debian家族的一员。各个发行版家族上的发展历程各异,每个发行版在它的父发行版上进行的修改也各异。但每个发行版家族的最早祖先基本决定了整个家族的软件包管理方式。
何谓软件包?一个软件包就是一些分散在各个位置的文件,这些文件属于同一个软件,能合作完成一定的功能。一个Linux系统可以说整个就是由各种软件包构成。系统内核是一个软件包,系统的各个关键组件是若干软件包,用户用到的其他软件也都是软件包。以软件包管理系统让整个系统的安装和管理逻辑变得清晰,因为你只要在硬盘上划出一个文件系统,然后在上面安装各种软件包就可以装好整个系统。一个软件的运行可能需要另一个或另一些软件的支持,这种关系通过软件包之间的“依赖”关系来定义。Linux上的软件管理通常都会引入软件包之间的依赖这个概念,从而当你想要安装某个软件时,软件包管理器能够自动找到这个软件所依赖的软件,然后全部帮你装好。使用“依赖”概念也有助于节省磁盘空间,因为当多个软件都需要同一个软件的支持时,它们所依赖的软件只需要安装一次,而不是每个软件都自带一份。与之相比,Windows系统下用户很少遇到软件间依赖的关系,这是因为Windows提倡软件自带自己的所有依赖软件。Mac OS则更甚,它强制要求软件自带自己的所有依赖软件。因此Linux用户通常会发现Linux系统下的软件包比Windows和Mac OS上的相同软件要小。不过与之相对地,软件包之间产生依赖关系也有自己天生的缺点:版本冲突。例如若软件A需要软件C的1.0版,而软件B需要软件C的2.0版,这样的依赖关系在Linux系统上就难以解决(并不是完全无法解决。一些常见的容易产生版本冲突的软件包在设计时就考虑到了这一情况,从而为自己的每个版本使用了不同的软件包名。例如gcc有gcc-6、gcc-7等软件包,以便其它软件依赖自己的特定版本)。而在Windows或Mac OS下,由于每个软件自带自己依赖的软件,所以互相之间几乎不会造成冲突。
既然软件包之间存在依赖关系,那么就应该有一个统一的机构来管理所有软件包的信息和它们之间的依赖关系,否则如果某个软件包A说自己依赖软件包B,而你发现好几个软件包都叫做B,你应该安装谁呢?现在常见的Linux发行版的社区都将统一管理软件包信息做到了更极致的地步:统一管理软件包资源。发行版的官方维护团队(也许是公司,也许是开源社区)建立了一种特殊的网络服务“软件源”,上面存储着多数常见软件的安装包和相关信息,而系统上的软件包管理器只要连接软件源就可以下载到用户希望安装的软件。这就是Linux用户往往仅用一条命令就能安装想要的软件的原因。因为官方软件源通常接受的访问请求数量巨大,网络资源十分紧张,所以也有一些机构为了满足大众需要建立了“镜像源”。镜像源就像镜子一样复制了官方源的全部内容放在自己独立的服务器上,所以用户可以设置自己的软件包管理器不去从官方源而是从镜像源来下载软件,这可以有效减轻官方源的网络压力,同时从离用户比较近的镜像源下载软件一般也能大大提升下载速度。
话题回到发行版的比较上来。不同的发行版家族有着自己的软件包管理器和软件包管理方式,而软件包管理方式又影响着软件包的更新方式。这里只比较Ubuntu与Manjaro。
Ubuntu属于Debian家族,使用dpkg和apt来进行软件包管理。在Debian家族中,dpkg专门用于安装和卸载软件包,而不负责解决依赖关系。解决依赖关系是apt的工作。尽管有许多细节上的问题没有办法一一提及,但大致上apt会将软件包之间的依赖关系定义为“软件包A的x.x版依赖软件包B的y.y版至z.z版”这样的形式,然后当你希望安装软件包A的x.x版时,apt将自动为你安装软件包B的y.y版至z.z版中的某一个版本(一般是其中的最新版)。当你想要安装的软件包A与其它软件包C共同依赖于软件包B,但依赖的版本不同(即发生版本冲突)时,apt会建议你卸载掉造成冲突的C。此外,当软件源上的软件包有新版本时,apt允许你只更新一部分软件包,而保持另一些软件包不被更新。这也就是说在Ubuntu用户的电脑上总有可能存在着从系统大版本发布以来软件源上出现过的每一个软件版本。在这样复杂的版本依赖关系下,当你安装了大量软件时出现版本冲突的概率一点都不小。为了尽可能避免这种情况发生(也出于稳定性考虑),Ubuntu采用大版本更新方式,每年发布一个大版本。在每一个大版本上,Ubuntu运营公司(Canonical,下称“公司”)都管理一个独立的软件源,这个软件源只给这一大版本提供软件。这一软件源上的软件版本基本都经过公司测试,可以保证互相兼容不冲突,同时也由于经过这种精心的组合,所以这一软件源上的软件版本有时并不是软件的最新版。软件源上对软件的更新也比较谨慎,通常只进行不破坏依赖关系的小幅更新和打安全补丁,不会为了引入最新版而破坏原本的依赖关系。而Ubuntu的每个新的大版本发布,本质上都是公司尽可能地将软件源中的软件版本升到目前的最新,并且保证它们互相兼容。
Manjaro属于Arch家族,使用pacman进行软件包管理。Arch家族以高可定制性和滚动更新而闻名(尽管这两项特性都不是它独有的),而Manjaro又是近年来异军突起的一支用户友好的发行版。何谓滚动更新?滚动更新就是系统中的所有软件包总是保持最新,不允许用户只升级一部分软件包而不升级另一部分软件包。同时,滚动更新的系统不存在“大版本”的概念,因为每一次软件升级都是将系统中所有软件包升级到最新,因此每一次软件升级都是一次系统更新。系统更新是连续不断的,“滚动”进行的。Ubuntu用户可能习惯于Ubuntu每两年发布的LTS(长期支持版),而每两年重装一次新系统(众所周知Ubuntu自己的系统更新功能不尽人意,还是重装来得快捷安全),从而使用最/较新版的软件,而Arch家族不是如此。Arch用户每时每刻使用到的软件几乎都是最新版。这得益于Arch家族,又或者说pacman软件包管理器使用的依赖管理策略:只考虑软件包间依赖,不考虑版本依赖。这边对依赖关系的定义是简单的“A依赖B”的形式,与版本无关。因此,软件源上只需要保留最新版软件,并且保证最新版软件之间互相兼容即可。这种做法大大减小了测试工作量,同时打包软件放在软件源上又十分轻松,因此Arch软件源包含的软件数十分庞大,同时又时刻保持最新。这样做的缺点则在于当最新版软件包无法互相兼容时,pacman自己不会主动去解决问题(因为无法解决),而是直接报错,把问题抛给用户自行解决。另一些情况下最新版软件包之间无法互相兼容,但pacman没有察觉到这个问题,于是就造成用户更新完软件后发现软件无法正常运行,严重者(例如出问题的软件包是系统内核)可能导致系统无法启动(也就是所谓的“滚挂了”)。这就需要用户有一定的Linux知识以及搜索引擎使用能力来解决。
幸运的是,这种事即使在Arch系统上也不常发生,而且Manjaro为避免这一问题又加入了一层保护:建立Manjaro自己独立的软件源,而其内容延迟继承自Arch软件源。众所周知,Arch系统用户通常技术力强大,因此当Arch软件源上的软件包出现不兼容问题时,他们往往能第一时间发现并解决。因此Manjaro软件源选择在Arch软件源更新一段时间后再将Arch软件源的新内容搬到自己的软件源上。这样做既使得用户能比较及时地享受到最新版软件,又可以在最新版软件出现问题时由Arch系统用户预先探雷,大大降低了Manjaro软件源上出现软件冲突的概率。
关于Arch家族,需要介绍的另一项巨大优势是AUR(Arch User Repository,即Arch用户软件仓库)。AUR整体来说是一个软件安装脚本集散地,但它与软件源不同:软件源由发行版官方公司或社区维护,而AUR是一个由社区成立,且任何人注册帐号后都可以上传自己制作的软件安装脚本的地方。由于Arch系统提供了makepkg等一系列工具,使得软件安装脚本的制作和使用非常便利,再加上Arch用户普遍的高技术力和开源精神,以及纯粹的软件安装脚本并不涉及软件使用协议问题,这一切因素导致AUR成为了(就笔者所知)世界上最大的Linux软件安装脚本集散地。截至目前,AUR上共有64905个软件包,这几乎代表着只要一个软件有Linux版,你就可以在AUR中找到它。此外,有一些软件(如yay)实现了从AUR下载脚本并安装软件的全自动流程,因此在Arch家族系统上安装软件或许是你使用Linux以来最美好的体验。尤其对于Windows用户而言,笔者可以说已经很久没有为了安装软件而打开浏览器,也很久没有为了从一群广告链接中找到真实下载地址而眼睛痛了。
此外还应该介绍的是桌面环境。对于Windows和Mac OS用户来讲,所谓“切换桌面”也许就意味着切换桌面壁纸;而对Linux用户而言,“切换桌面”是真的换一个桌面。这不是在指虚拟桌面那种多屏幕技术,而是指包括程序菜单、任务栏、窗口边框,以及窗口管理方式在内的所谓“桌面环境”。习惯了图形化界面的用户或许没有想过究竟是什么软件给了你桌面,给了你同时操作好几个窗口的能力。在Windows上这就是explorer.exe,而在Linux上这就是Gnome、KDE Plasma、Xfce甚至i3等若干种桌面环境。桌面环境给了你任务栏,给了你系统托盘,给了你窗口边框以及多窗口管理方式。根据喜好不同,你在Linux上可以选择各种不同的桌面环境,只需要简单地安装一下就可以。Ubuntu用户应该很熟悉Gnome,因为这是Ubuntu自17.04以来提供的默认桌面环境。笔者曾经作为Ubuntu用户时也对Gnome赞不绝口,但实际使用过KDE Plasma后只能说出一句“真香”。Gnome最为人称道的是由用户制作的丰富的插件,通过插件你可以让顶栏半透明,可以实现如Mac OS一样的Dock,可以在桌面上添加各种小部件等等,我想每一个使用过Gnome的人在第一次打开Gnome插件仓库时都对桌面究竟能怎样定制产生了远超以往的想象。而KDE Plasma则不同,它的插件仓库并不如Gnome一般丰富(这可能得益于Gnome插件可以直接用javascript来写),但它原本就集成了一些Gnome中最常被使用的插件功能。此外,通过适当的定制,KDE Plasma桌面能够十分接近于Windows桌面,这也让刚刚迁移过来的Windows用户能保持一定的习惯。除了两大桌面环境Gnome及KDE Plasma以外,如果你的电脑配置不高,你还可以选择Xfce或这种i3这样的轻量级桌面环境。它们追求的并非功能丰富,而是简洁稳定。平心而论,Gnome和KDE Plasma都有偶尔崩溃的时候。论崩溃频率,可能KDE Plasma更高一些(即便如此也不过是中度使用下一个月一次的样子),但论崩溃后的恢复难易度,应该说Gnome更麻烦一些。在Gnome上桌面一旦崩溃,你可能会看到桌面卡死或跳回登录界面。如果桌面迟迟没有反应,你甚至可能需要强制关机。但在KDE上,桌面崩溃时通常不会有太大的负面效果,你需要做的只是预先定义一个重启桌面的快捷键,然后在桌面崩溃(或者你觉得桌面表现得不太正常)时按下它,桌面就会恢复正常,而你之前打开的程序全部都会正常保留。如果追求稳定性,就应该选择Xfce或i3这样的桌面环境。不过由于i3的操作方式过于硬核,也许不适合一般人使用。
长篇大论的废话就说到这里,接下来开始安装教程。
首先是下载
打开Manjaro官网上的下载页,你就能看到选择自带桌面环境的页面。Manjaro提供的自带桌面环境包括Xfce、KDE Plasma和Gnome。如果你没有读刚刚长篇大论的废话,这里笔者推荐你安装KDE Plasma版本。不过不论如何,反正装好系统以后桌面环境都可以自由安装和切换的。
如果你看到的版本与笔者的截图中不同,可能是因为本文发布后Manjaro进行了更新。这无关紧要,因为以下步骤基本不会随系统版本而变化。
进入下载页后只能选择下载64位版本。在下载按钮下方还有文件哈希值,用来检查你下载的文件有没有错误。懂行的读者可以自己算一下,不过会算哈希值的读者大概并不需要来看这篇教程吧。
此外还有一个“Download Minimal”用于下载“最小安装版本”,这个版本只提供了最基础的系统组件,此外的软件基本都没有提供。这适合于一些比较特殊的用途,我们这里不推荐。
下载完成后会是一个.iso文件,我们不需要对它进行任何操作,只要继续往下看教程就可以。
然后是安装
这里我们分为三种情况考虑。也许你正在学习Linux,所以打算将Manjaro安装到虚拟机中;也许你打算挑战一下,直接将Manjaro安装在自己的电脑上与Windows共存,成为双系统;也许你打算直接给一个电脑装单系统Manjaro。本文对这三种情况都会涉及,其中后两种都归类到“在真机上安装系统”。
如果你使用虚拟机(以Virtual Box为例)
在此不再介绍虚拟机软件的安装方法。
首先点击Virtual Box界面上的“新建”来创建一个新的虚拟机。
打开创建界面以后,我们切换到专家模式,来方便地自定义各种选项。
在专家模式任意填写一个自己喜欢的虚拟机名称(这里填写了Manjaro),然后选定操作系统版本。Virtual Box在你填写虚拟机名称时会自动猜测你想要安装的操作系统,不过它有时猜的不对。由于Manjaro是Arch家族的成员,因此我们选择Arch Linux (64-bit)。内存大小可以自定,一般至少需要1G,正常可以给它2G。我的物理内存共有16G,所以可以大方地给它4G,即4096MB。然后,我们选择“现在创建虚拟硬盘”,并下一步。
在虚拟硬盘的创建界面,主要需要调整的是虚拟硬盘大小。如果只用于编程工作,一般20G已经足够。此外需要注意的是,虚拟硬盘在创建后想要扩大容量比较容易,但一般不能缩小容量。好在Virtual Box的虚拟硬盘文件的大小是动态增长的,用多少占多少,不会一开始就直接夺走你20G的硬盘空间,所以也可以设置得更大一些。
全部完成之后,我们就可以给虚拟电脑加载刚刚下载的系统安装盘镜像来安装系统。
右击刚刚创建的虚拟电脑,选择“设置”,然后进入“存储”选项卡,点击列表中的“没有盘片”(也就是我们的虚拟光驱),在右侧点击光盘图标,选择“选择虚拟盘...”,然后找到我们下载的系统安装盘镜像,最后选中“演示(Live)光盘”。所谓的Live光盘就是提供了一个光盘操作系统(或U盘操作系统),让你插入光盘(U盘)开机后就可以打开一个迷你的操作系统,然后执行后续的操作。这种Live系统一般也在电脑上安装的操作系统损坏时作为另一种电脑启动方式,让电脑启动进入Live系统,从而能够修复电脑。
一切搞定之后我们在虚拟机主界面左侧列表里双击刚刚创建的虚拟机来启动它。需要注意的是数字小键盘有可能无法在接下来的安装过程中使用。如果你发现小键盘无法输入数字,你可以使用键盘上字母区域的数字键。
之后的过程见下下节“安装过程”。
如果你希望在真机上安装
安装前总要提醒的话:备份!备份!还是备份!如果你还打算保留这台电脑上的数据,那就一定要备份。安装系统的过程中一个不小心,也许就会清空你硬盘上的数据。
下载好系统安装盘镜像后,使用U盘安装盘制作工具将镜像文件烧录至准备好的U盘(U盘容量最好不小于4GB)。
在希望安装系统的电脑上,如果你希望保留这台电脑上原来的数据,那么你应该使用系统自带的磁盘管理软件(或其它分区软件)划出一块用来安装Manjaro的空间,并让它保持“未分配”状态。这时,你最好记住你Windows上各个分区的大小,以及你刚刚为Manjaro预留的“未分配”空间的大小。如果你不希望保留这台电脑上原来的数据,那么可以不专门划分空间,一会安装时直接清空整个硬盘。
把希望安装系统的电脑关机,然后插入U盘,开机。开机过程中应反复按F2或F12等键,这一步需要按的键与电脑品牌有关,最终应当进入一个启动选项界面,使用方向键选择从U盘启动(可能是Generic Flash Disk等字样),然后将进入系统引导界面。之后过程见下节。
安装过程
接下来的过程笔者是在虚拟机中进行(便于截图),但真机安装系统时也完全类似。
进入引导界面后,这个界面会持续10秒钟然后自动选择默认选项。这时推荐按一下上或下方向键来取消计时,然后再来仔细执行接下来的步骤。
可以看到界面中可以选择时区(tz)、键盘布局(keytable)、语言(lang)、驱动(driver),最后也提供了启动系统(Boot)的选项。首先我们按方向键选中时区选项然后按回车键进入,选中Asia(亚洲),回车,然后选中Asia/Shanghai(亚洲/上海),回车。如果你处于其它时区,可以按自己的需求调整。
键盘布局一般不需要调整。语言我们选择中文-zh_CN(即简体中文)。
关于驱动,如果你在真机上安装,并且真机上有NVIDIA显卡,那么建议你选择nonfree选项,否则可以直接选择free选项。
最后选择Boot选项启动系统。
稍等一会后,我们就可以看到漂亮的KDE桌面(如果你使用虚拟机,那么由于屏幕尺寸原因,你可能看不到桌面),以及“Manjaro Hello”程序:
在启动安装程序之前,建议先给电脑联网(当然不联网也可以安装)。如果你使用的是虚拟机或者台式机,那么通常不需要特别配置;如果你正在笔记本上安装系统,你可能需要在任务栏里连接WiFi。
连接网络后,直接点击下方的“Launch installer”启动安装程序。当然如果你不小心关掉了“Manjaro Hello”程序,也可以在桌面上找到Install Manjaro Linux图标,双击它也可以启动安装程序。
安装程序启动后如下图。语言已经默认设置成了简体中文,因此我们直接点击“下一步”。
时区仍然需要重新设置一遍。我们选择“Asia”(亚洲),“Shanghai”(上海)。然后点击“下一步”。
键盘布局保持默认即可,直接点击“下一步”。
然后我们来到了分区配置界面。
分区是比较关键的一步。你应该认真阅读接下来的说明。
如果你按照本文的上上节配置了虚拟机,正在虚拟机上安装系统,那么可以选择“抹除磁盘”,然后直接点击“下一步”,并进入用户配置界面。
如果你正在真机上安装系统,并且已经完全不希望保留原来硬盘中的所有数据,你也可以选择“抹除磁盘”,然后直接点击“下一步”。
如果你正在真机上安装系统,但你希望保留硬盘上已有的数据,你可能会看到“与Windows系统共存”之类的选项,不过笔者仍然建议选择“手动分区”,并且点击“下一步”,进入如下的界面:
由于笔者的图片是在虚拟机中截的,所以图中没有任何分区。但实际上你应该能看到若干Windows中的分区。如果你的电脑有不止一块硬盘,你还可以在界面上方的下拉菜单里选择每一块硬盘观察它的分区情况。辨别Windows分区的技巧是观察“文件系统”一列的内容,通常凡是NTFS类型的都是Windows上的分区,此外也可能是FAT32类型。不过如果你记下了Windows上各分区的大小,也可以借此辨别。
这里先介绍一下Linux中挂载点的概念。当然不知道这些概念并不影响你按照教程装完系统,但知道后你可以按自己的喜好修改下述的分区和挂载设置。
在Windows中,用户可以看到C盘、D盘、E盘等所谓“分区”,每个分区下又有若干目录。可以说Windows下是先有分区,再有目录。而Linux下则不同,是先有目录,再有分区。Linux中首先规定整个文件系统的根目录是“/”,也就是一条斜线,然后在根目录里有usr、lib等子目录。规定好具有这些目录结构后,最后确定每个目录占用哪一块分区的空间。所以不论你给你的Linux系统如何分区,系统的目录结构永远是一样的。“挂载点”就是指定一块分区应该被哪个目录使用。例如一块分区的挂载点是“/usr”,代表着/usr目录下的所有文件都存在这块分区里。由于根目录下的文件总要放在某个分区里,所以一定需要有一个分区的挂载点是“/”。此外的挂载点就比较随意。注意当给一个分区设置的挂载点为某个目录时,这相当于是它祖先目录挂载点的例外情况。例如你给分区A设置挂载点“/”,给分区B设置挂载点“/boot/efi”,这表示根目录“/”下的所有文件都存放在分区A,但“/boot/efi”下的文件需要存放在分区B。
为什么要分出好几个分区然后设置不同的挂载点呢?这可能是出于系统需要,也可能是出于用户习惯。就系统需要而言,例如现在多数电脑均使用UEFI引导模式启动系统,这就需要系统中有一块推荐为512MiB大小的分区作为启动分区。而Linux的启动分区中应该是/boot/efi目录下的文件,所以需要专门划分出一块512MiB大小的分区挂载到“/boot/efi”上。就用户需要而言,例如一些用户出于某些原因需要经常重装系统,但他/她又希望保留自己的个人配置(例如桌面壁纸、浏览器历史记录、保存的密码、听的音乐等等)。Linux中每个用户的个人文件都存放在/home目录下(除非特殊设置过),所以只要重装系统时能保留/home目录的内容,就可以保留全部个人配置。因此我们可以在第一次安装系统时为/home挂载一个单独的分区,之后重装系统时只需仍把这个分区挂在/home上,并且让安装程序不格式化这个分区,就可以达到目的。
如果你是十足的小白,读到这里仍然对自己适合什么样的挂载方案没有感觉,那么不妨直接按照以下笔者给出的最简方案进行。
到达分区界面后,这一步的关键是找到“空闲”分区,也就是你之前为Manjaro划出的空间,选中它,然后点击“创建”,分区大小填写512MiB,文件系统选择“fat32”,挂载点选择“/boot/efi”(如果没有这一选项,你可以选择“/boot”),然后选中“boot”标记(为了将这一分区作为启动分区)。最终如下图:
按上图配置完成后点击“确定”创建一个分区。接下来选中剩下的空闲空间,再次点击“创建”。此时“大小”一栏默认填写的就是这一块空闲空间的全部容量,我们保持它不变。文件系统也保持默认的“ext4”。挂载点选择“/”(只有一个斜线)。不需要选择任何标记。最终如下图:
之后点击“确定”。效果如下图,也就是原本的空闲空间变成了两个新建分区。
如果你在真机上安装系统,则一定要确认你刚才的操作没有影响任何已经存在的分区。
关于界面下方的“安装引导程序至”选项,通常你可以保持默认。确定无误后点击“下一步”。
如果在虚拟机里安装时弹出了上图的提示,可以无视它。如果弹出了其它提示,你应该打开搜索引擎搜索提示的内容来确定你接下来应该怎么办。当一切正常时,我们来到了用户配置界面。这里你可以配置你的个人信息。
个人信息中,姓名可以使用中文,而登录用户名应该使用英文。由于目前我们没有中文输入法,所以可以从任务栏打开Firefox浏览器,输入www.baidu.com打开百度,然后利用拼音搜出我们想要的中文,再复制到姓名框里。别担心,系统安装好以后,我们自然会安装中文输入法。
计算机名称可以随喜好设置,不过推荐使用英文。值得提醒的是,在Linux中你经常需要输入密码(主要是在安装软件时),所以在你认为足够安全的范围内,你可以尽可能设置得简单一些。最后,笔者推荐选中“为管理员帐号使用同样的密码”。
下一步会进入Office套件选择界面。尽管Manjaro提供了两种开源Office套件,笔者个人仍然推荐不安装Office套件,而是在系统安装好后再自行安装WPS Linux版。Linux版的WPS相当有良心,不仅免费而且也没有广告。不过你也可以选择安装LibreOffice或者FreeOffice中的一种。其中据说LibreOffice套件和微软的Office套件兼容性可能好一些?不论如何,即使你现在选择不安装,等系统安装好以后你也随时都可以自行安装,而且相当简便。
最后来到摘要界面,这个界面显示了你已经进行的所有配置。这些配置到目前为止还没有生效,所以你还来得及仔细检查。确认无误后点击“安装”,并耐心等待安装结束。就笔者个人经验而言,安装进度到95%时会停滞很久,但这并不是安装程序卡死了,你应该耐心等待。整个过程视电脑配置和网速等因素不同,可能在5分钟~1小时不等。
安装完成后会显示如下界面。此时你可以选择不立即重启,而是关闭安装程序后关机。
此时如果你使用虚拟机,可以在设置中将刚刚选择的镜像文件(虚拟盘)移除;如果你正在真机安装系统,你可以取下U盘。
如果你正在使用虚拟机,此时你可以右键点击你创建的Manjaro虚拟机,选择“设置”,然后进入“显示”项,将“显卡控制器”设置为“VBoxSVGA”,如下图所示。这一设置可以让Manjaro随虚拟机窗口大小自动调整自己的分辨率。
之后再启动电脑(或虚拟机),你就能进入Manjaro系统。如果你安装了双系统,启动电脑后你就能见到Manjaro提供的grub系统选择界面。使用方向键可以选择进入某个系统。
最后是全新系统的配置
本节内容专为国内用户定制,包含中文输入法、微信、QQ、WPS等国内常用软件。分为三个部分:推荐配置、按个人喜好的配置、其他软件安利。
第一次启动系统后,弹出的“Manjaro Hello“界面其实没什么用。右下角有一个“Launch at start”开关表示是否开机启动,我们把这个开关关掉,然后直接关闭程序。系统同时还可能弹出很多通知,包括配置硬件、有软件包更新、有内核更新一类,可以先关闭这些通知,一会我们自会处理。
熟悉一个Linux下必会的快捷键:Ctrl+Alt+T打开终端(当然你也可以在开始菜单中打开,终端程序的名字是Konsole)。在终端中可以输入命令,之后的很多操作都需要在终端中输入命令进行。如果你在虚拟机中,别忘了让虚拟机独占键盘,否则你按Ctrl+Alt+T以及其它部分快捷键时会被你自己的系统响应,而不是被虚拟机响应。就Virtual Box而言,只要按一下右Ctrl就可以切换捕获/非捕获模式。
以及终端下(或者说命令行中)必会的操作:输入命令到一半时,按Tab键可以补全命令。至于在何处按可以补全到何种程度,还请读者自行尝试。
推荐配置
时间设置
对于电脑上同时安装着Windows的读者,你们可能会发现两个系统中的时间不一致,而且在其中一个系统里调回正确时间后,另一个系统的时间就会错误。这是由于Windows和Linux对硬件时间的默认解读方法是不同的。
详细原因不再多讲,要解决这个问题,只需打开终端,输入timedatectl set-local-rtc 1
并回车即可。之后只需在一个系统中将时间调整正确,另一个系统中的时间也是正常的。
设置国内(上外、清华)镜像源
解决了时间问题之后,首先要做的事就是让pacman软件包管理器使用速度更快的国内镜像源。打开终端,输入kate /etc/pacman.d/mirrorlist
并回车。这句命令使用KDE自带的文本编辑器kate来编辑/etc/pacman.d/mirrorlist这个文件。这个文件中保存的就是pacman会使用的软件源地址。打开后会看到如下内容:
可以看到默认提供的三个软件源地址都位于国外。我们把它们全部删除,然后加入以下内容:
## Country : China
Server = https://mirrors.bfsu.edu.cn/manjaro/stable/$repo/$arch
## Country : China
Server = https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch
我们加入的两个软件源分别是北京外国语大学镜像源和清华大学镜像源,默认情况下会使用第一个。北外源目前使用的人数较少,所以速度会比清华源更快一些。加入后的内容如下图所示:
完成之后按Ctrl+S保存文件,此时会提示需要超级用户权限,需要输入密码,只需输入安装系统时设定的密码即可。之所以需要超级用户权限,是因为我们正在修改的是系统文件,而不是自己家目录中的文件。Linux中每个用户对自己家目录中的文件具有完全的控制权,但只有拥有超级用户权限(或者叫root权限)才能修改系统文件。
加入archlinuxcn源
随后,我们再次在命令行中使用kate打开/etc/pacman.conf。也就是执行命令kate /etc/pacman.conf
。打开文件后拖到最下方,并且加入如下内容:
[archlinuxcn]
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch
加入后如下图所示:
之后同样保存。这里加入的是archlinuxcn软件源(的北外镜像源),这个软件源上提供了一些国内常用的软件。
保存完毕后,在命令行内执行命令sudo pacman -Syyu
。这条命令中sudo表示使用root权限,后面的pacman -Syyu
表示强制更新软件源信息以及更新整个系统。执行命令后会要求你输入密码,注意Linux中命令行内输入密码后不会显示任何内容(包括星号),因此输入后不需奇怪为什么没有反应,直接回车即可。顺便一说,平常更新系统时只需要使用sudo pacman -Syu
即可。
输入密码并回车后,命令可能会显示如下内容:
当出现这种给出“[Y/n]”形式的选项要你选择时,可以输入y或者n然后回车,y表示yes,n表示no。此外,大写字母表示默认选项。例如此处Y为大写,因此什么都不输入直接回车就代表输入了y。起初可能会要求你先更新一个名字中含有“keyring”的软件包,然后进行若干密匙的签名,然后会显示一些可以更新的软件包,总之当需要你选择时回车即可。
上述命令运行结束(回到让你自由输入命令的状态)后,我们首先安装用于archlinuxcn的密匙软件包,以便让archlinuxcn软件源可以正常使用。为此,需要运行命令sudo pacman -S archlinuxcn-keyring
。注意这一条命令的格式以后会经常使用。sudo pacman -S 软件包名称
就是用来安装软件的命令。同时,本次运行命令时你很可能会注意到不需要输入密码了。这是因为在同一终端中如果你近10分钟内曾经成功通过sudo使用过root权限,那么再次使用时就不需要输入密码。
顺便可以说的是,pacman -Ss 关键词
用来搜索软件源。这里的搜索指的是搜索软件源中的软件包名称或描述中有没有出现关键词,并不是智能搜索,所以搜索能力并不强,通常在你知道某个软件但想不起完整的软件包名称时才使用。有时你可能需要知道某个软件在软件源中有哪些插件/库可供下载,此时也可以利用这条命令。
yay(AUR软件包安装器)
然后,我们安装yay,这个软件可以用来方便地安装AUR(Arch User Repository,Arch用户仓库)上的软件。同样使用命令sudo pacman -S yay
即可安装。yay命令的使用格式与pacman基本相同,只有一点需要注意,即使用yay时不需使用sudo。
中文输入法fcitx5
接下来安装中文输入法fcitx5。尽管实际上搜狗提供了Linux版输入法,但就笔者的使用经验而言,搜狗输入法偶尔会崩溃,而fcitx5则十分稳定。就输入体验而言,fcitx5也并不会落后搜狗太多。运行命令sudo pacman -S fcitx5-git fcitx5-gtk fcitx5-qt5-git fcitx5-chinese-addons-git fcitx5-pinyin-zhwiki fcitx5-configtool
即可。这条命令安装了fcitx5输入法本体,对gtk、qt等框架的支持,以及中文输入支持,此外还安装了热心用户以中文维基百科为语料制作的中文词库,以及fcitx5输入法配置工具。如果你对游戏、二次元等方面感兴趣,还可以安装fcitx5-pinyin-moegirl
软件包,这是热心用户以“萌娘百科”网站为语料制作的中文词库。
安装完fcitx5后,还需要将其设置为开机启动。你可以在开始菜单中找到“系统设置”,然后在“开机和关机”-“自动启动”中设置哪些软件需要开机启动。在这一界面中,点击下方的“添加程序”,然后直接搜索“fcitx”即可找到“Fcitx 5”程序,如图所示:
选择它,点击确定,fcitx5就被添加到了开机启动项。设置完成后效果如下图所示。
此外,为了让输入法正常工作,你还需要在你的家目录下创建一个.pam_environment文件。运行命令kate ~/.pam_environment
(其中波浪线在命令行中意为你自己的家目录),然后输入以下内容并保存:
INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=\@im=fcitx5
上述操作完成后,你需要注销或者重启一次电脑。注销或重启电脑后你可能还会看到屏幕上方弹出来一个大号终端,这是软件Yakuake。它的作用就是在屏幕上方提供一个可以弹出和收回的终端,方便你的日常操作。默认的弹出/收回快捷键是F12,你可以在它右下角的菜单中找到“配置键盘快捷键”,然后在里面的“打开/缩回Yakuake”项目上修改。注意这里要设置全局快捷键,否则Yakuake缩回后你无法用快捷键让它弹出。就笔者而言,由于F12也偶尔被其它软件用到,所以笔者的Yakuake弹出快捷键为Ctrl+`(就是键盘上Esc下面那个键),仅供参考。
注销或重启电脑后输入法就会自动启动,默认输入状态是英文,你可以按Shift切换中英文。右下角系统托盘中会多出一个键盘小图标,这就是fcitx5输入法图标。你可以右键点击图标来配置输入法。你也可以按快捷键Alt+空格在屏幕上方打开一个搜索框,输入“fcitx”,就能找到“Fcitx 5 配置”,回车就可以打开。Alt+空格所唤起的软件叫做KRunner,在里面输入你想打开的各种东西,大多它都能帮你找到。
中文字体(Ubuntu字体与文泉驿微米黑字体)
尽管Manjaro自带了一些中文字体,但汉字在终端中的显示间距还是有些太宽。笔者在这里推荐安装Ubuntu字体族,这是由Ubuntu所属公司开发的开源字体,英文样式很赞,中文显示效果也非常不错。只需安装ttf-ubuntu-font-family
软件包即可。根据个人喜好,也有些人喜欢文泉驿微米黑字体,只需安装wqy-microhei
软件包即可。安装好以后,在终端中右键,选择“编辑当前方案”,进入“外观”项,下方就可以选择所使用的字体。在此可以将字体修改为Ubuntu Mono,或者其它你喜欢的字体。同时也可以适当调大一些字号。修改完成后如图所示:
中文间距过大的问题就解决了:
如果你想修改例如任务栏、标题栏等位置的字体,可以在开始菜单中找到“系统设置”,进入“字体”项目,在此可以看到系统中各处使用的字体,点击右边的铅笔图标可以进行修改。建议保留字号不变,把所有不带“Mono”字样的字体替换为你喜欢的不带“Mono”字样的字体,将所有带“Mono”字样的字体替换为你喜欢的带“Mono”字样的字体。字体名中的Mono是等宽字体的意思。在终端等需要写命令或代码的地方,每个字母宽度相等会看起来更舒服,因此这些地方会专门使用等宽字体。笔者的字体设置完成后如图所示:
微信、QQ等国内常用软件
首先需要说明,腾讯官方从未开发过微信Linux版,而开发的QQ Linux版目前也是个鸡肋。本文中推荐的微信和QQ基于wine。wine是一个用来在Linux系统上模拟出Windows环境从而能够运行Windows程序的软件,当然由于Windows环境太过复杂,实际上wine模拟不来的程序有很多,模拟得好的程序才占少数。实际上,原版的wine甚至也不能很好地模拟QQ。此外,wine常常被用来在Linux上运行Windows游戏,不过比较新的游戏大都使用了wine还没有支持的技术,所以wine通常只能模拟比较老的游戏。
国内有一家Deepin公司基于Ubuntu开发了一种Linux发行版Deepin,其目标专注于为国内用户提供友好的体验。为此,他们魔改了wine,魔改后的deepin-wine对QQ有了比较好的支持,笔者在Ubuntu 18、Ubuntu 20及Manjaro KDE上使用过相当长一段时间,目前QQ除了贴边隐藏和远程协助有一些问题外,几乎没有其他问题;微信则可能出现一些小问题(十分玄学,笔者每次重装系统后都可能出现或不出现),但通过一些简单的修复步骤就可以解决。话不多说,开始安装。
这次的安装步骤需要用到yay,因为AUR上有打包得比较好用的deepin QQ和deepin 微信。打开终端,运行yay -S com.qq.im.deepin com.qq.weixin.deepin
。yay查询后会给出如下提示:
上图中,开头是“[Repo:28]”的一长段是准备安装软件源中的哪些软件包;开头是“[Aur:4]”的一段是准备安装AUR中的哪些软件包。由于我们安装deepin QQ和deepin 微信时需要安装它们依赖的一些其它软件包,所以才需要安装这么多。不需要担心不用以后如何卸载,只要使用正确的命令(sudo pacman -Rsc 软件包名称
)卸载,pacman就会自动帮你把没有被依赖的无用软件包全部清除。
此时yay会提示你“显示哪些差异?”,这一步一般都不需要显示,直接按回车(或输入“N”)即可。然后yay会要求你输入密码,这是为了安装软件源中的那些软件包。之后安装会自动进行。不过全新的系统可能会缺少一些必要的组件,例如笔者这里就弹出了错误提示:
图中错误翻译过来是“缺少二进制文件strip用于对对象文件进行strip”,这是因为我们的新系统中还没有安装strip软件包。当你遇到其它“找不到xxx”的错误时,不妨直接尝试sudo pacman -S xxx
安装,或者pacman -Ss xxx
搜索一下再安装,也许就能解决你的问题。不过strip程序比较特殊,它属于binutils软件包,所以没办法直接搜到。此外,binutils软件包属于base-devel软件包组(就是若干软件包的集合),由于yay也会用到base-devel软件包组中的其它软件,这里我们直接安装base-devel,即sudo pacman -S base-devel
。pacman会给出如下提示:
这条提示中给出了base-devel中包含的所有软件包,询问我们是否全部安装。直接回车即可。随后确认安装,软件将会自动安装完毕。此时我们就可以掉过头去运行刚刚失败的yay命令了。在命令行中使用方向键上下键可以方便地找到运行过的命令。本次yay运行还会额外问你一句“清理哪些软件包的构建?”,这是由于之前我们安装这些软件包安装到一半,所以保留了一些构建文件。我们不清理即可,这样还能接着上次的进度安装。整个安装过程会自动进行,中间只可能要求你输入一次密码。耐心等待即可。
安装完成后,即可使用Alt+空格开启KRunner,然后输入qq找到QQ并运行。第一次启动QQ后QQ会提示你安装Adobe Flash Player,无视即可。需要提醒的是wine在Linux下无法做到让QQ
贴边隐藏,你可能需要习惯点击最小化按钮来将QQ隐藏到系统托盘。
同样使用KRunner找到微信(输入weixin、wechat等均可)并运行。需要测试的是随便找一个人,在聊天框中打一些汉字并发送。这里可能出现的问题是打出或发送的汉字可能变成方框。这一问题的解决方案是下载一个宋体字体文件simsun.ttf,如果你有Windows,也可以直接在C:\Windows\Fonts中找到。把这个文件拷贝到Manjaro中你的家目录里的.deepinwine/Deepin-WeChat/drive_c/windows/Fonts目录中,然后重启微信即可。你可以直接打开文件管理器,默认所处的就是你的家目录(需要按快捷键Ctrl+H显示隐藏文件才能找到.deepinwine文件夹。Linux中默认以点开头的文件全部是隐藏文件)。你也可以使用命令行拷贝。命令行拷贝命令为cp 源文件 目标文件
,或cp 源文件 目标文件夹(必须已存在)
。例如在家目录下执行cp aa/bb/cc/simsun.ttf .deepinwine/Deepin-WeChat/drive_c/windows/Fonts/
。
此外还推荐的国内常用软件包括:
- WPS Linux版:
sudo pacman -S wps-office-cn wps-office-mime-cn wps-office-mui-zh-cn ttf-wps-fonts
- 百度网盘 Linux版:
sudo pacman -S baidunetdisk-bin
- 网易云音乐 Linux版:
sudo pacman -S netease-cloud-music
。- 注意按上述方法将安装软件源中的网易云音乐,而这一版软件无法在搜索框中输入中文。
- 这一问题的解决方案稍显复杂,需要自行编译qcef等组件并重新制作安装包,详见AUR软件包netease-cloud-music的评论区。笔者制作了一个已修复该问题的,可以直接安装的软件包。软件包已上传百度网盘,提取码为1111。下载该包后双击即可安装。如果你安装了软件源中的网易云音乐,请先卸载再安装笔者提供的软件包(尽管不卸载大概也可以正常安装并自动替换,但笔者没有测试)。
按个人喜好的配置
在系统设置中翻一翻(系统设置可在开始菜单中找到),你会发现很多能让你的系统更加个性化的配置。
主题
例如在“全局主题”中,你可以更换整个系统的主题。默认提供了4种主题,你也可以点击右下角的“获取新的全局主题”来安装新主题。
需要注意的是,获取新主题需要连接到KDE官方主题商店,对国内用户而言网速会比较慢,访问和安装都需要耐心等待。安装的最后可能需要输入管理员密码。此外,打开主题商店窗口时默认排序顺序是“最近发布”,你可以在右下角的下拉列表中选择“Highest rated first”来切换到“最高评分”的排序顺序。
与上面类似地,还有“Plasma样式”、“应用程序风格”、“颜色”、“图标”、“光标”可以配置。这些配置之间的关系是:“全局主题”控制所有的外观配置,也就是说更改“全局主题”时会同时修改“Plasma样式”“应用程序风格”等所有项目,可以把“全局主题”看成是下面所有外观配置的一个“安装包”,而其余外观配置则为用户提供了自己进行单独个性化的自由。
最后要说的是,KDE桌面对于主题的管理并不十分完善,有时切换全局主题后可能出现图标不显示等问题。如果出现图标不显示的问题,可以进入“图标”一栏重新选择并应用一种图标方案,其它问题也类似。另外笔者还曾遇到过切换主题后系统设置无法打开的情况,只需重启系统即可。
桌面特效&虚拟桌面
“工作空间行为”或许是最好玩的一栏!点开它,你会看到若干子项目:
在这里,你可以调整很多有关你的使用体验的具体配置。本文中我们主要介绍两部分:“桌面特效”和“虚拟桌面”。
在“桌面特效”一栏中,你可以使用很多漂亮的特效!例如“魔灯”特效可以在KDE桌面中模仿Mac OS系统的最小化特效(下图借用了KDE特效商店“Yet Another Magic Lamp”特效的说明图):
你可以一个一个尝试每个特效的实际效果。勾选或者取消勾选后记得点“应用”按钮才能生效。
“虚拟桌面”在一些场合下又称为“工作区”,现在Windows 10上也实现了这一功能。这个功能为用户创建了多个桌面,你可以用鼠标或者快捷键在各个桌面之间穿梭。在“虚拟桌面”的设置项中,你可以创建新的虚拟桌面(按行列创建)。例如下图中我们创建了3行3列共9个虚拟桌面(这是笔者习惯的配置)。
系统默认开启了2x1(2行1列)的虚拟桌面,你可以在开始菜单按钮旁看到虚拟桌面的缩略图:
这个缩略图指示出当前我们在第1行第1列的桌面中,可以点击第2行第1列的桌面来切换到这个桌面。系统默认没有提供切换桌面的快捷键,之后我们可以自己设置。
没有使用过虚拟桌面的读者可能会提出疑问:虚拟桌面有什么用?我用Alt+Tab切换窗口不也一样?
笔者的回答是:如果你总是使用最大化的窗口,而且通常不会处理太固定的工作的话,的确差不太多。但每个人总归会有一些固定工作需要处理,例如笔者会把完成某一特定工作的窗口总是放在某一固定的虚拟桌面,时间长了就会成为肌肉记忆,要做这项工作时无需思考即可切换到这个桌面,省去了Alt+Tab翻找窗口的过程。
此外,虚拟桌面功能如果跟窗口分屏结合在一起,就会产生更大的可能性。当我们将窗口拖到桌面的边界(包括角上)时,松开鼠标,可以发现窗口自动占据了半屏(或一个角落)的空间,这给很多工作提供了方便,例如照着浏览器抄代码。当你的工作较复杂时,你可能需要在几个桌面分别分屏地放置很多窗口:可以想到,这种情况下如果把所有分好屏的窗口都堆在一个桌面上然后用Alt+Tab切换,使用体验将会十分糟糕。(下图是使用分屏窗口工作的一个示例)
快捷键
在“快捷键”一栏中,你可以定制KDE家族软件几乎所有的快捷键!(非KDE家族软件的快捷键请在软件自身的设置中修改)
你可以自行翻阅和设置。需要提示的是有关窗口管理和桌面管理(如显示桌面、切换虚拟桌面、将窗口移至某个虚拟桌面等)的快捷键主要在“全局快捷键”一栏中的“KWin”和“Plasma”下。
在“自定义快捷键”一栏中,你可以定义某个快捷键用来运行某个程序或运行某个命令。正因为快捷键可以用来执行任意命令,而Linux中命令行无所不能,因此快捷键也无所不能!想要发挥这样的能力,请认真学习Linux命令行!
其他
其他设置项不再一一介绍,用户可根据个人喜好进行配置。
其他软件安利
对一般人
- Flameshot:截图/贴图软件,一个软件满足你的全部截图需求。manjaro软件源中名称:
flameshot
。安装后可能需要自己设置快捷键,在系统设置的“自定义快捷键”中新建用于运行命令的快捷键,并且让这个快捷键执行命令flameshot gui
即可。 - Vivaldi:基于Chromium内核的浏览器,能够兼容需要使用Chrome访问的网站。相比Chrome提供了更多的内建功能(如网页截图等),同时不像Chrome一样“专制独裁”,例如它不禁止Flash的使用(仅弹出安全警告),不会自动隐藏网址前缀等。软件包名称:
vivaldi
。 - OBS Studio:免费开源的录屏/直播软件,兼容Bilibili等直播平台。软件包名称:
obs-studio
。 - Filelight:由KDE提供的磁盘使用情况分析器,快速可视化地分析究竟是什么文件占用了你的磁盘空间。软件包名称:
filelight
,系统中应该已经预装。 - Baobab:由GNOME提供的磁盘使用情况分析器,功能同上。软件包名称:
baobab
。 - Audacity:音频处理软件,如果你听说过Cool Edit Pro的话,功能跟它差不多。软件包名称:
audacity
。 - Joplin:最近火热开发中的Markdown笔记软件,笔者实际使用过一段时间,使用体验总体上还可以。AUR软件包名称:
joplin-appimage
(也有其它类似名称的软件包,但joplin-appimage
更新最及时)。 - 向日葵:国产多端(Windows/Linux/Mac OS/Android/iOS)远程控制软件,既可以用来远程观看桌面和远程协助,也可以用来管理个人用户自己的多台设备。相比Teamviewer而言对设备数量的限制相当宽松(免费用户至多拥有100台设备),只对网速有限制,但基本可以保证流畅使用。AUR软件包名称:
sunloginclient
,注意安装完后根据提示,可能需要手动执行sudo systemctl enable runsunloginclient.service
以保证软件正常工作。
对程序员
- Vim(及其变种如NeoVim),Emacs:一个专业程序员不可能没有听过这两个软件的大名。Vim和Emacs分别被称为“编辑器之神”和“神的编辑器”,其中原因可以待读者慢慢探索。它们在manjaro软件源中软件包名分别为
vim
和emacs
,如果你从未接触过它们,可能需要先去找一篇教程。 - tldr:“Too Long Didn't Read”的缩写,用于快速查询某个命令行程序的使用示例,避免上网搜索以及翻阅又臭又长的man文档。软件包名称:
tldr
。
对科研人员
- KMail:KDE家族中的邮箱客户端,与KDE桌面配合较好。软件包名称:
kmail
。 - Zotero:开源文献管理软件。软件包名称:
zotero
。 - Zettlr:面向科研人员的Markdown笔记软件,支持双向链笔记、引用参考文献(需与文献管理软件一同使用)等,但目前仍在开发中,存在一些bug。AUR软件包名称:
zettlr
。