archlinux安装方法总结

重启之前

从使用archlinux起快三年了吧,安装步骤基本没什么变化,而这次应该是史无前例。怎么说呢,arch变的更好了,因为从安装上就能看出arch更加简化其基础系统了,这也是arch的初衷,给用户最大的选择。这一次连内核都是可选项目了,firmware,dhcpcd,nano等许多都是要自己手动选择的。不过这次我的安装并不是那么顺利,问题可能在于显卡驱动吧,或者我少安装了一些必要的软件吗?然后加上xmonad这次也在升级,导致我的topbar的配置也不起作用了。两个事情叠在一起真的是有点头疼。

在基础系统的安装方面

按照archwiki上的步骤就足够了,为什么不写,因为发现步骤变了,所以没有一个特定的方法。

1
pacman -S wpa_supplicant dialog netctl dhcpcd

在安装dhcpcd的时候会有一个选择项,需要选择默认的,否则连接网络会出错

连接网咯:

这里用到了dhcpcd来获取动态ip,同时使用了netctl(wifi-menu是其中一个组件)网络管理器,netctl同样可以设置静态ip(没有选择标配的NetworkManager大块头,因为我一个用WM的安装它没多大必要。当然了如果是安装DE的话,这个还是标配)

1
sudo wifi-menu

连接成功后,会在/etc/netctl目录下生成对应的连接配置文件。

1
2
cd /etc/netctl
netctl enable 连接的配置文件名 #这里需要写文件名,而不是路径

这样就可以自动连接了。

设置静态ip:

同样使用netctl网络管理器来设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#netctl网络管理软件的example目录下包括了配置文件模板,复制过去再修改即可
sudo cp /etc/netctl/examples/wireless-wpa-static /etc/netctl
#修改为如下即可,需要注意的地方是ip后面必须接一个/24,否则可能连接不上
Description='A simple WPA encrypted wireless connection using a static IP'
Interface=wlo1
Connection=wireless
Security=wpa
ESSID='wifi名字'
Key='thepasswd'
IP=static
Address='192.168.0.104/24'
Gateway='192.168.0.1'
DNS=('114.114.114.114')

#修改完配置文件之后就是需要让它生效并自动启动了,由于之前已经配置了自动启动另一个wifi连接,所以需要将另外一个禁用,否则会报错
netctl disable 之前的wifi配置文件名
netctl enable wireless-wpa-static
#然后可以重启服务,或者重启电脑
netctl restart wireless-wpa-static

重启之后

由于很多东西base都不提供了,连man手册都没有

1
2
3
4
sudo pacman -S vim			#喜欢的编辑器,vi不默认提供,反正我也不用
sudo pacman -S man #安装了才能用man命令
sudo pacman -S sudo #安装了才能用sudo命令
sudo pacman -S fish #shell,尝试这个,不按照zsh了

.vimrc配置文件复制到~/下,其它扩展复制到~/.vim

fish的配置,基于网页的配置

1
fish_config

用了几天的fish之后发现还是zsh比较适合我,主要原因就是fish的shell语法和bash,zsh这些差异太大了,而我还是用通用的吧,所以还是用zsh了。

1
sudo pacman -S zsh oh-my-zsh-git

修改grub theme

可以去网上下载gnomelook.org,或者安装本地已经下载好的,主题名字:arch-silence-master

1
2
3
4
5
6
7
unzip arch-silence-master.zip					#解压
sudo mv arch-silence-master /boot/grub/theme/ #移动到theme目录下
sudo vim /etc/default/grub #配置文件位置
# 修改为如下:
GRUB_THEME="/boot/grub/themes/arch-silence-master/theme/theme.txt"
#上面的配置文件修改好了就可以使用grub-mkconfig命令生成gurb.cfg配置文件
sudo grub-mkcofig -o /boot/grub/grub.cfg

开启boot message

现在grub默认关闭了boot message,启动之后就看不到加载的一些信息,可以开启它

1
2
3
4
5
6
7
8
#同样是在gurb的配置文件中修改
sudo vim /etc/default/grub
#默认设置为了这个
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
#将quiet去掉即可,loglevel分为0-7个等级,7是最为详细的debug信息
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3"
#最后重新生成配置文件(其实也可以直接在配置文件中改,但是下次生成的时候会覆盖修改的地方)
sudo grub-mkconfig -o /boot/grub/grub.cfg

添加用户,加入组

1
2
3
groupadd sudo				#添加sudo组
vim /etc/sudoers #取消sudo前面的注释
useradd -m -G sudo -s /usr/bin/fish narcissus

安装显示服务

