menu Chancel's Blog
rss_feed lightbulb_outline

用Linux做程序开发02 - Manjaro安装与使用

warning 这篇文章距离上次更新于366天前,文中部分信息可能已失效,请自行甄别无效内容。

安装Linux发行版是一件说简单也简单,说复杂也复杂的问题,如果搞不懂一些细节问题,看起来Linux发行版的安装就让人望而却步了,初次接触甚至觉得每个发行版安装都那么复杂

1. 准备

1.1. 选择发行版(桌面系统)

本文选择的是Manjaro Linux作为安装发行版,其他发行版原理大概相似,一些细微区别还请配合Google朋友甄别

Manjaro发行版官网下载

Manjarn官网提供3个桌面发行版,分别是主流的XFCE/Gnome/KDE以及一个在线安装版Architect,此外还有社区提供的Budgie/I3等若干桌面版本

我曾经体验过三个版本,总体上来讲在Manjaro上稳定性以及流畅性XFCE最佳,但外观实在非常简陋,写这篇博客的时候我是基于XFCE的Manjaro发行版

但非常推荐朋友们使用下KDE或者Gnome,基于QT的KDE-3结合了MacOS与Windows的优势,其流畅的动画繁多的功能与极强的自定义性是当之无愧的最强的Linux DE之一

如果喜欢简洁风,那么我推荐Gnome,恰到好处的自定义性,恰到好处的简洁风格,该有基础功能都有,只是基于GTK3的GNOME3可能在底层效率上不如基于QT的KDE,但依旧是我最喜欢的DE之一

如果机器配置足够高,比较注重UI体验的建议选择KDE与GNome版本,如果配置不佳,建议搭配XFCE,此处选择XFCE并下载

1.2. 制作U盘镜像

安装系统无论是Linux还是Windows,最方便快捷的方法都是借助U盘进行安装,我们将ISO系统写入到U盘中做成系统启动盘再将ISO安装到系统内去

Windows如何制作系统启动盘?

  • 用管理员启动软件UltraISO并打开ISO镜像
  • 在菜单栏选择启动->写入硬盘镜像
  • 磁盘驱动器选择U盘,写入方式为RAW

Linux如何制作系统启动盘?

dd if=[你的ISO镜像文件路径] of=[你的U盘驱动器]

例如
dd if=manjaro-xfce-18.1.3-191114-linux53.iso of=dev/sdc

制作完成之后,我们将U盘插入电脑,就可以开始安装Manjaro了

2. 安装

2.1. 引导

打开电脑BIOS,选择启动方式(boot),并将U盘调整到启动第一顺序,这是我在Google上找到一张BIOS图,BIOS启动设置都是差不多的

可以根据你的主板型号+Bios启动设置作为关键字搜一下Google相关信息

2.2. 安装

设置好引导之后我们就可以顺利进入到了Manjaro的安装了,在欢迎第一个界面处调整安装界面参数

在桌面上我们选择Install Manjaro Linux,然后地区选择上海

键盘与系统语言建议选择英文,如果选择使用Linux发行版,请尽量使用英文环境,中文环境所带来的麻烦远超过认识几个常见英文单词的麻烦程度

接下来我们选择手动调整分区,如果硬盘未初始化,则应该选择初始化(New Partition Table),并选择GPT分区,对于GPT分区与MBR分区,GPT分区是UEFI规范的一部分,相对MBR的优势

  • 无限分区表
  • 每个分区可以有独立的名字

这是最直观的好处,对于非上古机器而言,GPT无可挑剔

初始化硬盘后,我们开始分区,对于Linux的分区,大部分发行版在UEFI模式安装下只需要认识好“/boot”与“/”这两个分区

"/boot"分区对应Windows的efi启动分区,根分区“/”对应Windows的C盘

我的硬盘未初始化且启动方式为UEFI,初始化为MBR格式,并创建挂载好"/boot"与"/"分区,注意"/boot"分区的两个要求(第三张图红框处)

  • FAT32格式
  • ESP标志

下面是我的分区图例

如果你在分区这里失败了,可以参考Arch中文wiki的资料,仔细研读相信你会知道如何做好Linux的分区

