☰
Manjaro Linux 常见问题合集:滚动更新、驱动、音频与系统维护实战
2026/10/20 15:33:43 网站建设 项目流程

1. 为什么我要写这份问题合集

用Manjaro大概有三年多时间,从最早被AUR和滚动更新吸引入坑,到后来把它当成主力开发环境,中间踩过的坑如果全部写下来,估计能出一本小册子。Manjaro基于Arch Linux,既有Arch的软件新鲜度和AUR生态,又比纯Arch多了几层缓冲——内核和驱动经过额外测试、有图形化的硬件检测工具、更新推送会延迟一两周。这些设计对新手友好,但并不意味着它不会出问题。恰恰相反,滚动更新的本质决定了你每隔一段时间就要面对一次“更新完某个东西坏了”的局面。

这份合集不是官方Wiki的翻译,也不是那种“复制粘贴就能跑”的命令清单。我想做的是把那些反复出现、搜索量最高、新手最容易卡住的问题整理出来,每个问题都讲清楚三件事:为什么会发生、怎么判断自己遇到了这个问题、怎么修以及怎么避免下次再遇到。涉及的命令和配置文件我会给出完整内容,但更重要的是背后的逻辑——你理解了逻辑,下次遇到变种问题也能自己推。

适合谁看?如果你刚开始用Manjaro,遇到问题只会重启或者重装,这份合集能帮你省下大量时间。如果你已经用了一段时间,但每次更新都提心吊胆,这里面的更新策略和快照方案会让你安心很多。如果你是从Ubuntu或者Fedora转过来的,很多操作习惯需要调整,我也会指出那些容易踩的思维定式。

需要提前说明的是,Manjaro的版本迭代很快,桌面环境(KDE、GNOME、XFCE)的差异也很大。我尽量给出通用的思路,具体的包名和路径可能随版本变化,遇到不一致的地方,用pacman -Qs和systemctl status先确认当前状态再动手。

2. 更新与包管理:滚动更新的核心战场

2.1 更新前必须做的三件事

很多人出问题就是因为看到更新提示直接点“应用”,或者终端里一句sudo pacman -Syu回车了事。滚动更新不是手机系统OTA,它更像是在行驶中换轮胎,准备工作决定了你是平稳过渡还是当场翻车。

第一件事是读更新公告。Manjaro论坛的Announcements板块每次推送更新都会发帖,里面会列出需要手动干预的包。比如某次更新把某个库从A版本升到B版本,依赖A的软件需要重新编译,公告里会明确写出来。养成更新前扫一眼公告的习惯,能避开八成以上的严重问题。命令行的方式是用pacman -Sy先同步数据库,然后pacman -Qu看看有哪些待更新包,心里有个数。

第二件事是检查磁盘空间。/var/cache/pacman/pkg会缓存所有下载过的包,时间长了能占几十GB。/分区如果剩余空间不足,更新过程中解压新包时可能写不进去,导致系统处于半更新状态——这是最危险的情况之一。用df -h确认根分区至少有几个GB的余量,不够的话先sudo pacman -Sc清理旧缓存(注意这个命令会删掉所有已卸载包的缓存,已安装包的缓存保留)。

第三件事是做系统快照。如果你用的是Btrfs文件系统(Manjaro安装时可选),配合Timeshift可以在更新前打一个快照,出问题直接回滚,几分钟的事。如果是ext4,至少把重要配置文件备份一下,/etc目录打包存到别处。我个人的习惯是更新前跑一次timeshift --create --comments "before update",命令行操作比图形界面快。

提示:不要用pacman -Sy单独同步数据库后只升级某个包,这会造成部分升级(partial upgrade),是Arch系最常见的系统损坏原因。要么不更新,要么完整-Syu。

2.2 密钥环过期与签名错误

更新时遇到invalid or corrupted package (PGP signature)或者signature from "XXX" is unknown trust,这是Manjaro新手遇到频率最高的问题之一。原因很简单:Manjaro的软件包用GPG密钥签名,密钥有有效期,当某个维护者的密钥过期或者你的本地密钥环太旧,验证就会失败。

