Linux 安装¶
内容简介
本节将之前一篇个人购买的小米 15 pro笔记本上安装 ArchLinux 的教程作为介绍Linux安装的范例。由于许多的 Linux 发行版都有图形化的安装界面,只要稍微具备一些计算机知识,加上搜索引擎帮助,安装完成难度不大。但是对于计算机、Linux和生物信息命令的学习来说,ArchLinux 这种命令行安装界面更有帮助。以此安装作为入门读物,希望对计算机和 Linux 学习有所帮助。
小米 pro 15.6 安装 ArchLinux¶
- 操作系统: ArchLinux
- WM: i3wm
- DM: none
选择小米 15.6 pro¶
仔细评估了自己的需求,横向比较了dell xps,华为mate,小米pro等几款笔记本。最终在看到小米新出的游戏本并不适合我之后,果断淘宝了小米 pro 15.6 低配版,5000以内可以拿下。个人的需求是一款和儿子共同使用的笔记本。自己主要做数据分析和开发用,同时教儿子编程,还可以玩玩简单的游戏。加上小米pro极简化的设计,非常符合个人的装逼风格,因此果断入手。曾经在新款小米13和15.6 pro中犹豫过,最终在散热+噪音 vs 便携性中妥协了前者。
如果要作为主要的生物信息学处理电脑,强烈建议将内存升级成16G,再自行添加硬盘。
硬件与软件¶
硬件配置:
- CPU i5 8250
- 内存 8G
- 硬盘 256G SSD
- 屏幕 15.6 1920x1080 IPS 72% 色域
软件配置:
- 操作系统 ArchLinux
- 窗口管理 i3-gaps
- 文件管理 ranger
- 音乐播放 mpd
- 视频播放 mpv
- 文本编辑 vim
- 图片查看 w3m
- 文档处理 wps/libreoffice
- 图形图像处理 wine+photoship/gimp
- 屏幕录制视频 ffmpeg
- 游戏 steam
吐槽:机器到手基本满意。屏幕左上角有一点漏光,考虑到我大部分是在终端下工作,基本没有影响。至于做工,总体感觉是模仿mac,但是由于成本受限只能做到大概。比如机器边缘的割手感相当强烈,奇怪怎么很少看到评测里有人提到这一点?由于我是直线控,对这一点目前表示可以接受。还有就是很多说说的B/C面缝隙的问题,如果是完美主义者对这一点会觉得很难受。但是日常使用中确实没有什么影响。使用才是第一位的。
BIOS过于简陋了。极简的外形设计点赞,但是内里也过于简单了,难道定位对象是女性等普通用户?起始小米pro配程序员还是挺合适的。
屏幕的优点是IPS 72% 色域的,确实非常亮丽。不过是镜面屏,这一点不太符合我的需求。另外分辨率是1920x1080,属于常规配置。15寸的4K屏幕确实显示非常细腻,有一种矢量般油画的感觉。但是4k的缺点是支持还不是很理想,我常用的一些 Java 软件必须用1.8的JRE,不支持4k显示,用起来会很麻烦。高清屏(1920x1080)虽然颗粒感还是比较明显,但是软件、投影等支持目前还说还是比4K更便利一些。
安装ArchLinux¶
小米的BIOS界面功能真是简单,看了一下拿到手的是0502版BIOS。在windows10里跑了ssd测试。BIOS 必须设置 supervisor password 才能将修改 secure boot 为 disabled。开机按F2进入BIOS,按F12选择引导设备。
开机按F12,选择U盘启动,进入Archlinux界面。插上一个大容量U盘,用来将原硬盘内容进行备份,以备将来需要恢复时使用。查看一下当前磁盘情况:
root@archiso~ # lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 squashfs /run/archiso/sfs/airrootfs
sda
-sda1 vfat BANQ C873-E5BF
sdb iso9660 ARCH_201803 2018-03-01-15-13-16-00
-sdb1 iso9660 ARCH_201803 2018-03-01-15-13-16-00 /run/archiso/bootmnt
-sdb2 vfat ARCHISO_EFI 8688-0060
nvme0n1
-nvme0n1p1 vfat SYSTEM E479-B82E
-nvme0n1p2
-nvme0n1p3 ntfs Windows 3ACC7A8CCC7A4265
-nvme0n1p4 ntfs Recovery image C2DE7AF4DE7ADFD9
当前版本的linux内核已经包含了驱动,不会出现nvme ssd硬盘找不到的情况。小米pro 256G SSD硬盘上有4个分区,分别时系统引导EFI分区,保留分区,win10分区和系统恢复分区。我想保留win10的recovery区,找一个U盘来备份分区到文件。
root@archiso~ # mkdir -p /backup
root@archiso~ # mount /dev/sda1 /backup
root@archiso~ # dd if=/dev/nvme0n4 of=/backup/mmipro_recovery.bin bs=64k conv=notrunc,noerror,sync status=progress
15680+0 records in
15680+0 records out
10276604480 bytes (1.0 GB, 908 MiB) copied, 0.697636 s, 1.5 GB/s
连接wifi网络,可以直接用wifi-menu,也可以用wpa_supplicant命令连接。连接成功后运行dhcpcd,就可以访问互联网络了。
# 用wifi-menu
root@archiso~ # wifi-menu
# 用wpa_supplicant
root@archiso~ # wpa_supplicant -i wlp2s0 -c <(wpa_passphrase "YourSSID" "YourKey") -B
# 连接网络
root@archiso~ # dhcpcd
root@archiso~ # ping -c 3 www.archlinux.org
考虑了很久要不要加密安装,由于是和孩子一起使用的,有加密狗的话可以限制小孩。但是考虑到可能存在的一些意外情况,安装就采用普通模式吧。对小孩的使用限制就从其他方面着手了。
运行 blkdiscard 清除硬盘,SSD上所有数据都会被清楚,请确认准备完成再执行。分区很简单,用fdisk或者parted都可以,喜欢图形化界面的可以用cgdisk。
# 擦除SSD数据
root@archiso~ # blkdiscard /dev/nvme0n1
# fdisk分区
root@archiso~ # fdisk /dev/nvme0n1
# 创建gpt分区表
Command (m for help): g
# 创建分区
Command (m for help): n
Partition number (1-128, default 1): 1
First sector (2048-500118158, default 2048): 2048
Last sector, +sector or +size{K,M,G,T,P} (2048-500118158, default 500118158): +512M
# parted 分区
root@archiso~ # parted /dev/nvme0n1
挂载/
和/boot
分区到/mnt
# 添加挂载boot的路径
root@archiso~ # mkdir /mnt/boot
root@archiso~ # mount /dev/nvme0n1p2 /mnt
root@archiso~ # mount /dev/nvme0n1p1 /mnt/boot
# 安装基础系统
root@archiso~ # pacstrap /mnt base base-devel
# 生成fstab
root@archiso~ # genfstab -U /mnt >> /mnt/etc/fstab
# chroot到新安装的系统中进行操作
root@archiso~ # arch-chroot /mnt /bin/bash
创建管理员密码,新建用户mark,并建立主用户目录和密码。将用户mark设置为wheel组,获得管理员权限。
以前版本的grub不支持nvme,不确定新版本或者grub-git是否可以完美支持,这里我们就不用grub引导了,直接用systemd-boot来引导系统。
# 安装efi
[root@archiso /]# bootctl install
[root@archiso /]# vim /boot/efi/entities/arch.conf
[root@archiso /]# vim /boot/efi/load.conf
分区时我们没有建立swap分区,因为在SSD中,更喜欢用文件方式使用swap,更为灵活。
# mkdir /swap
# fallocate -l 2G /swap/swapfile
# chmod 600 /swap/swapfile
# mkswap /swap/swapfile
# swapon /swap/swapfile
# echo "/swap/swapfile none swap defaults 0 0" >> /etc/fstab
安装 teminal 工具 urxvt¶
从剪贴板中粘贴内容到urxvt中,可以用 shift+insert,或者鼠标中键。从urxvt中复制,直接用鼠标选中即可。复制到其他程序时,只要使用鼠标中键即可。
# pacman -S xorg xorg-xinit libgl
# pacman -S rxvt-unicode urxvt-perls
# pacman -S linux-headers
# pacman -S sudo
# EDITOR=vim visudo
%wheel ALL=(ALL) ALL
添加当前用户,并赋予管理员权限。
字体设置¶
# 安装文泉驿、noto等中文字体
$ sudo pacman -S ttf-inconsolata wqy-microhei wqy-microhei-lite wqy-zenhei wqy-bitmapfont ttf-font-awesome ttf-arphic-ukai ttf-arphic-uming noto-fonts
$ sudo ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/
$ sudo unlink /etc/fonts/conf.d/10-scal-bitmap-fonts.conf
设置无线网络¶
安装 ArchLinux 过程中,我们用过 wifi-menu 工具连接了无线网络。进入安装完毕的系统,也可以以管理员运行 wifi-menu 连接,再运行 dhcpcd,即可上网。如果要启用网络服务,开机自动运行和连接,需要安装 NetworkManager
# 安装 NetworkManager
$ sudo pacman -S networkmanager
$ sudo systemctl enable NetworkManager
# 命令行下建立 wifi 连接
$ nmcli dev wifi connect "your-wifi-ssid" password "wifi-password"
# 通过终端图形界面设置
$ nmtui
设置音频输入输出¶
ArchLinux 的内核模块已经包含 ALSA,没有声音是因为默认设置成静音状态。控制声音,要安装相应的工具。
# alsa 工具
$ sudo pacman -S alsa-utils alsa-oss
# alsamixer 配置声音,通过ncurse界面。
# 输出Master下方如果显示是MM,则处于mute静音状态,按m键接触
$ alsamixer
# amixer 命令行声音设置,下面命令解除静音
$ amixer sset Master unmute
# 查看所有 mixer
$ amixer scontrols
声音配置文件,系统级的在/etc/asound.conf
,用户级的在~/.asound.rc
屏幕色彩矫正¶
ICC是1993年由包括Adobe、Apple、Kodak、Microsoft在内的数十家公司发起并成立的,全称是国际色彩联盟(International Color Consortium),简称ICC。这个组织的主要目标,就是要在各个设备、软件之间形成统一的色彩标准,即ICC标准。最终的目标就是让输入设备(如数码相机)、显示设备(如显示器)、输出设备(如打印机)能够自始至终得保证色彩被准确重现。
ICC借助于一个独立的色彩空间即设备色彩特征描述文件连接空间/参考空间(Profile Connection Space,缩写PCS)作为色彩空间转换的中间色彩空间,通过彩色设备色彩空间(RGB或CMYK)和PCS空间之间的联系为该设备建立设备特征描述文件(Profile),从而实现了对色彩的开放性管理,使得色彩传递不依赖于彩色设备。PCS空间是通过XYZ空间或LAB空间来定义的。ICC标准总共规定了7种特征描述文件Profile,其中包括:3种基本设备的特征描述文件Profile,即输入设备Profile文件、显示设备Profile文件和输出设备Profile文件;4个附加的特征描述文件Profile,即设备链接Profile、色彩空间转换Profile、抽象Profile和被命名色Profile
在 Mac 与 Windows 平台上,名称分别被自动加上 .icc 与 .icm 的配置文件扩展名。.icm 与 .icc 扩展名可以互换。
ArchLinux安装完后,默认的屏幕色温偏冷。可以用Win10的icc文件矫正。如果没有备份原有色彩文件,可以用下面方法来加载。相关内容参见这里。
## 可以用 edid-decode 来查看屏幕参数,小米pro的屏幕是京东方BOE
## 生产的。我的这块是2017年18周出品。不关心参数的话可以跳过这一步
$ git clone https://aur.archlinux.org/edid-decode-git.git
$ cd edid-decode
$ makepkg -si
$ edid-decode < /sys/class/drm/card0-eDP-1/edid
Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 09 e5 47 07 00 00 00 00 12 1b
version: 01 04
basic params: a5 22 13 78 02
chroma info: 1b bb a6 58 55 9d 26 0e 4f 55
established: 00 00 00
standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
descriptor 1: 9c 3b 80 36 71 38 3c 40 30 20 36 00 58 c2 10 00 00 1a
descriptor 2: fd 2d 80 0e 71 38 28 40 30 20 36 00 58 c2 10 00 00 1a
descriptor 3: 00 00 00 fe 00 42 4f 45 20 43 51 0a 20 20 20 20 20 20
descriptor 4: 00 00 00 fe 00 4e 56 31 35 36 46 48 4d 2d 4e 36 31 0a
extensions: 00
checksum: 30
EDID version: 1.4
Manufacturer: BOE Model 747 Serial Number 0
Made in week 18 of 2017
Digital display
8 bits per primary color channel
DisplayPort interface
Maximum image size: 34 cm x 19 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Display x,y Chromaticity:
Red: 0.6484, 0.3447
Green: 0.3339, 0.6162
Blue: 0.1503, 0.0576
White: 0.3105, 0.3349
Established timings supported:
Standard timings supported:
Detailed mode: Clock 152.600 MHz, 344 mm x 194 mm
1920 1968 2000 2230 hborder 0
1080 1083 1089 1140 vborder 0
+hsync -vsync
VertFreq: 60 Hz, HorFreq: 68430 Hz
Detailed mode: Clock 117.730 MHz, 344 mm x 194 mm
1920 1968 2000 2190 hborder 0
1080 1083 1089 1120 vborder 0
+hsync -vsync
VertFreq: 47 Hz, HorFreq: 53757 Hz
ASCII string: BOE CQ
ASCII string: NV156FHM-N61
Checksum: 0x30 (valid)
EDID block does NOT conform to EDID 1.4!
Missing name descriptor
Missing monitor ranges
没有备份icc文件的话,可以在这里下载。通过.xinitrc用户级方式在进入桌面系统并加载。
# 备份icm文件,安装xcalib
$ wget https://www.notebookcheck.net/uploads/tx_nbc2/BOE_CQ_______NV156FHM_N61.icm
$ sudo cp BOE*.icm /usr/local/share/color/icc/BOE_CQ_NV156FHM_N61.icm
$ git clone https://aur.archlinux.org/xcalib.git
$ cd xcalib
$ makepkg -si
$ echo "/usr/bin/xcalib -d :0 /usr/local/share/color/icc/BOE_CQ_NV156FHM_N61.icm" >> ~/.xinitrc
键盘按键设置¶
安装完成后,会发现键盘功能键没有启用。用xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }'
测试发现实际上是Fn+F112默认设置成了F1~12功能。这在一些笔记本中BIOS可以改。小米笔记本如果要在F1~12和Fn+F1F12之间切换,只要按下Fn+Esc即可。
F1-F12对应按键:
- F1 121
- F2 122
- F3 123
- F4 232
- F5 233
- F6 133
- F7
- F8
- F9
- F10
- F11 107
- F12 118
控制屏幕亮度,xbacklight不起作用,使用light控制
$ sudo pacman -S light
## eidt in .config/.i3/config
bindsym XF86MonBrightnessUp exec light -A 10
bindsym XF86MonBrightnessDown exec light -U 10
## 如果想查看当前亮度
$ light -G
控制声音,这里使用amixer(pactl for pulseAudio)
## edit in .config/.i3/config
bindsym XF86AudioRaiseVolume exec amixer set Master 10%+
bindsym XF86AudioLowerVolume exec amixer set Master 10%-
bindsym XF86AudioMute exec amixer set Master toggle
避免电源按钮误触,进行以下设置。
$ sudo echo "HandlePowerKey=ignore" >> /etc/systemd/logind.conf
## edit in .config/i3/config
bindsym --release XF86PowerOff mode "$power"
set $power Say Goodbye? [L]ogout | [S]hutdown | [C]ancel
mode "$power" {
bindsym l exec i3-msg exit
bindsym s exec systemctl poweroff
bindsym c mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
设置触摸板¶
$ sudo pacman -S xf86-input-libinput
$ sudo vim /etc/X11/xorg.conf.d/20-touchpad.conf
Section "InputClass"
Identifier "libinput touchpad"
Driver "libinput"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "Tapping" "on"
Option "ClickMethod" "clickfinger"
Option "NaturalScrolling" "true"
EndSection
安装 i3-gaps¶
安装polybar¶
# 安装无线 wifi 支持
$ sudo pacman -S wireless_tools
# 安装 mpd 支持
$ sudo pacman -S libmpdclient mpd
#
$ git clone https://
$ makepkg -si
安装常用软件¶
# 安装浏览器
$ sudo pacman -S chromium firefox pepper-flash ttf-liberation
# 安装 git
$ sudo pacman -S git-core
# 安装 python3 以及 python 虚拟环境
$ sudo pacman -S python python-pipenv
安装文件管理器¶
我们用 ranger 来做为文件管理器。
中文输入¶
# 安装 fcitx
$ sudo pacman -S fcitx
$ vim ~/.xinitrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
# 安装 im 和拼音输入法
$ sudo pacman -S fcitx-im
$ sudo pacman -S fcitx-googlepinyin
# 个别版本的 wps 需要在启动脚本中加入 export QT_IM_MODULE=fcitx 才能使用输入法。
科学上网¶
修复 sslocal 与 openssl 1.1 冲突,修复方式参见这里
$ cd /usr/lib/python3.6/site-packages/shadowsocks/crypto/
$ sudo cp openssl.py openssl.py.bak
$ sudo sed 's/EVP_CIPHER_CTX_cleanup/EVP_CIPHER_CTX_reset/g' openssl.py > openssl.py
使用shadowsocks,设置开机自动运行
## 用户级 shadowsocks
$ sudo sslocal -c ~/.config/shadowsocks/server.json -d start --user mark
## 设置开机自动运行系统级shadowsocks,所有人都可以使用
$ sudo mkdir /etc/shadowsocks
$ sudo ln -s ~/.config/shadowsocks/server.json /etc/shadowsocks/
$ sudo vim /etc/systemd/system/sslocal.service
[Unit]
Description=Daemon to start Shadowsocks Client
Wants=network-online.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/server.json --pid-file /var/run/sslocal.pid --log-file /var/log/sslocal.log
[Install]
WantedBy=multi-user.target
## systemd 设置
$ sudo systemctl enable sslocal.service
$ sudo systemctl start sslocal.service
$ sudo systemctl stop sslocal.service
设置浏览器插件
## SwitchyOmega for Chromium
$ wget https://www.switchyomega.com/static/file/v2.5.6/SwitchyOmega_Chromium.crx
$ 7z x SwitchyOmega_Chromium -r
chromium://extensions
Developer mode
load extensions packs
## SwitchOmega for Firefox
$ wget https://www.switchyomega.com/static/file/v2.5.6/SwitchyOmega_Firefox.fx.xpi
about:addons
Install Add-ons From File
本地开启bbr,上传数据(如视频)防阻塞。
## 开启 bbr
$ sudo echo "net.core.default_qdisc=fq" >> /etc/sysctl.d/233-bbr.conf
$ sudo echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/233-bbr.conf
$ lsmod | grep bbr
tcp_bbr 20480 1
双显卡设置与游戏¶
小米pro15.6双显卡分别是HD620和MX150。后者有2G显存。电脑还是以工作为主,偶尔和儿子玩一玩游戏。小米pro 15.6的BIOS里没有可以选择的显卡,因此无法单独禁用某个显卡。我们采用双显卡用optimus交火来在应用和能耗中寻找平衡。
$ sudo pacman -S bumblebee
# 添加当前用户到组 bumblebee
$ sudo gpasswd -a `whoami` bumblebee
$ sudo systemctl enable bumblebeed.service
# test bumblebee
$ optirun glxgears -info
## 安装 steam
$ vim /etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
$ sudo pacman -Syu
$ sudo pacman -S steam
右键点击游戏-> Properties,添加参数 primusrun
电源管理¶
设置用户目录路径¶
# 路径可以设置成自己喜爱的方式
$ sudo pacman -S xdg-user-dirs
$ vim ~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/desktop"
XDG_DOCUMENTS_DIR="$HOME/documents"
XDG_DOWNLOAD_DIR="$HOME/downloads"
XDG_MUSIC_DIR="$HOME/musics"
XDG_PICTURES_DIR="$HOME/pictures"
XDG_PUBLICSHARE_DIR="$HOME/public"
XDG_TEMPLATES_DIR="$HOME/templates"
XDG_VIDEOS_DIR="$HOME/videos"
# 更新路径目录
$ xdg-user-dirs-update
办公软件 wps¶
# 添加 archlinux cn 源
$ sudo echo "[archlinuxcn]" >> /etc/pacman.conf
$ sudo echo "Server = http://repo.archlinuxcn.org/$arch" >> /etc/pacman.conf
$ sudo pacman -Syu
$ sudo pacman -S archlinuxcn-keyring
$ sudo pacman -S wps-office ttf-wps-fonts
# $ git clone https://aur.archlinux.org/ttf-ms-fonts.git
# $ cd ttf-ms-fonts && makepkg -si
蓝牙¶
通过配置,大约在中断蓝牙连接30秒后才能自动链接上。
$ sudo pacman -S bluez bluez-utils
$ sudo modprobe btusb
$ sudo systemctl enable bluetooth.service
# 添加当前用户到组lp
$ sudo gpasswd -a `whoami` lp
# 启动 bluetoothd
$ sudo systemctl start bluetooth.service
# 确认 hci0 是否被rfkill关闭
$ rfkill list
# 链接 blue 设备
$ bluetoothctl
Agent registered
[bluetooth]
# 开机蓝牙自动开启,并且自动连接之前握手成功的蓝牙鼠标。
$ sudo vim /etc/bluetooth/main.conf
Name=BlueZ
Class=0x0000010c
DiscoverableTimeout=30
Cache=always
ReconnectUUIDs=
RecommectAttempts=7
ReconnectIntervals=1,2,4,8,16,32,64
AutoEnable=true
Conda and Bioconda¶
采用 conda 管理生物软件
# 下载安装 conda
$ cd /tmp
$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ sh Miniconda3-latest-Linux-x86
...
# 设置路径,个人一般设置为 $HOME/.conda
$ conda config --add channels defaults
$ conda config --add channels conda-forge
$ conda config --add channels bioconda
Music 播放¶
命令行下的音乐播放器众多,比较符合个人喜欢的是cmus/nm
指纹识别¶
用fprintd
验证时,需要将右手食指划第一节慢慢滑过sensor(2秒左右)5次。实际使用下来,小米的Linux指纹识别效果不如Win10,可能需要新版本的fprint,目前不建议开启。
## Archlinux 源里的版本还不支持 Elan。github下载最新源代码
## 支持了小米pro 04f3:0c1a 的 Elan Microeletronics 指纹识别器。
$ git clone https://github.com/iafilatov/libfprint
$ cd libfprint
$ ./autogen.sh
$ ./autoconfigure
$ make && sudo make install
$ sudo ln -s /usr/local/lib/libfprint.so.0 /usr/lib
## 不安装 libfprint 依赖
$ sudo pacman -Sdd fprintd
## 确认fprintd.service正常运行,如果failed,用`systemctl status fprintd`查看问题
$ systemctl | grep fprinted.service
## 修改登录验证机制,如果顺序是fprintd在前,则登录时先用finger验证
$ sudo vim /etc/pam.d/system-local-login
auth sufficient pam_fprintd.so
auth include system-login
## 建立指纹并验证
$ fprintd-enroll
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed
## 验证过程,看到veryify-match即表示验证通过
$ fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
- #0: right-index-finger
Verify result: verify-match (done)
## 重启,由于我没有用 Display manager,用xinit startx来启动i3,
## 所以console界面输入用户名后就会提示“滑动手指验证指纹登录”
$ reboot
## i3lock指纹解锁有一个问题在于需要输错1次密码后才能正常指纹解锁。
## 可能需要 xss-lock 等其他方法解决
$ sudo pacman -S i3lock
$ sudo vim /etc/pam.d/i3lock
auth include login
## 总结:
## 小米的 Elan 指纹识别器面积太小,导致libfprint需要滑动才能识别,
## 另外感觉指纹识别速度不是特别敏锐,扫完指纹需要0.5s左右才能解锁。
## 总体上来说,可用性不是太高。个人感觉不如摄像头人脸识别可用性更高...
i3lock 参见这里
摄像头¶
摄像头默认配置好可以直接使用
Wine¶
$ sudo pacman -S wine wine-mono wine-tricks wine_gecko
$ WINEPREFIX=$HOME/.wine wineboot -u
$ WINEARCH=win64 WINEPREFIX=$HOME/.wine64 winetricks fontsmooth=rgb gdiplus vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 atmlib msxml3 msxml6 gdiplus corefonts
Photoshop¶
安装的版本是:Adobe Photoshop CC 2018 v19.1.3.49649,基本能正常使用,个别菜单显示不正常。
$ wget http://209.126.105.33/DownloadBull/Portable_Adobe_Photoshop_CC_2018_v19.0.0.165_x64.zip
$ 7z e Portable_Adobe_Photoshop_CC_2018_v19.0.0.165_x64.zip
$ wine64 PhotoshopPortable.exe
美化字体设置¶
!!! warning: "本节内容更新" 随着更新,不建议使用infinality来渲染字体。
许多发行版如Ubuntu优化过字体渲染效果,而 ArchLinux 从头安装的话需要自己来配置。对于普通人来说这是一个复杂而痛苦的过程,那么最简便的方法就是直接安装 Infinality 套装获得现成的字体优化渲染设置。Infinality 是一个 Freetype 的修改版,在 Linux 下提供更好的字体渲染效果,并拥有简便的定制特性。它设置了其他操作系统的字体风格6,可以方便的切换。
安装 fontconfig-infinality-ultimate
## 安装 freetype2-infinality
$ sudo pacman -R freetype2
$ gpg --keyserver pgp.mit.edu --recv-keys C1A60EACE707FDA5
$ git clone https://aur.archlinux.org/packages/freetype2-infinality/
$ cd freetype2-infinality && makepkg -si
## 安装 fontconfig-infinality-ultimate
## 先卸载 fontconfig
$ sudo pacman -R fontconfig
$ git clone https://aur.archlinux.org/fontconfig-infinality-ultimate.git
$ cd fontconfig-infinality-ultimate && makepkg -si
屏幕保护和锁屏¶
如果用 xscreensaver 构建
网络工具¶
ArchLinux 的 net-tools 已经默认 deprecated,原来常用 netstat 命令有新代替工具。
vim && Python IDE¶
# 设置 vim 配置
$ mv ~/.vim ~/.vim.old
$ sudo pacman -S python-neovim
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/jarolrod/vim-python-ide/master/setup.sh)"
## 安装 nerd 字体
$ git clone https://aur.archlinux.org/nerd-fonts-complete.git
$ cd nerd-fonts-complete && makepkg -si
$ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell
$ echo 'BASE16_SHELL=$HOME/.config/base16-shell/' >> ~/.bashrc
$ echo '[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)"' >> ~/.bashrc
设置
# add these line into .vimrc
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
图标美化¶
# 使用 numix 套件,也可以选择自己喜欢的theme
$ sudo pacman -S numix-icon-theme-git numix-circle-icon-theme-git numix-gtk-theme
动态壁纸¶
Linux 下可以用 xwinwraper 之类的工具将视频或 Gif 动态图片作为壁纸,达到动态桌面的效果。当然代价是牺牲一些CPU和内存。
- 设置compton
- 设置xwinwrap
- 准备视频文件:建议使用延时摄影或
# 下载 youtube 视频
$ youtube-dl --proxy `socks server` -F `URL`
$ youtube-dl --porxy `socks server` -f 137 `URL`
run_wallpaper.sh 脚本内容
打印机¶
使用CUPS管理打印机。