这篇文章是我折腾 archlinux 时遇到的问题汇总。由于本人比较菜,遇到的问题贼拉多,且我老是在折腾的时候忘记时间,常常入迷,很多问题在我解决之后就给忘了,也懒得记了,所以这篇文章只是我遇到的问题的子集,希望能帮助到大家。
这篇文章的部分内容是我在 2021 年左右第一次折腾 archlinux 的时候记录的,不知道还对不对,哈哈。最近我在学渗透,就想给自己整一个武器库,于是翻出了已经退役三个月的19年买的小新14。对于一个年迈的轻薄本来说,运行 windows 可能太过勉强,所以我又踏上了折腾 arch 的道路….
21年的内容我会进行标注,还请自行分辨。所有的尝试我都会保留下来,也算是对当时想法的记录,劳烦大家自己寻找想要的答案哈,嘿嘿
温馨提示: 请善用 ctrl+f
哦
标题前的 “已)” 表示已解决
废话结束,正文开始。
hacking for fun.
已)使用 blackarch 安装脚本装完系统后无法启动
问题详细描述:使用 blackarch 安装脚本 blackarch-install
装完系统,拔出启动盘之后无法启动,甚至无法进入引导。
解决:八成是在分区的时候把固件和分区表没匹配到一块。一般 UEFI – GPT,DOS – MBR
这里建议不要直接通过镜像装 blackarch,可以先装个 archlinux 熟悉一下,再引入 blackarch 软件库即可。
我上来就装了一个完全版的包含所有工具的 blackarch,倒腾了半天好不容易进到系统,结果一更新一堆依赖问题,软件既装不上也卸不成。直接重开。
已)iwd 打不开
1 | systemctl status iwd.service |
启动一下 iwd.service
。如果某个服务没 start,那么从理论上讲此服务应该很难打开emmm
已)找不到网卡
一般使用 ip link [interface] up|down
来启动/禁用网络接口/网卡 ([interface] 表示你的网卡名字,如 eth0,wlan0) 。
但如果你 ip link
没显示网卡,那应该是没装相关驱动。
1 | pacman -S linux-firmware |
我遇到的情况是本来网卡好好的,突然给掉了,装了驱动之后也没事了。难道我之前忘记装驱动了,那它之前是咋跑的?emmm
无法连接 BUPT-mobile
已)xfce/gnome 屏闪、卡顿
我先装的 xfce,但是进入图形环境之后老时不时闪一下,其每次进入 xfce 时老是乌漆嘛黑一片,需要等个二十来秒,有时后还不显示菜单栏。之后换了 gnome 还是这个问题。
解决:八成是 intel, AMD, NVIDIA 驱动没装,或者没装对版本。具体自己上网搜一下吧。
已)gnome 无法使用蓝牙
问题描述,蓝牙这个开关按不按没反应,估计八成又是那个驱动没装?
md,安装 archlinux 的时候忘记装蓝牙模块了,emm
1 | sudo pacman -S bluez bluez-utils |
连接蓝牙耳机后,声音一卡一卡的
已)使用 blackarch 库一直提示密钥不正确
我在第一次用 blackarch 库的时候挂了代理,导致密钥一直配不上。后面把代理关了就没事了。
官方给出的解决方案是:Why do I get invalid keyring signature?
已)archlinux 使用 pip 报错:error: externally-managed-environment
运行 dirsearch 时报错
1 | ➜ ~ dirsearch |
依赖问题,我使用 pip 安装了一下 requirements.txt
里面的包,但是报错了,报错信息如下:
1 | ➜ dirsearch pip install -r requirements.txt |
大概意思就是说在 archlinux 下还是尽量使用 pacman 包管理工具,为了防止包管理过于混乱,下载 python 包使用命令:sudo pacman -S python-[package name]
,这里特指 Python3 的包,具体参看官网说明说明:Python package guidelines
下载特定版本的包:sudo pacman -S python-[package name]=[version]
#todo
- 当然,也能使用虚拟环境,这个还没学
回到运行 dirsearch 的那个问题,“ModuleNotFoundError: No module named ‘pkg_resources’”,简单 google 一下,发现是 python setuptools 包的问题,链接:No module named pkg_resources
1 | sudo pacman -S python-setuptools |
1 | ➜ ~ dirsearch --version |
咋又有新问题了,裂开。
rofi -show run 无法输入
已)钉钉无法输入中文
需要先在别的输入框中激活输入法,我的快捷键是 ctrl+space
,激活了之后就可以在聊天框里输入中文了。
方法略蠢,但好使。
======== 2024.01.22 更新 =========
用着用着就好了,我也不知道为啥。
已)zsh 终端和 vim 下都不能输入中文, bash 可以
这次折腾,我直接装了 facix5,没遇到这个问题,虽然忘记了曾经遇到的问题和解决办法,但冥冥之中我选择了正确的路,这难道就是折腾的意义?爱了。
======== 2021 start =========
经过进一步折腾发现,无法输入中文并不是因为 zsh 和 bash,而是终端模拟器的问题,在 gnome-terminal 下的 bash 和 zsh 里面均可以使用中文输入法,而在 alacritty( 我经常用的一个终端 ) 下就不行。
==> alacritty 下无法输入中文
查了半天发现,好像是环境变量的问题(虽然我之前也怀疑是这个问题,但是不敢相信T_T),解决环境问题感觉有点麻烦,明明配的都一样为啥就是不行呢,直接人没了
所以解决这个问题的一种办法是将两种终端下的环境变量进行对照,看看那些环境变量在 alacritty 下没有而在 gnome-terminal 下有,然后加上就行。
稍微对照了一下两者的环境变量,发现差别还是蛮大的,反正直接人看傻了。
然后果断放弃,卸掉 fcitx,不会卸载的朋友不要慌,我在下面提供了一条命令,包教包会。当然,是在 archlinux 下的。
1 | sudo pacman -Rsc fcitx |
直接用最狠的卸载方法,把 -c
都给他安排上。
就这?就这?我 timi 卸了 fcitx 咋用输入法呀,这条命令还把和 fcitx 有关的包卸载的一干二净,我 timi 直接 我 timi…..
不要慌,这不还没完呢吗,放弃 fcitx 拥抱 fcitx5,下个 fcitx5 就没事了。
(完)
:好家伙,早给我说最后一句话不就完了吗。。。
当然,如果能从环境变量解决这个问题更好,以后有时间再说吧,我现在太菜了,直接搞环境变量有点劝退。
就吃了个饭,他又不行了
还是老问题,在除了 alacritty 的其他地方都可以使用中文输入法,说明 fcitx5 是开启着的。
贴一个运行 fcitx5
的返回结果:
1 | I2021-06-04 19:18:00.426472 instance.cpp:1371] Override Enabled Addons: {} |
注销重进一下就解决了,我人傻了。还是没搞清楚来龙去脉,只是现在暂时能用。这怕就是码农的生存之道吗。
======== 2021 end =========
已)vim 无法和系统剪切板交互
这次直接装了 neovim。其实应该可以 ctrl+shift+c
和 ctrl+shift+v
直接复制粘贴吧,这两个是在终端下复制粘贴的快捷键。
======= 2024.01.08 更新 ======
直接 ctrl+shift+c
好像不太行,可以看这篇 stackoverflow
在 neovim 中使用命令::checkhealth provider
,在没有配置剪切板工具的时候显示如下内容:
1 | ## Clipboard (optional) |
安装 xclip
,sudo pacman -S xclip
,再次 :checkhealth provider
1 | Clipboard (optional) ~ |
选中内容,右键即可复制,可以配置快捷键,如下图所示。不过现在我用 nvim 用的还不太多,就先到此为止了。
======== 2021 start =========
简单来讲就是vim中复制的东西只能在vim中粘贴(y键 & p键),不能在vim之外的其他地方粘贴,没法共享系统剪切板 (clipboard)。
这个问题困扰了我很久,最后发现是 clipboard 的问题,通过下面这条命令可以查看你的vim是否支持 clipboard,如果不支持的话,咋配置都没用
1 | vim --version | grep clipboard |
如果你的 clipboard 前面显示的是 -
的话,说明你的 vim 不支持 clipboard。这个时候就考虑换个 vim 吧,我直接装了 gvim
在 archlinux 下安装 gvim
1 | sudo pacman -S gvim |
然后,然后?就没然后了,问题解决。
至于为什么,等学到 vim 寄存器再说吧。
======== 2021 end =========
md,两年了,vim 寄存器还没学
已)在终端下 source ~/.vimrc 报错
一个脑残问题emmm,想起两年前在这个问题上,浪费了那么长时间,我这心里就嘎嘎难受。这个问题已经印在我脑子里了,不过最近回看又知道了 :source $MYVIMRC
,学了+忘了=没学..
======== 2021 start =========
今天我兴冲冲地配置了老半天我的 vim, 配置完又兴冲冲地在 zsh
终端下输入source ~/.vimrc
,我都想好运行完的结果:一切都朝着预想滴方向进行,然后兴冲冲地在 vim
下快乐地 coding
。
于是,我轻轻地按下了 enter
键,直接给我报了几个错,瞬间人呆了,傻了,疯了,没了,这咋还报错了呢,啊啊啊啊!!!
ps: 我 21 年这么憨的吗 emmm
1 | .vimrc:1: 权限不够: |
解决方法
source ~/.vimrc
相当于是把 ~/.vimrc
,中的每一条命令都在终端 zsh
或者 bash
下执行一遍,所以当然不符合 vimscript 的语法(source .zshrc
玩多了,脑子有点不好使。。。)。
正确方法应该是在 vim 中使用 :source $MYVIMRC
刷新配置文件,或者退出来重进一下就行了。
======== 2021 end =========
已)配置 alacritty,有时候按退格键却变成空格的问题
暂时还没有使用 ssh,还没遇到这个问题。
======== 2021 start =========
这个问题是我在 alaritty 终端使用 ssh 连接到我的服务器上出现的,连接到服务器的终端之后就出现了这个问题,而在 gnome-terminal 下连接就好好的。
解决办法
这个方法是在 github 上这个 alacritty 项目的 issue 下给的。
将 alacritty.yml 配置文件中的实体(entry)env
下的环境变量 $TERM
设置成 xterm-256color
。
至于原因嘛,还没搞明白
======== 2021 end =========
已)alacritty 需要使用 TOML 配置
alacritty 在 0.13 版本之后使用 .toml
配置文件格式,有关 TOML 的内容可以戳 –> 这里。
直接 alaritty migrate
就可以把原来的配置文件 alacritty.yml
转换成 alacritty.toml
。当然,前提是 yml
配置的没问题,不像某菜鸡,配置文件写了个错错都没发现(我就说咋改不改配置 alacritty 都没反应呢)。一直到 alaritty migrate
才发现原来的配资都是错的 emmm
更详细的配置说明参看 官方配置文档。
alacritty 配滚动条
已)flameshot 截屏软件在gnome下无法使用
问题描述 :
1 | caishao@archlinux ~ flameshot gui |
解决方法:
使用 gnome-terminal 终端运行可以使用 flameshot gui
。
配置快捷键所使用的终端命令,我配置的是 Alt+a
,跟微信截图一样:
1 | gnome-terminal -- flameshot gui |
但在截屏的时候会先出现一个 gnome-terminal 窗口,之后才会运行 flameshot gui
1 | gnome-terminal -- bash -c "sleep 2; flameshot gui" |
可以先让终端睡 2 秒,我们好调整一下窗口的位置。emmm 要被这法子蠢哭了。
======= 2024.01.08 更新 ======
发现了一个比较可行的解决方法(对我来说):因为我平常是 笔记本+外接显示器,截图的时候把鼠标移到想要截图的另一块屏幕上,就不会被弹出的 gnome 终端窗口影响啦。
(方法有点蠢)
不过有一说一,flameshot 功能确实强大,简单好用。
已)archlinux 安装 deb 文件
安装 nrich 时,发现只有 deb 文件。
使用 debtap 转换 deb 包,然后使用 pacman 安装。尽量不要使用 dpkg,可能会与 pacman 冲突,进而损坏 archlinux 系统。参考:在archlinux上安装deb包
1 | yay -S debtap # 通过 AUR 安装 debtap |
nrich 真难用啊,早知道不装了。
已)ranger 提示 /bin/sh: line 1: vim: command not found
问题描述:
1 | ➜ ~ ranger |
解决方法:
这个问题是因为在使用 ranger 时未更改默认编辑器,默认的编辑器是 /usr/bin/vim
但我使用的是 nvim,默认编辑器通过 $EDITOR
修改。
仅修改当前用户的 $EDITOR
,在 ~/.zshrc
中添加一行(如果是 bash 用户,修改 ~/.bashrc
):
1 | export EDITOR=/usr/bin/nvim |
修改所有用户的 $EDITOR
,在 /etc/profile.d
目录下创建 editor.sh
并写入:
1 | export EDITOR=/usr/bin/nvim |
系统启动时会先解析 /etc/profile.d
下的 shell 文件所配置的环境变量,之后再读取用户目录下的配置。
应用程序安装
腾讯会议
1 | yay -S wemeet-bin |
钉钉
1 | yay -S dingtalk-bin |
微信
1 | yay -S com.qq.weixin.spark |