解决办法分两步。先更新密钥环本身:

sudo pacman -Sy archlinux-keyring manjaro-keyring

注意这里用了-Sy只同步数据库并安装这两个包,是少数允许单独同步的场景,因为密钥环不更新的话后续什么都装不了。装完之后重新跑完整更新:

sudo pacman -Su

如果还报错,说明本地密钥缓存有问题,重置一下:

sudo rm -rf /etc/pacman.d/gnupg sudo pacman-key --init sudo pacman-key --populate archlinux manjaro

这个操作会重新初始化密钥环并导入官方密钥,耗时一两分钟。执行完之后再更新就正常了。我遇到过几次密钥环问题都是在长时间没更新之后,所以保持每月至少更新一次的习惯,能减少这类麻烦。

2.3 镜像源失效导致下载极慢或404

Manjaro默认用pacman-mirrors管理镜像源,它会根据地理位置和响应速度生成/etc/pacman.d/mirrorlist。但镜像站的状态会变化,某个站可能突然下线或者同步滞后,表现就是下载速度只有几十KB,或者直接404。

刷新镜像列表的命令:

sudo pacman-mirrors --fasttrack 5

这个命令会测试所有镜像的响应速度,选出最快的5个写入配置。如果你在中国大陆,可以指定国家来缩小范围:

sudo pacman-mirrors --country China --fasttrack 5

执行完记得sudo pacman -Syy强制刷新数据库。有时候--fasttrack选出来的镜像虽然ping低但带宽小,下载大包时反而慢,这种情况可以手动编辑/etc/pacman.d/mirrorlist,把已知的大站(比如几个高校的镜像站)放到最前面。判断镜像是否同步及时,可以看镜像站页面上标注的最后同步时间,超过24小时的慎用。

2.4 部分升级后的救援流程

万一还是遇到了部分升级导致的系统损坏——表现可能是登录后黑屏、某个命令找不到、库文件版本不匹配报错——不要慌,大部分情况可以救回来。

首先切换到TTY,按Ctrl+Alt+F3(F3到F6都可以)。用你的用户名和密码登录。然后确保网络连通:

ping -c 3 baidu.com

如果ping不通,用nmcli device wifi list和nmcli device wifi connect "SSID" password "密码"连WiFi。网络通了之后,强制同步数据库并完整更新:

sudo pacman -Syyu

-Syy是两个y,强制刷新所有数据库,即使本地认为是最新的也重新下载。这一步会拉取所有待更新的包并安装。如果中途报依赖冲突,仔细看错误信息,通常是某个包需要先删掉旧的再装新的,按照提示操作即可。

如果pacman本身都跑不起来(比如glibc版本不匹配),那就需要用Manjaro的Live USB启动,chroot进去修复。步骤是:Live环境里打开终端,lsblk找到根分区(比如/dev/sda2),挂载它:

sudo mount /dev/sda2 /mnt sudo manjaro-chroot /mnt

manjaro-chroot是Manjaro特有的脚本,会自动挂载必要的虚拟文件系统。进去之后同样pacman -Syyu。修完exit退出,重启。

3. 显卡驱动与显示问题

3.1 NVIDIA驱动:开源与专有的选择

NVIDIA显卡在Linux下的驱动问题是个老生常谈的话题。Manjaro的好处是提供了mhwd(Manjaro Hardware Detection)工具,能自动识别并安装合适的驱动。但自动选择不一定是最优解,你需要知道自己在装什么。

查看当前硬件和可用驱动:

mhwd -l

这个命令列出所有可用的驱动配置。对于NVIDIA显卡,常见的有几个选项:video-nvidia是专有驱动的最新版,video-nvidia-470xx是旧版专有驱动(适合较老的卡),video-linux是开源nouveau驱动。nouveau的性能和兼容性都不如专有驱动,除非你有特殊理由(比如追求完全开源),否则建议装专有驱动。

安装命令:

sudo mhwd -a pci nonfree 0300

