前言 最近翻出了一台早年DIY台式机,配置Z170主板 + i5-6500 + 32G内存 + 500G NVME,运行Windows 11性能已经力不从心,所以试着给它安装Linux系统看看能否当作办公机发挥余热。
Linux发行版选择了EndeavourOS ,它可以看作是提供了图形化安装界面以及预装了桌面环境的Archlinux ,所以当作Archlinux毫无问题。嗯,我是一名自豪的Arch用户了~
换国内源 直接使用清华大学的Archlinux软件仓库即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 cat /etc/pacman.d/mirrorlist Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo /os/$arch sudo pacman -Syu
安装配置雾凇拼音 全拼用户没有特殊需求雾凇拼音已经很好用,至于五笔等形码输入法Linux下也有完整实现,比如98五笔 。想要全拼、双拼、五笔等方案共存的可以尝试薄荷输入法 。
1 2 3 4 sudo pacman -S paru fcitx5-rime fcitx5-configtoolcd ~/.local/share/fcitx5rm -rf ./rime git clone https://github.com/iDvel/rime-ice.git rime --depth 1
这里记得重启一次系统。
安装配置字体 安装字体 1 2 sudo pacman -S noto-fonts inter-font noto-fonts-cjk noto-fonts-emoji ttf-sarasa-gothic paru -S ttf-wps-fonts freetype2-wps wps-office-fonts
其他字体可以通过KDE自带的Font Management
方便导入。
配置字体 抄袭自Linux 下的字体调校指南 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 $ cat ~/.config/fontconfig <?xml version='1.0' ?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd' > <fontconfig> <match target="font" > <edit mode="assign" name="rgba" > <const>rgb</const> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <const>hintslight</const> </edit> </match> <match target="font" > <edit mode="assign" name="antialias" > <bool>true </bool> </edit> </match> <!-- Map fonts that are commonly used by web pages to our preferred fonts --> <match target="pattern" > <test qual="any" name="family" ><string>Arial</string></test> <edit name="family" mode="assign" binding="same" ><string>sans-serif</string></edit> </match> <match target="pattern" > <test qual="any" name="family" ><string>Liberation Sans</string></test> <edit name="family" mode="assign" binding="same" ><string>sans-serif</string></edit> </match> <match target="pattern" > <test qual="any" name="family" ><string>Liberation Mono</string></test> <edit name="family" mode="assign" binding="same" ><string>monospace</string></edit> </match> <!-- Default font for the zh_CN locale (no fc-match pattern) --> <match> <test compare="contains" name="lang" > <string>zh_CN</string> </test> <edit mode="prepend" name="family" > <string>Noto Sans CJK SC</string> </edit> </match> <!-- Default sans-serif font --> <match target="pattern" > <test qual="any" name="family" > <string>sans-serif</string></test> <edit name="family" mode="prepend" binding="same" > <string>Inter</string> </edit> </match> <!-- Default serif fonts --> <match target="pattern" > <test qual="any" name="family" > <string>serif</string> </test> <edit name="family" mode="prepend" binding="same" > <string>Noto Serif</string> </edit> </match> <!-- Default monospace fonts --> <match target="pattern" > <test qual="any" name="family" > <string>monospace</string> </test> <edit name="family" mode="prepend" binding="same" > <string>Sarasa Term SC</string> </edit> </match> <!-- Fallback fonts preference order --> <alias > <family>sans-serif</family> <prefer> <family>Inter</family> <family>Noto Sans CJK SC</family> <family>Noto Sans CJK TC</family> <family>Noto Sans CJK JP</family> <family>Noto Sans CJK KR</family> <family>Noto Color Emoji</family> <family>Noto Emoji</family> </prefer> </alias> <alias > <family>serif</family> <prefer> <family>Noto Serif</family> <family>Noto Serif CJK SC</family> <family>Noto Serif CJK TC</family> <family>Noto Serif CJK JP</family> <family>Noto Serif CJK KR</family> <family>Noto Color Emoji</family> <family>Noto Emoji</family> </prefer> </alias> <alias > <family>monospace</family> <prefer> <family>Sarasa Term SC</family> <family>Sarasa Term TC</family> <family>Sarasa Term J</family> <family>Noto Color Emoji</family> <family>Noto Emoji</family> </prefer> </alias> <selectfont> <rejectfont> <pattern> <patelt name="family" > <!-- This font is causing problem with GitHub --> <string>Nimbus Sans</string> </patelt> </pattern> </rejectfont> </selectfont> </fontconfig>
记得重启系统使配置生效。
安装配置WPS 1 paru -S wps-office-cn wps-office-mui-zh-cn
系统语言为英文情况下,刚装好的WPS无法输入中文,无法识别中文字体名称,也无法显示中文界面,需要手动调整启动配置。
从/usr/share/applications
找到这几个文件,使用kate修改。kate不需要以root权限执行,保存修改时,会提示输入root密码提权,十分便利:
/usr/share/applications/wps-office-wps.desktop
/usr/share/applications/wps-office-et.desktop
/usr/share/applications/wps-office-wpp.desktop
/usr/share/applications/wps-office-pdf.desktop
/usr/share/applications/wps-office-prometheus.desktop
以wps-office-wps.desktop 为例,使用kate打开后,将
修改为
1 Exec=env LANGUAGE=zh_CN LC_ALL=zh_CN.UTF-8 QT_SCREEN_SCALE_FACTORS=1 XMODIFIERS="@im=fcitx" GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus /usr/bin/wps %U
其他几个修改方式相同,都是在调用程序之前添加了一堆环境变量,简单解释一下:
LANGUAGE=zh_CN :将WPS界面语言变成中文。如果不声明,WPS还是英文界面。参考自某博客。
LC_ALL=zh_CN.UTF-8 :使WPS能够正确识别中文字体名称。例如,在字体栏中输入宋体,文字就会被正确设置为宋体,而不是必须输入 simsun ,参考自某博客。
env QT_SCREEN_SCALE_FACTORS=1 : 解决KDE下dpi不对称导致的字体模糊问题,参考自archwiki。
XMODIFIERS=”@im=fcitx” GTK_IM_MODULE=”fcitx” QT_IM_MODULE=”fcitx” SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus :设置输入法环境变量,如果没有设置,在WPS中无法输入中文。参考自某博客。
另外~/.config/Kingsoft/
中存在一些WPS的配置文件,有兴趣的可以研究下。总体而言WPS在Linux下并不能做到开箱即用,虽然通过自行配置能够解决一些问题,但诸如系统黑暗模式下,WPS一些界面显示不正常的问题目前尚无解决办法,期待WPS日后能修复吧。
安装其他应用 1 paru -S wechat-bin masterpdfeditor-free
安装微信和一款免费的pdf编辑器。
安装配置打印机 终于可以在 Linux 下愉快打印了:Linux 发行版配置打印机攻略 这篇教程写得非常好,此处只稍作补充整理。
前排提示:HP打印机不要使用hplip 配置!!!
实测hplip 无法发现局域网中的HP Color LaserJet MFP M281fdw 。虽说能够通过手动输入IP地址方式添加,但是自动双面打印功能失效。请安装并使用system-config-printer 添加打印机,它不仅不存在hplip 的这些问题,而且还支持查看墨粉余量:
1 2 3 sudo pacman -S cups cups-browsed system-config-printer nss-mdnssudo systemctl enable --now cups.servicesudo systemctl enable --now cups-browsed
最后打开 Print settings 添加网络打印机,选择IPP协议。总而言之HP打印机对Linux支持还不错,而且摆脱了Windows平台下又卡又难用的HP Smart 令人心情愉悦。至于扫描文件可以安装使用KDE项目提供的Skanlite :
配置Canokey OpenPGP操作参见前几篇文章,这里解决的是Linux下 gpg --card-status
命令提示找不到设备问题,几经搜索终于搞定。
创建 ~/.gnupg/scdaemon.conf 这个文件,加入
保存后重启系统,gpg --card-status
就能正确读取到卡片信息了,深入了解可以参考GnuPG and PC/SC conflicts, episode 2 。