1
2
3
4
5
6
7
sudo pacman -S xorg-server		#安装xorg
sudo pacman -S xf86-video-vesa #发现intel或者invidia都很卡,只能用这个
sudo pacman -S pulseaudio pulseaudio-alsa #声音驱动
sudo pacman -S xorg-xinit #安装了才能用startx进入GUI
sudo pacman -S xorg-xbacklight #安装了才能调节屏幕亮度,但是我发现这个我也用不了了
#手动调节背光
vim /sys/class/backlight/intel_backlight

后来发现好多东西都缺,所以干脆一次性把xorg全安装了(全部安装也才100M不到)

1
sudo pacman -S xorg

安装窗口管理器

简简单单的就好,不需要桌面环境,gnome虽然豪华,但是耗资源

1
2
3
4
5
#我发现现在这个也有问题,之前的配置有问题了,不知道是不是因为升级了版本0.15的原因
sudo pacman -S xmonad xmonad-contrib
sudo pacman -S xterm #xmonad默认使用xterm,需要安装
#将xterm的配置文件.Xresources复制到~/下
xrdb ~/.Xresources #使配置生效

复制xmonad配置文件然后编译

1
2
.xmonad/xmonad.hs		#配置文件位置
xmonad --recompile

设置登录xmond

1
2
cp /etc/X11/xinit/xinitrc ~/.xinitrc	#复制配置文件
exec xmonad #添加启动xmonad

进入桌面环境

1
startx				#进入xmonad

pacman下载命令结果颜色显示

1
sudo vim /etc/pacman.conf #uncomment color,让pacman搜索出来的结果显示颜色

添加镜像服务器

1
2
3
## 添加china服务器(网易),这样下载速度快一些,而且可以用国内的仓库中的软件
[archlinuxcn]
Server = https://mirrors.163.com/archlinux-cn/$arch

安装keyring

1
sudo pacman -S archlinuxcn-keyring

安装aur下载软件yay

1
sudo pacman -S yay

下载常用软件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sudo pacman -S screenfetch	#查看系统参数
sudo pacman -S htop #资源管理器
sudo pacman -S feh #查看图片,设置桌面背景图

sudo pacman -S ranger #终端文件浏览器,图片是基于w3m显示的
sudo pacman -S w3m #终端浏览器,安装这个后ranger才能显示图片

sudo pacman -S typora #markdown编辑器

sudo pacman -S firefox #浏览器
sudo pacman -S wqy-microhei #浏览器显示中文

sudo pacman -S openssh #使用ssh远程连接服务器
sudo pacman -S mplayer #视频软件

sudo pacman -S baidupcs-go #百度云终端下载软件,不限速

sudo pacman -S netease-cloud-music #网易云播放器

sudo pacman -S ttf-iosevka #安装字体
sudo pacman -S flameshot #安装截图软件
sudo pacman -S unzip #解压软件zip格式

sudo pacman -S dbeaver #数据库sql
1
2
3
4
5
6
7
8
sudo pacman -S obs-studio	#录屏软件
libfdk-aac: FDK AAC codec support
libxcomposite: XComposite capture support [installed]
libva-intel-driver: hardware encoding
libva-mesa-driver: hardware encoding
luajit: scripting support
python: scripting support [installed]
vlc: VLC Media Source support

安装输入法:

安装google拼音输入

发现搜狗输入法太矫情,明明就是按照文档步骤走的,可是总有点问题,所以安装google输入法了

1
sudo pacman -S fcitx fcitx-configtool fcitx-im fcitx-googlepinyin

添加配置文件,这个文件很重要,如果没有它,那么在terminal中用不了中文输入(包括vim中)

1
2
3
4
vim ~/.pam_environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

添加启动命令

1
2
vim ~/.xinitrc
fcitx >/dev/null 2>&1 &

还是搜狗输入法好用啊

我好像打脸了,用了几天的google输入法,又想念搜狗输入法的联想和记忆输入了。不是搜狗输入法矫情,是我的问题,我承认是我的问题:)

这也是第一次发现wiki需要更新了啊,在关于汉语输入法这里真的需要更新一下了,因为发现fcitx-qt4被移出了fcitx-im包。同时fcitx被这个fcitx-lilydjwg-git取代了。

1
2
3
4
5
6
#安装wiki上说的安装fcitx-im就应该包含qt4的,其实之前安装的时候本来就又qt4的,只是现在没了
narcissus ~> sudo pacman -S fcitx-im
:: There are 4 members in group fcitx-im:
:: Repository community
1) fcitx 2) fcitx-gtk2 3) fcitx-gtk3 4) fcitx-qt5
#之前没有注意看,确实少了一个qt4的包

所以从这里开始才是搜狗输入法的正确安装方法:

1
2
3
4
5
6
7
8
sudo pacman -S fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5
resolving dependencies...
looking for conflicting packages...
warning: removing 'fcitx-gtk2' from target list because it conflicts with 'fcitx-lilydjwg-git'
warning: removing 'fcitx-gtk3' from target list because it conflicts with 'fcitx-lilydjwg-git'
:: fcitx-lilydjwg-git and fcitx are in conflict. Remove fcitx? [y/N] y

