配置和美化Arch Linux

作者: 乐百川 | 来源:发表于2016-02-02 20:21 被阅读20584次

    前面说了如何安装一个最小化的Arch Linux。现在来说说如何配置。

    配置网络

    如果使用有线网络的话,将dhcp服务开机启动:

    # systemctl enable dhcpcd
    

    如果使用无线网络的话,使用wifi-menu命令连接网络。如果在使用wifi-menu命令连接网络的时候选择保存配置,那么就可以下次让其自动连接。要让其自动连接,使用以下命令:

    # systemctl enable netctl@保存的网络配置名.service
    

    要管理无线网络的话使用netctl命令。详情可以查阅其手册页。如果在使用netctl命令连接某个无线网的时候出现了类似The interface of network profile '网络名' is already up错误,将网络设备关闭并再次运行命令通常可以解决问题。如果不知道无线网卡的名字,直接使用ip命令就可以列出所有的网络接口了。

    # ip link set 无线网卡名 down
    # netctl start profile
    

    配置区域和时间

    配置区域

    打开/etc/locale.gen文件,取消掉en_US.UTF-8zh_CN.UTF-8的注释:

    # nano /etc/locale.gen
    

    然后重新生成一下区域信息:

    # locale-gen
    

    然后再配置一下/etc/locale.conf文件。将区域信息写入:

    # echo LANG=en_US.UTF-8 > /etc/locale.conf
    

    这里要注意,如果/etc/locale.conf文件使用非英语区域的话,会导致tty,也就是我们目前使用的全屏黑色命令行界面乱码。另外还有一种解决方案是使用fbterm。接下来会说到。

    配置时区

    将时区设置为中国上海:

    # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    

    或者这个命令也可以达到相同的目的:

    # timedatectl set-timezone Asia/Shanghai
    

    配置时间

    推荐将硬件时间修改为UTC时间,这样各个linux系统都会完美协调,不过需要修改Windows操作系统。

    # hwclock --systohc --utc
    

    开启网络对时功能:

    # timedatectl set-ntp true
    

    要查看现在的时间,直接使用timedatectl命令就可以。

    下面是Windos下的修改:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation下新建一个DWORD类型的名字为RealTimeIsUniversal的项,并将值修改为十六进制的1。如果无效并且Windows是64位的话,新建一个QWORD类型的值或许有效。

    用户和权限设置

    添加用户

    添加用户的命令格式如下,-m选项表示在创建用户组的同时创建用户目录。

    # useradd -m -g 初始用户组 -G 额外用户组 -s 登陆shell 用户名
    

    例如,我要添加一个test用户,让他隶属于users用户组,并且同时在wheel用户组,使用zsh作为登陆shell,那么命令就是这样的:

    # useradd -m -g users -G wheel -s zsh test
    

    删除用户

    如果不小心添加了一个不需要的用户,可以将其删除。-r选项表示再删除的时候同时删除其用户目录。

    # userdel 用户名 -r
    

    允许提权

    在一般情况下,如果要将一个用户设为管理员,就将其加入到wheel用户组中,这样就可以使用su和sudo命令执行需要高级权限的操作。但是在Arch中,wheel用户组默认没有提权的权限。这就需要编辑/etc/sudoers文件:

    # nano /etc/sudoers
    

    然后找到wheel ALL=(ALL) ALL一行,并取消前面的注释,保存即可。这样,wheel用户组中的用户就可以利用su或者sudo命令来提权了。

    安装桌面

    安装xorg

    所有桌面环境都需要依赖xorg。所以先要安装xorg组。

    # pacman -S xorg
    

    输入命令之后首先会询问要安装xorg组下的哪些包,选择全部。然后对于libgl包有个四个不同的实现,选择mesa-libgl。
    然后再安装xorg-xinit和xterm:

    # pacman -S xorg-xinit xterm
    

    安装完成之后就可以使用startx命令启动xorg的简易界面了。进入成功的话会显示出几个简陋的窗口。然后按Ctrl+D就可以退出了。

    安装显示管理器

    这里安装的是sddm显示管理器,配合plasma桌面使用效果更佳。

    # pacman -S sddm
    

    安装完成之后,可以运行一下systemctl start sddm命令来查看一下sddm是否能够正常运行。如果正常显示出来的话,就说明安装成功了。安装成功的话就可以按Ctrl+Alt+F数字来切换到其他tty,继续进行配置。如果安装成功,就可以使用systemctl enable sddm来让其开机启动。

    默认的sddm是没有配置文件的,需要先生成一个:

    # sddm --example-config > /etc/sddm.conf
    

    生成完成之后就可以编辑配置文件了。

    比如,要修改主题为Breeze,打开配置文件找到[Theme]下的Current,然后修改成Current=breeze。默认情况下主题都在目录/usr/share/sddm/themes/下。运行ls /usr/share/sddm/themes/命令就可以查看现在安装的主题。breeze主题默认情况下没有,在安装plasma桌面的时候会附带安装。

    如果想要开机时候启用数字锁定键,找到Numlock条目并改为Numlock=on

    sddm默认情况下会从tty1启动,如果想要传统的从tty7启动,找到MininumVT并改为MininumVT=7

    如果要为用户添加头像的话,照一张png格式的图片,重命名为username.face.icon,然后放到/usr/share/sddm/faces/目录即可。如果不能识别,使用ls -l /usr/share/sddm/faces/查看一下是否是用户权限的问题。如果是的话使用chmod 744 /usr/share/sddm/faces/username.face.icon把所有用户的读权限加上,应该就可以了。

    安装桌面环境

    如果想要轻巧的话使用xfce桌面,如果想要华丽效果的话使用plasma桌面。

    安装xfce4桌面和附带的软件包:

    # pacman -S xfce4 xfce4-goodies
    

    安装plasma桌面和附带的软件包:

    # pacman -S plasma kde-applications kde-l10n-zh_cn
    

    系统中文化

    这一部分最好在桌面环境安装好之后进行,一来桌面环境方便进行各种操作,二来可能需要编辑一些由桌面环境生成的文件。

    安装中文字体

    首先使用pacman搜索一下所有字体,然后安装所需的字体:

    # pacman -Ss font
    

    强烈建议现在这里安装一种文泉中文字体,比如文泉微米黑,否则可能出现重启之后所有字体全变成方块的问题。

    # pacman -S wqy-microhei
    

    设置中文区域

    /etc/locale.conf文件中的区域设置是全局设置,会影响到所有的程序。如果在这里把区域设置为中文,虽然桌面环境下可以正常显示,但是进入tty的话就会出现乱码现象。所以推荐的方法是在启动图形界面的时候加入中文区域设置,打开~/.xprofile文件加入以下几行即可,注意文件名称全部是小写的。

    export LANG=zh_CN.UTF-8
    export LANGUAGE=zh_CN:en_US
    export LC_CTYPE=en_US.UTF-8
    

    安装fcitx输入法

    # pacman -S fcitx fcitx-cloudpinyin  fcitx-im fcitx-fbterm kcm-fcitx
    

    安装完成之后还需要配置一下。打开~/.xprofile文件并加入以下几行:

    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    

    安装fbterm

    安装fbterm并将当前用户添加到video用户组中:

    $ pacman -S fbterm
    $ gpasswd -a username video
    

    其他美化

    设置pacman彩色输出

    打开/etc/pacman.conf文件,找到被注释的#Color,改为Color。pacman就会输出彩色信息,方便查看。

    终端美化

    首先安装zsh,z shell以最后一个字母z命名,意为终极shell。配合oh-my-zsh一起使用效果更佳。安装完成之后将其设置为默认shell,重新登录即可生效。另外还要安装git。

    # pacman -S zsh git
    # chsh -s $(which zsh)
    

    然后安装oh-my-zsh,可以从curl或者wget安装。

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
     
    sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    

    安装完成之后打开.zshrc文件配置。我喜欢将主题设置为random,启用几个插件,并添加vim的简化命令。

    ZSH_THEME="random"
    
    plugins=(git archlinux history mvn python git-extras textmate lighthouse autojump)
    
    # Example aliases
    alias zshconfig="mate ~/.zshrc"
    alias ohmyzsh="mate ~/.oh-my-zsh"
    alias vi=vim
    

    有些主题需要破解过的字体,需要安装git来同步这些字体:

    git clone https://github.com/powerline/fonts.git
    cd fonts
    ./install.sh
    

    还有更多奇妙的主题,这里是其中的两个,在这里还可以找到更多:

    字体美化

    由于原作者可能不在更新项目了,所以现在好像没办法安装infinality了。Linux下字体发虚的原因是系统分辨率太低,而中文字体字形复杂,所以笔画会显示比较模糊。现阶段这属于无解状况。(当然如果有钱换个2K或者4K的屏幕,字体应该就显示正常了。)

    默认情况下ArchLinux的字体并不好看,中文字体发虚。通过安装字体渲染包infinality可以改善这个问题。首先需要导入infinality的密钥并在本地签名。

    # pacman-key -r 962DDE58
    # pacman-key --lsign-key 962DDE58
    

    然后需要在etc/pacman.conf中添加infinality的软件源:

    [infinality-bundle]
    Server = http://bohoomil.com/repo/$arch
    [infinality-bundle-multilib]
    Server = http://bohoomil.com/repo/multilib/$arch
    [infinality-bundle-fonts]
    Server = http://bohoomil.com/repo/fonts
    

    添加完成之后需要重新刷新缓存,然后就可以安装infinality的软件包了。安装时会提示与freetype2冲突,询问你是否替换,选择是即可。

    # pacman -Syy
    # pacman -S infinality-bundle infinality-bundle-multilib ibfonts-meta-extended jdk8-openjdk-infinality
    
    

    安装完成之后,需要重启图形界面,或者直接重新启动电脑也可以。然后系统的字体应该就会变得赏心悦目了。

    图标美化

    numix-circle-icon-theme是一个非常好看的图标主题。但是需要我们手动安装。这个主题不是官方仓库的一部分,所以需要使用AUR(Arch User Repository)来安装。安装它最简单的办法就是使用Yaourt这个包管理器来做。它是一个建立在pacman上层的工具,既可以安装官方仓库的软件(和pacman一样),也可以安装AUR中的软件。

    首先来安装Yaourt。先打开pacman.conf

    $ sudo nano /etc/pacman.conf
    

    然后把下面几行添加到pacman.conf中,

    [archlinuxfr]
    SigLevel = Never
    Server = http://repo.archlinux.fr/$arch
    

    添加完成之后就能刷新软件仓库并安装Yaourt了,

    $ sudo pacman -Sy yaourt
    

    安装完成之后就可以使用yaourt来安装numix了,

    # yaourt numix
    

    这样就会列出所有的numix相关的软件包,在其中找到numix-circle-icon-theme,然后输入前面的序号就可以安装了。然后接下来根据提示进行操作就可以了。

    yaourt是一个强大的工具,你可以在AUR中查找一下其他的好用的软件,使用yaourt来安装。这是在其他Linux发行版中无法得到的体验。

    其他设置

    科学上网

    修改hosts

    最简单的是使用hosts文件,克隆项目并替换hosts文件:

    $ git clone https://github.com/racaljk/hosts.git
    $ sudo bash ~/hosts/hosts_tools/scripts/script_tool_for_linux.sh
    

    使用lantern

    lantern是一个开源的翻墙软件,稳定性和速度都不错。现在已经有对应的AUR包,但是现在已经过期了。因此无法使用AUR安装。

    使用shadowsocks

    shadowsocks需要购买一个可以连接外网的服务器,然后配置ss服务端,之后就可以使用客户端科学上网了。客户端有win、linux和安卓等版本。我现在用的就是ss,由于是自己搭服务端,也不用担心数据被第三方监听的风险,速度也挺快的。这是最推荐的方式。服务器的话可以买搬瓦工,一年20刀,每个月550G流量,性价比十分高。


    这样,Arch的美化就基本完成了。等到我学的差不多了。在写一个美化脚本,自动完成上面的所有事情。敬请期待吧。

    相关文章

      网友评论

      • kaiv2:服务器 404 了。。。http://bohoomil.com/repo/
      • 3b573830c749:关于字体美化的补丁,现在维护者好像停止维护了,按照以前的方法来安装行不通了呀😅😅😅
        乐百川:好像不知道啥时候就装不上了,我更新一下文章
      • 515edd68585e:infinality那,清空缓存的时候一直显示无法从bohoomil.com获取文件,还有infinality-buddle升级失败,怎么解决
        乐百川:@B1ur 先看看导入密钥那里成功了没,重试一下,如果没问题的话可能是infinity服务器的问题,明天再试试。
      • 515edd68585e:请问那个.zshrc在哪
        乐百川: @B1ur 安装ohmyzsh之后就在用户主目录里头,你用nano .zshrc就能打开了
      • 被欺负的大白:你好,你文章中的字体美化部分,infinality 补丁安装的包应该是:

        infinality-bundle infinality-bundle-multilib ibfonts-meta-extended

        参考:https://linux.cn/article-3019-1.html

        我尝试照着你说的字体美化部分来安装infinality补丁,未能解决 Chrome 中字体发虚的问题,后来换了安装的包,才成功了。
        乐百川:@被欺负的大白 谢谢,我看了一下,你这个比我这个更全面一点。等我有时间改一下

      本文标题:配置和美化Arch Linux

      本文链接:https://www.haomeiwen.com/subject/obaskttx.html