这个命令会自动为PCI设备中的显卡(类别0300)安装非自由驱动。装完重启。如果你需要指定版本,比如老卡要用470:

sudo mhwd -i pci video-nvidia-470xx

装完驱动后如果出现黑屏或者分辨率不对,可能是驱动和内核版本不匹配。Manjaro允许同时装多个内核,在GRUB菜单的“Advanced options”里可以选择用哪个内核启动。进到旧内核里把驱动重装或者换一个版本。

注意:切换NVIDIA驱动版本之前,最好先卸载旧驱动sudo mhwd -r pci video-nvidia,再装新的。直接覆盖安装有时会留下冲突的文件。

3.2 双显卡笔记本的切换问题

笔记本上Intel核显加NVIDIA独显的组合很常见,问题也多。默认情况下,桌面环境跑在核显上,独显处于休眠状态以省电。当你需要跑游戏或者CUDA计算时,要手动切换到独显。

Manjaro上常用的方案是optimus-manager,从AUR安装:

yay -S optimus-manager optimus-manager-qt

装完后启用服务:

sudo systemctl enable optimus-manager

然后可以用命令行切换:

optimus-manager --switch nvidia # 切换到独显 optimus-manager --switch integrated # 切换到核显 optimus-manager --switch hybrid # 混合模式

切换后需要注销重新登录才生效。optimus-manager-qt提供了托盘图标,点一下就能切,比敲命令方便。

常见问题是切换后黑屏。这通常是因为显示管理器(GDM、SDDM等)的配置和optimus-manager冲突。解决办法是编辑/etc/optimus-manager/optimus-manager.conf,把[optimus]段里的switching方法改成none,然后手动在显示管理器启动前切换。具体操作因桌面环境而异,KDE下是编辑/etc/sddm.conf,在[General]段加DisplayCommand和DisplayStopCommand指向optimus-manager的脚本。

另一个坑是外接显示器。HDMI口通常直连独显,所以如果你在核显模式下接HDMI,显示器可能没信号。这时候要么切到独显模式,要么用Type-C口(如果它连的是核显)。买笔记本之前查一下接口的走线,能省很多事。

3.3 屏幕撕裂与刷新率设置

NVIDIA专有驱动默认可能开启垂直同步,但有些情况下反而导致撕裂。如果你用的是KDE,可以在“系统设置-显示和监视器-合成器”里把“ tearing prevention”设为“Full screen repaints”或者“Reuse screen content”。如果用的是Picom这类独立合成器,配置文件里加:

vsync = true;

高分屏用户可能遇到字体太小的问题。KDE下在“字体”设置里调整DPI,或者设置环境变量GDK_SCALE=2和QT_SCALE_FACTOR=2。不过全局缩放有时会让某些应用界面模糊,更好的办法是用Wayland会话,Wayland对分数缩放的支持比X11好很多。Manjaro的KDE版本在登录界面可以选Wayland会话,NVIDIA驱动从470版本开始对Wayland的支持也基本可用了。

4. 音频与蓝牙:那些“莫名其妙没声音”的时刻

4.1 PipeWire与PulseAudio的取舍

Manjaro从某个版本开始默认用PipeWire替代PulseAudio。PipeWire兼容PulseAudio的API,同时还能处理视频流和低延迟音频,是更现代的方案。但如果你是从旧版本升级上来的,可能两个都装着,导致冲突。

检查当前用的是哪个:

pactl info | grep "Server Name"

如果显示PulseAudio,说明还在用旧的。想切换到PipeWire:

sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack sudo pacman -Rdd pulseaudio pulseaudio-bluetooth pulseaudio-alsa

-Rdd是强制卸载,忽略依赖检查,因为有些包可能还声明依赖pulseaudio,但实际上pipewire-pulse已经提供了兼容层。卸载完重启,再pactl info应该显示PipeWire。

常见问题是切换后没有声音。先检查服务状态:

systemctl --user status pipewire pipewire-pulse wireplumber