Packages (3) fcitx-4.2.9.7-1 [removal] fcitx-lilydjwg-git-2:4.2.9.7.20191107-1 fcitx-qt5-1.2.3-11
1
sudo pacman -S fcitx-sogoupinyin fcitx-configtool

然后打开fcitx-configtool将搜狗输入法加入

1
2
3
4
5
#添加环境变量这里写到了本地,也可以写入系统环境变量/etc/environment
vim ~/.pam_environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
1
2
3
#加入xinit启动
vim ~/.xinitrc
fcitx >/dev/null 2>&1 &

最后需要退出登录或者重启一下,就可以使用搜狗输入法了

禁用触摸板,碍事

1
sudo pacman -S xorg-xinput

添加启动自动禁用

1
2
vim .xinitrc
xinput disable 14
1
xinput enable 14		#想要启动也很简单

设置鼠标样式为指针

1
sudo pacman -S xorg-xsetroot
1
2
vim .xinitrc
xsetroot -cursor_name left_ptr

挂载ntfs格式文件时让普通用户有权限

1
2
3
sudo pacman -S ntfs-3g		#标准挂载ntfs格式文件
eg:
sudo mount -t ntfs-3g /dev/sda1 /mnt

安装终端复制软件(剪切板)

1
2
3
4
sudo pacman -S xclip
使用eg:
echo "some text" | xclip
xclip -o

安装xmonad的其它必须配件

其实也不是必须配件,只是我的配置都是基于下面这些的,不安装有些功能都没有,所以也勉强算个三件套吧

状态栏:polybar

1
2
sudo pacman -S polybar
sudo pacman -S awesome-terminal-fonts #安装这个之后才能显示图标

然后将配置文件复制到对应目录

1
.config/polybar/config

添加自动启动

1
2
vim .xinitrc
polybar mybar >/dev/null 2>&1 &

搜索软件

1
sudo pacman -S rofi

安装渐变及设置透明效果的软件

1
sudo pacman -S compton

添加自动自动

1
2
vim .xinitrc
compton >/dev/null 2>&1 &

使用shoadowsocks上google

安装shadowsocks代理以及proxychains协议转换

1
sudo pacman -S proxychains-ng shadowsocks

修改proxychains配置文件

1
2
3
sudo vim /etc/proxychains.conf
#socks4 127.0.0.1 9050 #注释
socks5 127.0.0.1 1080 #添加

添加本地域名解析

1
2
3
4
sudo vim /etc/hosts
#添加
104.31.74.55 youneed.win
104.31.74.54 www.youneed.win

添加脚本变量路径

1
2
vim .xinitrc
export PATH=$PATH:~/.local/bin

~/.local/bin下建立软链接,指向脚本

1
2
cd ~/.local/bin
ln -s ~/Documents/script/shell/shadowshocks.sh sslink

运行脚本启动代理

1
2
proxychains firefox		#浏览器代理
proxychains bash #终端代理

安装终端翻译软件

这两个脚本(manual,translate)都有声音,要使用amixer命令

1
2
sudo pacman -S alsa-utils		#安装之后可以使用amixer命令
sudo pacman -S ydcv-rs-git

并将脚本translate复制到~/.local/bin

1
2
3
4
5
6
7
8
9
10
11
12
#脚本:
#!/bin/bash
#翻译单词并拼读出来
#author:narcissus

#获取系统音量大小
volume=`amixer sget Master | tr -d '[a-zA-Z][:punct:]' | awk '{print $2}' | sed -n '$p'`
#通过在线语音拼读
mplayer -volume ${volume} http://dict.youdao.com/dictvoice\?audio\=${1} >/dev/null 2>&1

#通过ydcv程序来对单词进行翻译
ydcv ${1}

安装网页下载工具,并实现终端在线命令

1
sudo pacman -S curl

将脚本manual复制到~/.local/bin

1
2
3
4
5
6
7
#脚本:
#!/bin/bash

#ps:之前使用的是help命名的,但是fish shell中的帮助信息为help与这个脚本名冲突了,所以改为了manual
curl cht.sh/${1}
volume=`amixer sget Master | tr -d '[a-zA-Z][:punct:]' | awk '{print $2}' | sed -n '$p'`
mplayer -volume ${volume} http://dict.youdao.com/dictvoice\?audio\=find%20following%20commands%20of%20${1} >/dev/null 2>&1

安装virtualbox

1
2
3
4
5
6
7
8
9
10
#由于使用的是linux内核,所以选择virtualbox-host-modules-arch 
sudo pacman -S virtualbox virtualbox-host-modules-arch

