从Windows迁移到Kubuntu 22.04
2023-01-12更新:笔者换电脑了,目前使用Windows 11,本文无限期停更。
笔者的电脑是 联想小新Pro13 2020 锐龙版(R5 4600U),购入两年内频繁出现SSD随机掉盘的情况,经长时间排查考虑可能是Windows更新引发的驱动程序问题,于是打算趁暑假将电脑迁移到Linux后进行长期测试。
本文记录了从 Windows 10 21H2 迁移到 Kubuntu 22.04 的一些经验和问题。(长期更新)
本文完全是在新的 Kubuntu 系统上撰写的。
硬件信息
CPU: AMD Ryzen 5 4600U 4c8t
RAM: DDR4 16G
显卡:4600U自带核显,无独显(Linux友好)
硬盘:三星PM981a 512G
屏幕:2560*1600 60Hz
准备工作
发行版选择
笔者在去年(2021)春天用过一段时间的KDE Manjaro,体验很好。KDE包含的Yakuake、Dolphin、KDE Connect、Filelight等软件给笔者留下了深刻的印象。于是这次选择继续使用KDE。考虑到Ubuntu在国内有大量的中文资料,于是选择Kubuntu。版本为最新LTS版22.04。
刻录安装介质
到Kubuntu官网,通过BT下载22.04版本的安装镜像。
使用一块16GB的U盘刻录镜像。实际上该镜像可以放进一块4GB的U盘。刻录软件是rufus。文件系统选择默认的FAT32,引导模式为UEFI,rufus会问:要使用ISO方式写入还是使用dd方式写入,保持默认的ISO即可。
上面的选项不一定是最优解,但是在笔者的电脑上实践过,可以正常安装系统。
安装 Kubuntu
安装之前要先到BIOS里关掉Secure Boot。不清楚为什么要关,但笔者第一次尝试安装时,安装程序提示关闭,所以就关了。
备份好各类用户数据之后,通过USB启动电脑(办法很多,可以用Win10的高级重启,可以开机一直按F12,也可以在BIOS里改启动顺序),在Grub启动菜单里选择 Try or install Kubuntu(在live系统中体验或者安装Kubuntu),进入安装程序。
在安装程序中进行各类设置,选项已经记不清了,不过应该没有特别需要注意的。
安装位置那里,笔者选了全盘格式化,并且令安装程序自行决定分区。最后的分区结果应该是500MB FAT32的EFI分区,剩下的部分全部是ext4的根分区,挂载点是根目录 /。其实可以再分Swap分区和/home,但是目前不影响使用所以没动。
- 据说Swap分区使用的文件系统比较适应密集读写的场合,也就是特别为swap优化过的,不过笔者电脑内存足够,应该也不会用到swap文件。
安装之后
软件
笔者用的大部分软件是跨平台的,所以需要解决的软件问题并不很多。
开发
-
VSCode:跨平台,官网就可以下载到.deb包,双击即可安装,而且带自动更新。KDE上的VSCode账户登陆会有点问题,可以看下面的问题处理。
-
JetBrains系软件
- Toolbox:跨平台,官网可以下载到AppImage包,双击即可运行。
- CLion:跨平台,通过Toolbox安装后正常使用。
- Android Studio:跨平台,通过Toolbox安装后正常使用。
-
C/C++编译器:在Windows上用VS 2022带的msvc和mingw64 8.1.0,迁移后使用Ubuntu软件源里的gcc,版本是11.2.0。
-
Rust工具链:跨平台,安装的工具链是stable-x86_64-unknown-linux-gnu。
-
命令行:Windows上用Windows Terminal,迁移到Kubuntu后不用说了,终端模拟器一大把。目前装了Konsole和Yakuake,主用Yakuake。
-
Tex Live:跨平台。通过apt安装了源内的2021版本。令人惊讶的是,编译速度远超Windows。
- 会有一些字体缺失问题,需要手动安装。
-
Xilinx Vivado:学校硬件设计课程要用,有Linux版本。安装后正常使用。一些问题见后。
-
Anaconda,跨平台,目前正常使用。
-
GitHub Desktop:官方没有Linux版(issue),但GitHub Desktop是Electron软件,移植很方便。社区已经有移植版,体验待补。
- 因为GitHub切换到了新的v3 API,因此上面的移植版似乎不能用了。
- VSCode的Git功能已经够用。
工具软件
- Sumatra PDF:Windows上的PDF阅读器。如果只是阅读PDF而不编辑的话,Sumatra PDF可谓完美。然而它仅有Windows版本。KDE自带的Okular阅读器似乎相当强大,用过之后再来反馈。
- 2022-07-31反馈:Okular满足了我的各类需求。
- Drawboard PDF:一个使用手写笔的PDF批注软件,体验很好,但没有Linux版。笔者偶尔需要用高漫M6数位板来批注PDF,目前尚未找到合适的替代软件。Kubuntu自带了Wacom的驱动软件,但没有用处。如果找到替代品再来反馈。
- 高漫M6在Kubuntu上无法使用,因为没有可用的驱动程序。据说1060Pro可以通过安装第三方的Huion驱动(关键词:digimend)来用。
- 2022-08-01更新:高漫M6现在可以不太完美地使用了,见此处。
- Everything:偶尔搜索文件用。KDE有一个类似的应用KFind,不过速度似乎没Everything快。
- 浏览器:Win10上毫无疑问使用Edge,体验很好,登陆微软帐号进行同步。幸运的是微软已经为Linux推出了Edge,于是卸载Kubuntu自带的Firefox,继续使用Edge。登陆微软帐号后正常同步,书签扩展都回来了。目前一切正常。
- 知云文献翻译:或者说Xtranslator。二者其实是同一个东西。没有Linux版,但有一个类似的替代品CopyTranslator,有一点小bug,勉强能用。
- Typora:官方有Linux版,但收费。从这里安装最后一个Beta版,目前使用正常,但是有点卡。
- 网速悬浮窗:Windows上有个很好的软件TrafficMonitor,但它不跨平台。KDE有功能类似的小部件,但是体验不如TrafficMonitor。
- 压缩:Kubuntu自带p7zip和Ark,够用。
- 注意Ark解压rar时可能会报密码不正确(能保证密码确实正确),此时尝试使用unrar这个软件包。
- 邮件客户端:笔者先前在Windows使用网易邮箱大师,但它没有Linux版本。Kubuntu预装了Thunderbird,目前使用没什么问题。
- Office:从WPS官网下载WPS for Linux 2019,目前有一些字体缺失问题,其他使用正常。
- OneNote没了。好在之前也不常用。
- 针对字体缺失问题,可以从一台Windows电脑的
C:\Windows\fonts
文件夹拷贝常用字体到本机然后安装。常用字体包括宋体、仿宋、黑体、楷体、等线。
- Anki:一个flashcard软件,本身就是跨平台的。注意到官网去下载,而不要用apt装。apt的版本比较旧。
- qBittorrent Enhanced:跨平台,使用Qt6版本的AppImage。Qt6似乎兼容性不佳,界面布局有点问题,不过能用。
- Hosts管理:之前在Windows上用过一个很小的软件,十分方便。目前在Kubuntu上使用SwitchHosts,虽然比较大,不过也能用。
- 代理:Clash for Windows(cfw)。名字很有误导性,会让人以为仅能用于Windows平台。实际上这是跨平台的Electron软件。不过用法似乎没有Windows那么无脑,有待进一步学习。
- 2022-08-30更新:目前使用cfw+SwitchyOmega+proxychains,cfw常驻后台,无需手动设置系统代理,方便快捷。
- 百度网盘:官方提供有deb包,安装后正常使用。只不过太大了。
- 输入法:系统自带fcitx5。
- 在fcitx5的默认配置中,中文拼音输入下按下键盘的“[”键时输入的是“·”,而按下“]”键时输入的是“「」”这种方括号。在微软拼音输入法中,按下“[”和“]”时输入的分别是“【”和“】”,而按下“`”时输入的是“·”。为了修正这个问题,可以参考此处。
- Logitech Options:罗技的外设管理软件,仅提供Windows版和Mac版。不过linux上有一些替代的方案。
- Calibre:用于管理电子书。可惜的是源内提供的Calibre版本比较旧了,于是按照官网提供的方法安装。安装之后发现在apt里找不到,比较介意。
- 官网指出可以使用
sudo calibre-uninstall
来卸载。
- 官网指出可以使用
- Wine:按照这里的指导进行安装,发现找不到
winehq-stable
,只有winhq-devel
和winwhq-staging
。经查询,最新的wine stable版本7.0发布时,Ubuntu 22.04还未发布,因此winhq-stable
没有进入Ubuntu 22.04的软件仓库。 - Blender:运行一切正常,唯一的问题是使用fcitx5无法输入中文。目前暂时无解。
娱乐
-
哔哩哔哩:笔者一直用网页版,因此无需做额外的迁移工作。
-
网易云音乐:之前网易云的官网上是有Linux供下载的,这是网易云和Deepin合作开发的原生Linux版本。不过似乎现在下架了。可以到这里下载1.2.1版本,双击安装。
- Ubuntu 22.04无法启动的解决方法:修改
/opt/netease/netease-cloud-music/netease-cloud-music.bash
,在最后的exec
行前面加上cd /lib/x86_64-linux-gnu/
,保存。 - 这个1.2.1版本比较旧了,自己的一些收藏可能无法查看。
- 替代品:github上有个YesPlayMusic,试了一下感觉一般,比较花瓶。也有很多命令行版本的网易云可供使用。
- Ubuntu 22.04无法启动的解决方法:修改
-
视频播放:Windows上用PotPlayer,Kubuntu自带一个VLC播放器,能用。
-
原神:没办法了。用手机吧。Linux并非没有解决方案,但是似乎相当麻烦。
-
欧卡2:Euro Truck Simulator 2,一个卡车模拟游戏。有Linux版,除了没有声音之外,适配正常。
-
Minecraft JE:原生支持Linux,使用HMCL生成Bash启动脚本,双击即可启动游戏。
- 一些配套软件如Chunky、mcaselector均为java编写,同样跨平台。有关高版本Java缺失JavaFX的问题可以搜索其他博客。
-
Steam:原生支持Linux。
-
Epic Games Launcher:不支持Linux,有一个名为Lutris的项目可以支持epic,但笔者这里因为网络问题用不了。
通讯
-
QQ/Tim:安装了Icalingua++,勉强能用。
- 2022-08-30更新:从官网下载安装了Windows版TIM,尝试使用Wine运行,结果卡得无法使用,遂放弃。
- Icalingua++目前最大的不足是无法发送文件。别的功能都还好。一些小bug在所难免,可以理解。
- 这个功能现在已经补上了。
- 作为Icalingua++的补充,也在Win10虚拟机上安装了TIM。
-
微信:
- 按照这篇博客从优麒麟官网下载的Linux原生微信,体积巨大,功能极其简陋,内存占用恐怖。已经卸掉了。
- 使用Wine安装Windows版微信,Wine版本
winehq-devel 7.15
,终端执行winetricks riched20
安装插件后,windows版微信使用一切正常。唯一的缺点就是内存占用太大了(约1.4G)
-
腾讯会议:学校开会经常要用。官方有Linux版本,可以到官网下载,体验良好。
- 2022-08-06更新:Linux版不支持“网络研讨会”。
- 2022-09-06更新:3.10.0版本现已支持“网络研讨会”。
杂七杂八的问题
-
系统刚装好时缩放倍率是100%,显示内容看起来很小。可以调整到200%。
-
Edge浏览器每次重启之后,在各类网站上的登陆会过期。已经在社区发现同类问题,待进一步调查。
- 2022-07-23更新:这个问题比较棘手。笔者的VSCode有同样的过期问题,经查是KDE钱包不支持VSCode使用的密码保存方式的问题。你可以在在此处找到对这个问题的讨论。目前的情况是,KDE已经解决了这个问题,但是更新从上游推送下来需要时间。安装
gnome-keyring
这个包可以暂时解决问题。考虑到Edge和VSCode都出自微软,它们使用的密码保存方式应该是类似的。 - “KDE钱包(KWallet)”这个名字很有误导性。大部分人第一次见到这个名字,会把它当成一个支付工具。但KDE钱包实际上是一个密码管理器。
- 2022-07-23更新:这个问题比较棘手。笔者的VSCode有同样的过期问题,经查是KDE钱包不支持VSCode使用的密码保存方式的问题。你可以在在此处找到对这个问题的讨论。目前的情况是,KDE已经解决了这个问题,但是更新从上游推送下来需要时间。安装
-
有关AppImage
- 这是个之前没见过的东西,看介绍说是可以把运行时都打包进一个文件,适用于大部分发行版。但问题是这类程序没法放进启动菜单(其实肯定有办法的,但是比较麻烦)。
- 有个软件叫做AppImage Launcher,可以解决这类问题,但是它在笔者的电脑上不能正常工作。目前已经卸掉了。
-
解决“已安装 xxx 软件包 post-removal 脚本 子进程返回错误状态 1 在处理时有错误发生”的问题
- 修改
/var/lib/dpkg/status
文件,通过包名搜索,删除对应的包的信息。
- 修改
-
解决频繁断网的问题
- 笔者电脑的无线网卡是Realtek,型号未知。连接家中wifi时经常断网,重启wifi后恢复正常。目前按照教程在
etc/modprobe.d/iwlwifi.conf
尾部添加一行options iwlwifi 11n_disable=1
后,问题似乎解决。有待进一步测试。 - 2022-07-25更新:问题没有解决。似乎只连接家中的wifi才会断网。
- 笔者电脑的无线网卡是Realtek,型号未知。连接家中wifi时经常断网,重启wifi后恢复正常。目前按照教程在
-
Vivado安装卡在Generating installed device list的解决方法:此处
-
Vivado在高分屏下UI太小的解决方法:去Vivado的设置把缩放倍率调高。
-
不支持查看HEIF图像:请见笔者的另一篇博客。
-
Wine运行某些程序时出现中文乱码(常见于无官方中文而带有汉化补丁的Galgame):为wine带上启动参数:
env LANG=zh_CN.UTF-8 wine xxx.exe
-
解决已经安装了某个软件包,再从另一个软件源安装另一个版本的相同软件包时出现的dpkg报错:这类报错往往是因为已经生成了一些配置文件,dpkg不便于直接覆盖。需要我们找到报错的软件包,手动执行dpkg安装apt下载的软件包缓存(位于
/var/cache/apt/archives
),并附加--force-overwrite
选项:sudo dpkg --force-overwrite -i /var/cache/apt/archives/xxx.deb
执行完毕后,为了修复可能出现的依赖问题,执行:
sudo apt install -f
感想和吐槽
- Electron软件体积太大了,虽然大都很漂亮,不过功能都比较有限。
- KDE经常崩溃。目前最常见的崩溃源是WPS和KDE Connect。
- 个人认为在硬件支持尤其是网络部分的支持上,linux和windows还有相当大的差距。笔者遇到的很多问题都是网络的问题,而这些问题原先在windows上都没有出现过。