wireplumber是PipeWire的会话管理器,负责路由音频流。如果它没跑起来,音频设备就不会被识别。手动启动:

systemctl --user enable --now pipewire pipewire-pulse wireplumber

然后用wpctl status查看设备列表,wpctl set-default <ID>设置默认输出设备。

4.2 蓝牙耳机连上了但没声音

蓝牙音频的问题通常出在编解码器协商上。Linux下常用的蓝牙音频编解码器有SBC、AAC、aptX、LDAC等。SBC是强制支持的,音质一般;AAC和aptX需要额外的库;LDAC音质最好但需要耳机支持。

PipeWire下安装编解码器支持:

sudo pacman -S libldac libfreeaptx

然后编辑/etc/wireplumber/main.lua.d/50-alsa-config.lua(路径可能因版本而异),确保bluez5.codecs里包含你想要的编解码器。改完重启wireplumber:

systemctl --user restart wireplumber

如果连上了但声音还是从扬声器出来,在pavucontrol(PulseAudio音量控制,PipeWire也兼容)的“播放”标签页里,把应用的输出设备手动切到蓝牙耳机。有时候自动切换不生效,手动切一次之后系统就记住了。

另一个坑是蓝牙耳机同时连了手机和电脑,音频流跑到手机那边去了。在手机蓝牙设置里关掉“媒体音频”,只保留通话,或者干脆断开手机连接。

4.3 麦克风不工作或声音太小

笔记本内置麦克风通常没问题,但外接USB麦克风或者耳麦的麦克风经常需要手动配置。先用arecord -l列出录音设备,找到你的麦克风对应的card和device编号。然后测试录音:

arecord -D plughw:1,0 -f cd test.wav

按Ctrl+C停止,用aplay test.wav回放。如果录到了声音但很小,用alsamixer调整。终端里运行alsamixer,按F4切换到录音设备,用方向键调高音量。注意有些麦克风有“Boost”选项,可以额外增益,但开太大底噪也会放大。

PipeWire下可以用wpctl status找到麦克风的ID,然后wpctl set-volume <ID> 1.5设置音量。如果麦克风完全没被识别,检查是不是被静音了:wpctl set-mute <ID> 0。

5. 桌面环境与登录管理器

5.1 登录后黑屏或循环登录

输入密码后屏幕黑一下又回到登录界面,这种“循环登录”问题通常和显示管理器或桌面环境的配置有关。先切换到TTY(Ctrl+Alt+F3),登录后检查日志:

journalctl -b -p err

这个命令显示本次启动以来的错误级别日志。常见的错误有:~/.Xauthority权限不对、/tmp目录权限不对、某个桌面组件崩溃。

~/.Xauthority的问题最典型。它的所有者应该是当前用户,权限600。如果之前用sudo跑过图形程序,这个文件可能变成root所有,导致登录时无法写入。修复:

sudo chown $USER:$USER ~/.Xauthority chmod 600 ~/.Xauthority

如果/tmp权限不对(应该是drwxrwxrwt,即1777),也会导致类似问题:

sudo chmod 1777 /tmp

还有一种情况是磁盘满了。df -h检查一下,特别是/和/home。如果/home满了,桌面环境无法创建必要的临时文件,也会循环登录。清理一些大文件或者把不用的东西移到外置硬盘。

5.2 KDE Plasma的常见故障

KDE是Manjaro上最受欢迎的桌面环境,功能多但组件也多,出问题的概率相对高一些。

Plasma崩溃后桌面图标和面板消失:按Ctrl+Alt+F3切到TTY,然后kquitapp5 plasmashell && kstart5 plasmashell重启Plasma。如果命令找不到,用kstart plasmashell(Plasma 5后期版本)或者plasmashell &。更彻底的办法是删除Plasma的配置缓存:

rm -rf ~/.cache/plasma* ~/.config/plasma*

注意这会重置你的面板和桌面布局,但不会删除已安装的应用。重启后Plasma会生成默认配置。