#可选安装组件
Optional dependencies for virtualbox
vde2: Virtual Distributed Ethernet support
virtualbox-guest-iso: Guest Additions CD
image
virtualbox-ext-vnc: VNC server support
virtualbox-sdk: Developer kit

在启动虚拟机之前,需要加载模块

1
modprobe vboxdrv

启动virtualbox的几种方式:

1.GUI图形界面的启动,这也是大部分时候都在使用的方式,即运行virtualbox软件

2.命令启动,即使用命令无界面启动。后来发现这种方式启动和xmonad很搭,因为不会存在热键冲突的问题,那么xmonad中的所有窗口操作的快捷键依然有效。大爱啊

1
vboxsdl --startvm 'kali linux'		#由于系统名字中有空格,所以要使用引号

3.同样是命令启动,但这种大多数时候是作为服务器使用的方式,即没有任何界面,只能通过ssh去连接主机(就像在windows中使用xshell一个意思)

1
vboxheadless -s 'kali linux'

蓝牙安装配置

1
2
3
# 安装软件:
sudo pacman -S bluez #提供协议
sudo pacman -S bluez-utils #提供bluetoothctl组件

查看内核是否加载btusb驱动

1
lsmod | grep btusb

没有的话手动加载

1
sudo modprobe btusb

启动蓝牙服务

1
sudo systemctl start bluetooth.service

开始连接

1
2
3
4
5
6
7
bluetoothctl		#控制界面
agent on
power on #每次启动都要设置,因为关闭后会自动断电
scan on #扫描
pair 设备mac地址 #匹配
connect 设备mac地址 #连接
trust 设备mac地址 #加入信任

安装声音支持

1
sudo pacman -S pulseaudio-bluetooth

解决xorg问题

自从安装系统之后就发现一个问题,那就是xorg每次启动都要花个20多秒。所以首先是查看日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#xorg的日志在家目录下
vim .local/share/xorg/Xorg.0.log
#然后查看EE报错的地方,发现每次都是在启动nouveau驱动的时候卡了20多秒,然后启动失败了
#原因是我没有安装nouveau驱动,没有安装的原因就是安装之后启动倒是挺迅速的,但是退出xorg之后,或者想要关机的时候就会卡住。
#我想为什么就不能让它不去检测这个驱动呢?终于google到了答案:就是强制让xorg使用intel显卡,而忽略n卡

cd /etc/X11/xorg.conf.d/
touch nonvidia.conf
#添加如下代码:
Section "Device"
Identifier "Intel Card"
Driver "intel"
EndSection

Section "Device"
Identifier "Nvidia Card"
Driver "nouveau"
EndSection

Section "Screen"
Identifier "My Screen"
Device "Intel Card"
EndSection

然后reboot,startx,果然一下子就打开了图形界面,虽然查看了一下日志,依然有报错,但是它直接跳过之后的等待以及检测了。以上介绍在wiki上也有讲,只是我不知道咋写啊。这也算是基本完成了系统安装以及之后的错误修复了吧!

安装系统之后博客迁移

安装必要软件

1
2
3
4
5
6
7
#这些都要安装
sudo pacman -S git nodejs npm
sudo npm install -g hexo-cli
npm install --save hexo-deployer-git
npm audit fix
npm audit fix --force
npm install hexo-generator-searchdb --save

当然我又安装了这个加密插件,结果我错了

1
npm install --save hexo-blog-encrypt	#然后我哭了

搞了半天老是报错,什么tostring不能为空,我的密码明明有啊,查看了一下js配置文件,发现确实有password.tostring()这个

然后我用数字做密码试了一下不报错,但是我之前加密的文章全部没加密了?我觉得这是一个bug,至少前面应该做一下判断。所以去你的加密,索性不用了,然后一切都好了。

1
2
ssh-keygen
cat ~/.ssh/id_rsa.pub

然后在github设置中将sshkey添加进去

当然这后面还有两步,如果没有这两步,推送的时候会提示的

1
2
git config --global user.email "2935549510@qq.com"
git config --global user.name "narcissus"

再编译,推送

1
2
hexo g
hexo d

好了,先到这了。累了啊,心累。现在的生活怎么说呢,不能让自己停下来,要一直忙的没有心思去想,可是有时候还是在想做这一切又是为了什么呢?生活中总有很多事情让人觉得不满意,不顺心。之前总有一种错误的想法,那就是做it的人呢都是和我一样的,没有什么其它的想法,能想到的无非就是技术,最多还包括女朋友吧。可是我发现并不是这样,人呢,在哪里都是形形色色的。听别人说这个人有点凶,说话确实是这样,但是后来发现这人倒是挺直爽。另一个人看上去笑眯眯的很和蔼,可是却在背地里说你的坏话。人呢,果真是相处久了才了解啊。我应该是很冷的那种人,因为我相信用心感受到的比用眼睛更加真实。