Partitioning - ArchLiunux

在输入好机器名称与选择好Office套件之后,会得到一个系统安装预览,我的预览如下

点击安装即可完成安装系统

2.3. 配置国内源(可选)

重启之后,系统的安装就完成了,我们可以尝试更新系统

如果你懂得使用科学爱国,可以搭配Proxychains/Openwrt进行更新,则无需选择国内源一样是非常快的,可以使用以下命令测试离你最近的镜像站并选择延迟最低的即可

sudo pacman-mirrors -i

但如果你在国内,更新的速度会是非常慢,我们打开Terminal之后,输入以下指令,在测试完成延迟之后,选择离你最快的源即可

sudo pacman-mirrors -i -c China -m rank

紧接着我们更新源并安装PGP签名

sudo pacman -Syyu
sudo pacman -S archlinux-keyring

这样一来系统更新就完成了

3. 基础配置

作为一个OS,最基础的功能应该是搜索资料,但这点恰恰是Linux桌面发行版很坑的地方,因为对于所有Linux来说都没法搜索资料,号称开箱即用的Manjaro也不行,无他,没中文输入法

对我而言,则是没一个趁手的浏览器,在美化桌面/自定义桌面这些激动人心的功能之前的 仓库源/输入法/浏览器掐死无数基础较差的同学喉咙,恰好Manjaro这些点做的简单易用

3.1. 安装yay

pacman作为Arch的仓库,包含了大量的软件,但如果我们需要一些AUR特有的安装包(如Chrome),我们就需要使用 yay 进行安装

什么是yay?简单说他是一个用GO写的AUR社区/pacman仓库包管理器

Yet another yogurt. Pacman wrapper and AUR helper written in go.

安装yay

sudo pacman -S yay

3.2. 安装输入法

fcitx是一个输入法框架,绝大部分Linux发行版都使用他来作为输入法框架,许多发行版甚至直接就内置了Fcitx,Manjaro没有,需要我们手动安装

Fcitx is a lightweight input method framework aimed at providing environment independent language support for Linux. It supports a lot of different languages and also provides many useful non-CJK features.

安装fcitx

sudo pacman -S fcitx-im
sudo pacman -S fcitx-configtool

然后我们在用户目录下新增配置文件

nano ~/.xprofile

# 配置文件内容
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

保存配置文件即可,接着在菜单搜索并选择fcitx configuration启动,点+号进行添加,根据需要搜索pinyin/wubi并点OK即可

在菜单栏Global Config可以配置全局切换快捷键

如果配置了拼音输入法,但输入之后没有显示中文,则说明没有安装Chinese语言包,在setting-Manjaro Settings Manager中选择Language Packages添加chinese语言包即可

Linux下fcitx几乎是拼音输入的首选,而且其实自带了pinyin输入,对于安装第三方输入法对于我而言不是很重要,我并不信赖国内的输入法产品

如果你对自带的pinyin不满意(没云候选词),可以自行安装第三方例如Google拼音或者搜狗输入法

3.3. Google Chrome(可选)

我是个重度Chrome插件患者,没了Chrome丧失99%技能,而对于使用Linux必然会有很多问题,浏览器与输入法作为查询资料几乎必不可少 Linux发行版一般都自带了Firefox,Manjaro如是,所以喜欢Firefox的同学可以不用特意安装了

使用yay安装Google-Chrome

yay -S google-chrome

到此一个基础的Manjaro开发环境就搭建完成了,下一章可以讲讲作为软件的配置指南了

博文目录

[[replyMessage== null?"发表评论":"@" + replyMessage.m_author]]

account_circle
email
web_asset
textsms

评论列表([[messageList.data.items.length]])

[[messageItem.m_author]] [[messageItem.m_author]]
[[messageItem.create_time]]
[[messageItem.m_environ.browser]] [[messageItem.m_environ.os]] [[messageItem.m_environ.device]]
[[subMessage.m_author]] [[subMessage.m_author]] @ [[subMessage.parent_message.m_author]] [[subMessage.parent_message.m_author]]
[[subMessage.create_time]]
[[subMessage.m_environ.browser]] [[subMessage.m_environ.os]] [[subMessage.m_environ.device]]