KDE下应用字体模糊:如果你用了分数缩放(比如125%),X11下的应用可能会模糊。解决办法是强制应用使用X11的DPI设置。在“系统设置-字体”里把“Force fonts DPI”设为120(对应125%缩放),然后注销重登。或者改用Wayland会话,Wayland对分数缩放的处理更平滑。

KDE Wallet反复弹窗要密码:KDE Wallet是KDE的密码管理组件,每次登录后第一次用到它时会弹窗。如果觉得烦,可以在“系统设置-KDE Wallet”里把“Wallet Preferences”中的“Enable the KDE wallet subsystem”关掉,或者把默认钱包的密码设为空(不推荐,安全性降低)。更好的办法是让Wallet用PAM自动解锁,安装kwallet-pam并确保它在PAM配置里被引用。

5.3 GNOME与XFCE的注意事项

GNOME在Manjaro上默认用Wayland会话,NVIDIA用户可能会遇到登录后黑屏。解决办法是在登录界面点击用户名旁边的齿轮图标,选择“GNOME on Xorg”。如果Xorg下也有问题,检查~/.config/monitors.xml是否损坏,删掉它让GNOME重新检测显示器。

GNOME的扩展是另一个坑。某个扩展不兼容当前GNOME版本时,可能导致整个Shell崩溃。进TTY后用gnome-extensions list查看已安装扩展,gnome-extensions disable <扩展ID>逐个禁用,找出罪魁祸首。更新GNOME大版本后,很多扩展需要等作者适配,这段时间建议少装扩展。

XFCE以轻量和稳定著称,但它的合成器(compositor)在某些显卡上会导致撕裂。在“设置-窗口管理器微调-合成器”里,把“垂直同步”设为“GLX”或者关掉合成器改用Picom。XFCE的电源管理有时会误判,笔记本合盖后不睡眠或者睡眠后无法唤醒。检查/etc/systemd/logind.conf里的HandleLidSwitch设置,确保是suspend。

6. 中文输入法与字体渲染

6.1 Fcitx5的安装与配置

中文用户绕不开输入法。Manjaro上目前最推荐的是Fcitx5,比Fcitx4更现代,对Wayland的支持也更好。

安装:

sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-gtk fcitx5-qt

fcitx5-chinese-addons包含拼音、五笔等中文输入引擎。fcitx5-gtk和fcitx5-qt是给GTK和Qt程序提供输入法支持的模块,不装的话在某些应用里打不出中文。

配置环境变量。编辑~/.pam_environment(如果不存在就创建):

GTK_IM_MODULE DEFAULT=fcitx QT_IM_MODULE DEFAULT=fcitx XMODIFIERS DEFAULT=@im=fcitx

注意~/.pam_environment在新版系统中可能被废弃,替代方案是编辑/etc/environment(全局)或者~/.config/environment.d/fcitx.conf(用户级)。我一般用后者:

GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx

然后启用Fcitx5自启动。KDE下在“系统设置-开机和关机-自启动”里添加fcitx5。或者用systemd用户服务:

systemctl --user enable --now fcitx5

注销重登后,托盘里会出现Fcitx5图标。右键配置,添加“拼音”输入法。默认切换键是Ctrl+Space,可以在配置里改成Super+Space避免和其他快捷键冲突。

6.2 输入法在特定应用中不生效

最常见的是在JetBrains系列IDE(如PyCharm、IntelliJ)里打不出中文。这是因为IDE自带的JBR(JetBrains Runtime)和Fcitx5的兼容问题。解决办法是在IDE的启动脚本里加环境变量。找到IDE的.desktop文件(在/usr/share/applications/或者~/.local/share/applications/),在Exec=行前面加env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx。或者直接在IDE的“Help-Edit Custom VM Options”里加:

-Drecreate.x11.input.method=true

另一个常见场景是Steam游戏里无法输入中文。Steam的Linux版对输入法支持不好,可以尝试在启动选项里加-no-cef-sandbox,或者用fcitx5-remote手动切换。如果游戏本身不支持输入法,那就没办法了,只能在外面打好字复制进去。

6.3 字体渲染优化

