原帖(不定期更新)

debian作为一个稳定的Linux发行版,基本上东西都是开箱即用的。不过偶尔也需要折腾。

我认为的目前比较不折腾的方案:

尽量直接用带桌面环境的iso镜像安装,桌面环境尽量用稳定的Gnome、KDE。由于Debian仓库里面的Gnome一般不是最新版,所以插件不兼容的问题比较轻微。

1 GNOME插件

GNOME必用的插件:Tray Icon、GTile、gnome-input-method-kimpanel

如有必要还可以考虑装个农历日历的插件。

2 能联网,但是WiFi不由Network Manager管理

具体表现为设置当中显示“No WiFi Adapter Found”

解决方案:

修改/etc/NetworkManger/NetworkManager.conf,把managed=false改成managed=true 操作完之后重启。

3 Intel Arc a770显卡没法使用

具体表现:找不到显示器/GPU

解决方案:

用6.5版本以上的内核。比如,安装linux-image-amd64-6.5.0。 也可以自己编译内核。编译时使用make bindeb-pkg即可直接打包。注意,make deb-pkg现在似乎不太管用了。

4 Sway下XWayland应用分数缩放会模糊

具体表现:Chromium、Firefox、vscode等应用

解决方案:无解。Firefox可以引入Mozilla的源,安装新版以避免使用XWayland。Chromium以及一批基于electron的应用可以启用--ozone-platform-hint=auto避免使用XWayland。

5 fcitx5不能自启动

具体表现:不自启动

解决方案:im-config我是没搞懂该怎么用,于是使用最简单的解决方案——在Gnome Tweaks中设置fcitx5为自启动应用。如果使用Sway等wm,直接在启动脚本里面启动fcitx5就行了。

6 Sway下Chromium等软件使用Wayland后,没法用输入法

解决方案:试试添加环境变量能否解决问题,参考archwiki。可能要等Sway更新。

7 Gnome 农历日历无法启用

具体表现:显示缺少依赖

解决方案:把作者写的ChineseCanlendar的依赖装了。

吐槽:我很疑惑,为什么这个插件的作者不干脆把插件开源到GitHub/GitLab上。

8 中文字体很丑

具体表现:点阵字体/日文字型

解决方案: 安装自己觉得好看的字体。推荐fonts-noto-cjk思源黑体和思源宋体。然后在Gnome Tweaks中修改字体。 更进一步,可以修改fontconfig的配置,让默认字体也好看一下。修改~/.config/fontconfig/fonts.conf,以下是我的配置

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fontconfig>
  <dir>~/.fonts</dir>
  <match>
    <test name="family">
      <string>monospace</string>
    </test>
    <edit binding="strong" mode="prepend" name="family">
      <string>JetBrains Mono NL</string>
      <string>Ubuntu Mono</string>
      <string>Noto Color Emoji</string>
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
  <match>
    <test name="family">
      <string>sans-serif</string>
    </test>
    <edit binding="strong" mode="prepend" name="family">
      <string>Noto Sans CJK SC</string>
      <string>Noto Sans</string>
      <string>Noto Sans Arabic</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>
  <match>
    <test name="family">
      <string>serif</string>
    </test>
    <edit binding="strong" mode="prepend" name="family">
      <string>Noto Serif</string>
      <string>Noto Serif CJK SC</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>
  <match target="font">
    <edit mode="assign" name="antialias">
      <bool>true</bool>
    </edit>
  </match>
  <match target="font">
    <edit mode="assign" name="hinting">
      <bool>true</bool>
    </edit>
  </match>
  <match target="font">
    <edit mode="assign" name="hintstyle">
      <const>hintfull</const>
    </edit>
  </match>
  <match target="font">
    <edit mode="assign" name="rgba">
      <const>none</const>
    </edit>
  </match>
  <match target="font">
    <edit mode="assign" name="lcdfilter">
      <const>lcddefault</const>
    </edit>
  </match>
  <match target="font">
    <edit mode="assign" name="embeddedbitmap">
      <bool>true</bool>
    </edit>
  </match>
</fontconfig>

9 apt update失败

解决方案:一般是软件仓库镜像没有正确设置。修改软件仓库镜像(建议顺便改成国内源),参考 https://mirrors.tuna.tsinghua.edu.cn/help/debian/

10 自己的用户不能用sudo命令

具体表现:不在sudo组当中。

解决方案: 解法一:su进入root,然后visudo,修改sudo的配置文件,给某个具体的用户/用户组使用sudo的权力。 解法二:把具体的某个用户加入sudo

usermod [你的用户名] -a -G sudo

操作完之后注销重新登陆

11 仓库里没有某某软件/仓库里没有某某软件的某某版本

解决方案: 解法一:自己编译安装到/usr/local或者其他随便什么地方(记得改PATH) 解法二:下载别人打包好的deb 解法三:用nix 解法四:实在不得已,可以用flatpak或者AppImage 解法五:环境实在太难配置,不得已可以用docker 解法六:虚拟机 解法七:用arch

软件包少/软件包旧,其实是导致debian比arch还要折腾的根本原因

12 安装的时候不能创建Btrfs子卷

解决方案:

有些人的办法是:在安装的时候ctrl-alt-f6切换到别的tty,然后手动分子卷。(最合理的办法)

我的办法是: 1. 正常安装,分区选btrfs。此时安装介质会创建一个@rootfs子卷,然后把全部东西都放在里面。 2. 安装完成后,进另一个Linux系统或者用U盘进LiveCD救援系统,然后手动分子卷,把@rootfs里面的东西移动到新的子卷里面(很朴素的办法,但是一般可行) 3. 相对应地修改/etc/fstab,让系统启动时正确地挂载各个子卷。

终极办法是:不用btrfs。实际上我觉得大部分人用默认的ext4就够了。

13 没有默认启用GPU加速视频编解码

解决方案: 参考 https://wiki.debian.org/HardwareVideoAcceleration 对于intel GPU,安装intel-media-va-driver 或者intel-media-va-driver-non-free。 然后检查看看vainfo命令的输出是否正确。

14 依赖冲突

具体表现:用dpkg强制安装软件,或者安装来自非官方源的软件,或者安装其他deb系发行版的源的软件时,版本不一致造成依赖冲突。

预防措施:不要做上述事情。遇事不决可以考虑用一下nix。

解决方案:把有问题的源去掉,把造成冲突的软件包一个一个卸掉,手动下载并强制安装正确版本的软件包。 强制卸载

dpkg --remove --force-all [包名]

强制安装

dpkg -i [deb包路径]

然后尝试修复

apt -f install

这是我最讨厌debian/ubuntu/fedora等发行版的一点,傻逼依赖问题很容易发生,而且处理起来经常半小时起步 这也是Arch这类发行版看起来很折腾、其实很省心的原因

所以debian这种发行版更适合用在万年不更新的场合。桌面系统还是尽量用Arch、OpenSUSE风滚草、NixOS这类。头疼的问题一般有人替你头疼过了。

15 Arch Linux下grub的os-prober无法找到另一个磁盘的btrfs分区上的debian内核

具体表现:更新grub配置后没有debian的启动项。

解决方案:自己写一个grub的menuenrty到/boot/grub/custom.conf里面。具体写法参考Arch Wiki的grub页面。

16 firefox版本太旧

不要用仓库里的firefox-esr,直接添加Mozilla官方给的ppa源。