Manjaro默认的字体渲染对中文用户来说可能不够清晰。安装更好的中文字体:

sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji

noto-fonts-cjk包含思源黑体和思源宋体,覆盖了简繁日韩。然后配置字体优先级。创建~/.config/fontconfig/fonts.conf:

<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="pattern"> <test name="family"><string>sans-serif</string></test> <edit name="family" mode="prepend" binding="strong"> <string>Noto Sans CJK SC</string> </edit> </match> <match target="pattern"> <test name="family"><string>serif</string></test> <edit name="family" mode="prepend" binding="strong"> <string>Noto Serif CJK SC</string> </edit> </match> </fontconfig>

这个配置让系统在需要无衬线字体时优先用Noto Sans CJK SC,衬线字体优先用Noto Serif CJK SC。刷新字体缓存:

fc-cache -fv

如果觉得字体发虚,可以开启字体微调。在KDE的“字体”设置里,把“微调”设为“轻微”或“中等”,勾选“使用抗锯齿”。XFCE和GNOME也有类似选项。另外,安装freetype2的infinality补丁版本(AUR里有freetype2-infinality-ultimate)能进一步改善渲染效果,但可能会和其他包冲突,谨慎使用。

7. 系统维护与性能调优

7.1 清理系统垃圾的正确姿势

Manjaro用久了会积累不少垃圾:pacman缓存、孤包、日志文件、缩略图缓存等。定期清理能释放空间,但操作不当也可能误删有用的东西。

pacman缓存:/var/cache/pacman/pkg里的包文件。用paccache工具清理,保留最近三个版本:

sudo paccache -r

这个命令删除所有已卸载包的缓存,以及已安装包的旧版本,只保留最新的三个。如果想更激进,sudo paccache -rk1只保留最新一个版本。但建议至少保留一个旧版本,万一新版本有问题可以降级。

孤包:那些作为依赖被安装、但现在没有包依赖它们的包。列出孤包:

pacman -Qtdq

确认列表里没有你手动安装但忘记标记的包之后,删除:

sudo pacman -Rns $(pacman -Qtdq)

-Rns会同时删除包的配置文件和不需要的依赖。注意有些孤包可能是你之前手动装的,只是后来没有包依赖它了,删之前用pacman -Qi <包名>看看描述,确认不需要再删。

日志文件:systemd的journal日志默认可能占几百MB到几GB。限制大小:

sudo journalctl --vacuum-size=200M

这个命令把日志总量压缩到200MB以内。也可以按时间清理:sudo journalctl --vacuum-time=2weeks只保留两周内的日志。永久设置可以在/etc/systemd/journald.conf里改SystemMaxUse=200M。

缩略图缓存:~/.cache/thumbnails里存着文件管理器的缩略图,时间长了可能很大。直接删掉:

rm -rf ~/.cache/thumbnails/*

下次浏览文件时会重新生成。

7.2 开机速度优化

Manjaro默认的开机速度已经不错,但如果你装了很多服务,开机时间会变长。先用systemd-analyze看总耗时:

systemd-analyze

输出会显示firmware、loader、kernel、userspace各阶段的时间。如果userspace时间长,用systemd-analyze blame列出每个服务的启动耗时,按从长到短排序。排在前面的服务如果不需要,可以禁用:

sudo systemctl disable <服务名>

常见的可以禁用的服务有:bluetooth(如果不用蓝牙)、cups(如果不打印)、ModemManager(如果不用移动宽带)。但注意不要禁用NetworkManager、systemd-logind这些核心服务。

systemd-analyze critical-chain能显示关键路径,即哪些服务在串行等待。如果某个服务在关键路径上且耗时很长,优化它能直接缩短开机时间。

7.3 内存与交换空间管理

Manjaro默认可能不创建swap分区,而是用zram或者swapfile。检查当前swap:

swapon --show free -h

如果没有swap,内存不足时系统会直接OOM(Out of Memory)杀掉进程。建议至少配置一个swapfile。创建4GB的swapfile:

sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

然后写入/etc/fstab让它开机自动挂载:

/swapfile none swap defaults 0 0

调整swappiness。默认值60,对于桌面用户可能偏高,导致过早使用swap。改成10:

sudo sysctl vm.swappiness=10

永久生效写入/etc/sysctl.d/99-swappiness.conf:

vm.swappiness=10

如果内存足够大(16GB以上),可以用zram代替swapfile。zram在内存里划出一块压缩区域当swap用,速度比磁盘swap快得多。安装zram-generator:

sudo pacman -S zram-generator

创建/etc/systemd/zram-generator.conf:

[zram0] zram-size = ram / 2 compression-algorithm = zstd

这个配置把zram大小设为内存的一半,用zstd压缩算法。重启后swapon --show会看到zram设备。

8. 常见问题速查与避坑心得

8.1 问题速查表

症状可能原因快速排查命令解决方案
更新时报PGP签名错误密钥环过期pacman-key --list-keys更新keyring并重新populate
下载速度极慢镜像源失效pacman-mirrors --get-branchpacman-mirrors --fasttrack 5
登录后黑屏/循环登录Xauthority权限或磁盘满df -h、ls -la ~/.Xauthority修复权限或清理磁盘
没声音PipeWire服务未启动systemctl --user status pipewire启用pipewire和wireplumber
蓝牙耳机无声音编解码器缺失wpctl status安装libldac/libfreeaptx
中文输入法不生效环境变量未设置`envgrep IM_MODULE`
NVIDIA驱动黑屏驱动与内核不匹配mhwd -l切换内核或重装驱动
系统变慢缓存和日志堆积du -sh /var/cache/pacman/pkgpaccache和journalctl清理

8.2 我踩过的几个典型坑

坑一:用sudo跑图形程序。刚用Linux时习惯性地在终端里sudo启动图形应用,结果~/.Xauthority和~/.config下的一些文件变成root所有,导致后续登录和配置出问题。教训是:图形程序永远不要用sudo跑,需要root权限的用pkexec或者配置polkit规则。

坑二:盲目追新内核。Manjaro允许安装多个内核版本,有次我装了最新的rc内核,结果NVIDIA驱动不兼容,直接进不了桌面。后来学乖了,主力机只用LTS内核或者Manjaro标记为“recommended”的版本,新内核先在虚拟机里试。

坑三:AUR包更新后没重新编译。AUR里的包是源码编译的,当依赖库升级后,这些包需要重新编译才能链接到新库。yay会提示哪些AUR包需要重装,但有时候我忽略了,结果某个应用启动时报“找不到libXXX.so”。解决办法是定期yay -Syu --devel,--devel会检查所有开发版包并重新编译。

坑四:修改了/etc下的配置文件但没备份。有次改/etc/fstab加了个硬盘挂载,写错了一个参数,重启后系统进不了紧急模式。幸好记得改了什么,进Live环境改回来了。现在改任何/etc下的文件之前,先cp file file.bak,这是保命习惯。

8.3 日常维护清单

最后分享一个我每周花五分钟做的维护清单,能避免大部分突发问题:

  1. 更新前看Manjaro论坛公告,确认没有需要手动干预的包。
  2. sudo pacman -Syu完整更新,不跳过。
  3. 更新后重启一次,确认桌面、网络、声音、输入法都正常。
  4. sudo paccache -r清理包缓存。
  5. sudo journalctl --vacuum-size=200M清理日志。
  6. yay -Yc清理AUR的构建缓存。
  7. 检查df -h确认磁盘空间充足。
  8. 如果有Btrfs,sudo btrfs balance start -dusage=50 /做一次轻量平衡(不要频繁做,一个月一次足够)。

这套流程跑下来,我的Manjaro主力机已经连续运行了一年多没重装过,中间经历过多次大版本更新,包括PipeWire切换、Plasma 5到6的过渡,都平稳过来了。滚动更新不是洪水猛兽,关键是理解它的运作方式,做好更新前的准备,出问题时知道去哪里找原因。希望这份合集能帮你少走一些弯路。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询