Xbox手柄驱动

Xbox手柄,也是一个大问题,我本来以为这个东西是可以开箱即用的,但是发现好像并不是这么回事。虽然Fedora的设置里有游戏控制器这个选项,但打开Xbox手柄,什么都没有发生,大概是因为我使用的是无线适配器连接的,有线或许能起作用吧,但在我这里是不行。
没办法,还是得自己拼。一通搜索发现Xbox在Linux上是需要单独安装驱动的。
我一开始找到了xpadneo这个项目,但在安装之后依然没有起作用。我仔细看了一下它的说明文档,好像说支持蓝牙无线链接,但我这个不是一个简单的蓝牙设备,貌似是单独的一个Wireless Dongle,需要不同的驱动。
我在它的项目页面找了一下,发现了xone这个项目。
安装过程非常简单,按照说明clone项目,然后运行安装脚本

1
2
3
git clone https://github.com/dlundqvist/xone
cd xone
sudo ./install.sh

这个脚本需要dkms的支持,不过不用担心,如果没有的话脚本会有提示的。
如果脚本提示找不到dkms,那么使用dnf安装就好

1
sudo dnf install dkms

在安装完之后,Xbox手柄的有线连接应该就可以用了,但无线连接还需要一条命令,当初的我就是没看到后面的文档,捣鼓了半天都连不上,结果是自己着急了。

1
sudo install/firmware.sh

安装完之后,重新插拔无线适配器,就可以正常配对了。

Steam Proton 配置

Proton是个好东西,经过Valve这么多年的调教,对于大部分游戏来说都算得上有奇效了。不得不感叹一下商业公司的效率。
但是,上手就遇到了问题,本该很顺畅的游戏,却无论如何无法打开,只有按钮发生了变化,过一段时间就关掉了,也没有任何窗口弹出来。按照网上说的,添加PROTON_LOG=1 %command%命令行,也没有起任何作用,任何日志都没有生成。
通过命令行运行Steam,发现报了个错误,

1
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/run/media/jackmyth/565C3B565C3B305B/SteamLibrary/steamapps/compatdata/3489700/pfx//dosdevices/c:'

根据这个错误查了一下,原来是Proton尝试在Steam库下创建Wine环境,但环境路径里有冒号,违背了NTFS的路径要求,会导致创建不出来完整的环境。
解决方式也很简单,就是在方便的地方创建一个文件夹,然后把compatdata这个目录链接过去。

1
2
mkdir /home/jackmyth/ProtonRuntime/compatdata
ln -s /home/jackmyth/ProtonRuntime/compatdata /run/media/jackmyth/565C3B565C3B305B/SteamLibrary/steamapps/compatdata

需要根据需要调整路径,每一个分区下的SteamLibrary都要链接一份,不过可以用同一个文件夹,放在一起就行。
网上的教程到这里就结束了,但实际上我再次运行依然没有成功,报了一个找不到explorer的错误。
并没有找到这个问题的解决方案,唯一有的是说把Proton本身也放在Linux分区内,给它也创建链接,但并没有起作用。
当时我甚至以为Fedora无法正常跑起来游戏,因为我找到了一个回答,说“N卡和Linux兼容性不好,SteamOS经过特调,所以SteamDeck能跑但PCLinux跑不起来是正常的”,果然半桶水害人不浅。
我将Steam的某个Galgame卸载了,安装到了Fedora分区内(EXT4文件系统),仍然无法运行,但我在调试的时候偶然选错了兼容层,选择了一个新的,而这一次却突然可以运行了。
经过仔细的观察,我发现Steam会将Proton安装在需要运行的游戏所在的库中,如果要运行的游戏在NTFS分区中,就会安装在NTFS分区里,而之后运行其他游戏时会使用已经装好的Proton。我猛然想到,既然Proton是固定的,那么把Proton装到Fedora分区不就可以了。于是我卸载了之前装过的所有Proton,然后通过运行位于Fedora分区内的游戏来把高版本的Proton安装到了Fedora分区里,然后游戏就可以运行了,包括《剑星》这类的大型3D游戏,并且运行效率还不低。


Valve官方有一篇关于Proton在NTFS上运行的文档,里面有更详细的内容。

配置新系统

Fedora,很好,并且界面也很花哨,先去设置里配置各种视觉效果,配的差不多了,也开始正式配置了。
首先就是Fedora不是Debian系的系统,使用的包管理器不是apt而是yum(dnf),所以deb软件是用不了的,这就导致了诸如搜狗输入法之类的软件都用不了了。
搜了一下,搜狗输入法使用的是Fcitx4框架,已经比较老旧了,并且和Wayland不兼容(这个时候我才发现Fedora是默认使用Wayland的,ElementaryOS比之差了半条街啊)。所以干脆直接换掉,入乡随俗,用一下Fedora上推荐的输入法。

安装输入法

首先使用dnf安装fcitx5和rime

1
2
3
sudo dnf install fcitx5 fcitx5-rime  # 输入法和rime
sudo dnf install librime-lua # rime需要用到的组件
sudo dnf install fcitx5-gtk fcitx5-qt #针对GTK,QT的兼容组件

在安装完之后,安装雾凇拼音

1
git clone --depth=1 https://github.com/iDvel/rime-ice.git

clone下来之后,把里面的东西都塞进~/.local/share/fcitx5/rime/文件夹里,这样雾凇拼音的配置就能生效了
然后在设置->键盘->虚拟键盘里选中Fcitx5 Waland

不知道为什么这个会叫“虚拟键盘”,但确实就是这么叫的,之前找了一圈没有找到,最后发现KDE面板里的输入法的提示叫“虚拟键盘”,想起来好像在那儿见过这个选项,才找到配置的地方,实在是有点抽象。

选择Fitcx之后,就可以右键输入法设置按钮,打开Fitcx5的配置菜单了,把rime(中州韵)加入输入法列表,就大功告成了。
由于刚才已经将雾凇拼音的配置文件塞进了Rime,所以这个时候Rime的输入法列表里应该已经有了雾凇拼音的选项。

我实际在用的时候,发现在刚激活Fcitx5的时候这里全部都是英文,比如rime-ice,doublepinyin之类的,也没法打出字来,正在着急的时候发现它莫名其妙的自己好了。看起来是Rime会自动同步服务器上的一些文件,所以如果出现打不出字的情况可以稍微等一等看看。
Rime的配置文件和Fcitx5是分开的,直接调整Fcitx5里拼音的候选词是不起作用的,需要直接去Rime的配置文件里改:

1
~/.local/share/fcitx5/rime/default.yaml

改完之后需要重新激活Fcitx5才能生效。虚拟键盘切换到无,再切换回Fcitx5就可以了。
对于很多应用来说,需要设置环境变量:

1
2
3
4
XIM=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

最后额外加一个LANG=zh_CN.UTF-8是Steam需要用到的,其他应用使用这四个就OK了。
使用的过程中发现部分应用会出现漏字,即打字的过程中有一部分文字不经输入法直接上屏的情况。这种情况不是因为打字过快,而是因为和Wayland的兼容有问题,需要进行特殊设置。
有两种方式,设置上文的

1
GTK_IM_MODULE=fcitx

或者,打开~/.config/gtk-3.0/settings.ini配置文件,在里面的 [Settings] 一节里找到gtk-im-module一节,将它改为

1
2
[Settings]
gtk-im-module = fcitx

然后漏字问题就不会再出现了

除此之外,这里也记录一下两个Rime词库的地址:

1
2
https://github.com/felixonmars/fcitx5-pinyin-zhwiki   # 中文维基词库
https://github.com/outloudvi/mw2fcitx # 萌娘百科词库

在release页面,下载.dict.yml文件,然后放在这里:

1
$HOME/.local/share/fcitx5/rime/cn_dicts/

随后,打开雾凇拼音的配置文件

1
$HOME/.local/share/fcitx5/rime/cn_dicts/rime_ice.dict.yaml

其中有import_tables一节,在下面把词库文件加进去就可以了。

NVidia显卡驱动

1
2
NVidia,FUCK YOU !
——Linus Torvalds

话虽如此,但现在的N卡驱动的安装过程比我预想中要稳定的多,曾经在使用ElementaryOS的时候尝试安装过一次,原地爆炸,重启之后就黑屏,再也见不到第二天的太阳,现在看起来就不会那么惨了。
首先需要启用Fedora的no-free仓库
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
因为N卡驱动不是开源的,所以需要no-free的仓库,启用后使用下面的命令安装驱动:

1
2
sudo dnf install akmod-nvidia
sudo dnf mark user akmod-nvidia

mark user 的作用是标记为用户安装,让驱动不要被意外删除。
如果直接安装的话,需要关闭SecureBoot才能起作用。我这里一直都没有打开,所以就先这样了。
如果要启用SecureBoot并且还要装驱动的话,需要把密钥导入到UEFI中,具体可以看这篇文档

安装Steam

游戏就是电子鸦片,而我们就是大烟鬼
Fedora不是Debian系软件,不支持deb安装包。Steam官网只提供了一个deb包,所以从官网下载看起来是没戏了。
不过好在,Fedora官方就支持安装Steam,甚至专门出了一篇文档。
Steam Installation
这里精简一下,大致就是启用no-free仓库,然后就可以直接sudo dnf install steam
但是我这里遇到了一个问题,在安装后,点击Steam图标,Steam并没有加载,也没有报错,就好像卡住了一样。但是我总觉得有那儿不对劲。然后打开活动管理器,发现Steam正占用着网络流量。我猜想应该是UI出了问题,正在下载更新但没有显示,所以我等待了一会儿,大概半个小时之后,Steam的登录界面才终于出现。
Fedora官方文档上有写着一个命令,或许可以解决这个问题:

1
__GL_CONSTANT_FRAME_RATE_HINT=3 steam

QQ和微信

Linux的QQ支持真的是非常好,安装QQ的过程没有什么好说的,全程都很流畅。唯独有一个会漏字的问题,在上面已经有了解决方案。所以大概没什么问题。
Linux的微信总体还是好的,但有打不出字的情况,根据网上的文档,右键微信图标,使用编辑应用程序即可打开微信的详细设置。
随后,环境变量里填入:

1
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx XIM=fcitx

其实就是上面的同款,填入之后就可以正常打字了。

QQ音乐

这个值得说道说道。QQ音乐目前有一个Linux版本,但安装后需要加额外参数才能启动,功能不全,且我安装后几乎所有的中文文字都变成了方块,不知道有没有解决方法,但我最后没有使用Linux版本。
我直接使用了Wine。

1
sudo dnf install wine

因为原先的Windows系统还没有删除,所以我直接使用了Windows用的QQ音乐。
刚安装的时候到处都在错位,但只要把硬件加速关掉,一切都变得正常起来了。
效果意料之外的好,QQ音乐的几乎所有功能都能正常使用,只是有一部分功能会出现细微的bug,整体稳定性也略差,但比Linux的阉割版本实在是好太多了。
存在几个问题:

  • 输入法不能正常使用
  • 主界面有黑边
  • 播放队列只能打开一次。

前两个都好说,第一个依然是上面的四条环境变量,第二个只有一点视觉错误,但不是很影响。第三个就比较麻烦了,因为播放队列在关掉之后,无论怎么点都再也打不开,等于缺了一个功能。不过我探索了一阵,发现可以开启精简模式,让QQ音乐缩成一个小东西,这里可以点开播放队列,并且可以正常展开和关闭。如果要用播放队列的话就暂时用这个吧。


算下来也是全功能的QQ音乐了,虽然稳定性堪忧,但一个音乐软件,只要能老老实实待在后台放音乐就好,也不需要它有什么很Fashion的功能了,正常使用不会突然崩溃就行。

Linux的各个发行版

要安装Linux,首先要决定要安装哪个Linux,我尝试了很多个,但每一个都有各种问题,这里都记一下。

ElementaryOS

根据我当年的使用经验,我先装了ElementaryOS,结果发现和曾经记忆中的好像差不太多,但自带的应用少了很多,远没有记忆中的多。

深虑、全能、有品德的Windows/MacOS替代品
明明连托盘都不支持,还真好意思说全能呢。
而且这有品德是什么鬼。。。难道是因为创始人走了一个还能继续坚持下去,所以有品德
印象里Elementary的预装软件应该很多,但这次安装却出乎意料的少,新版ElementaryOS已经没有磁盘管理这些系统应用了,只有一页多点的应用,看起来不仅是简洁,更像是简陋。托盘依然是没有的,即使QQ推出了Linux版本,但最小化之后就消失了,再也没法用正常途径打开了(当然可以用快捷键,如果能记得的话)
ElementaryOS8提供了Wayland支持,这是一套全新的显示平台,用来取代曾经的X11,类比一下,大概是Windows上的DWM?

这个SecureSession就是Wayland模式。试用了一下,直接黑屏,无法显示画面,曾经在ElementaryOS上安装N卡驱动然后黑屏无法进入系统的阴影重新被我回忆了起来。看起来这玩意儿仍然是个半成品,尽管有选项,但实际用的时候总是会出问题。
这么多年过去了,ElementaryOS还是一个样子,一样的风格,一样的简陋,一样的偏执。我甚至在想,如果新版ElementaryOS有了托盘,我会不会一直就这么用下去?
但现实没有如果,ElementaryOS的开发者保持了十年的偏执,不知道是有什么深虑。我这种凡人无法理解,只能敬而远之了。

NitruxOS

我尝试的第二个发行版是Nitrux,这个系统我曾经在大学的某实验室里实习的时候用过,当时感觉很不错,或许是使用了KDEPlasma,第一印象很深刻。于是这次也很快就想到它了。但网上冲浪了一阵,好像不少人给出了负面评价,不清楚是什么情况,先安装再说。

NitruxOS是一个“不可变发行版”。我记得当年好像不是这样的,大概是最近才兴起的风潮,当年还没有这样的概念。
当然,这个“不可变发行版”的概念我当时并不是很了解,在安装之后依然是原来的感觉,没有什么大的变化,而且自带显卡驱动,这省去了装驱动的过程,也让我不必再次经历一遍“童年阴影”。
不过糟糕的事情在重启之后就发生了。我安装的软件,做过的设置,甚至设置的壁纸都消失了。我以为是碰到了什么重置设置,于是又设置了一遍,重启,所有东西又都没了。
我突然先起来了,原来“不可变”是这个意思,所有对系统做出的修改全部都不会保存。但这个范围是不是有点太大了,不仅是系统,包括系统分区在内的所有东西全都消失了,包括安装的软件,设置的壁纸,全都没了。
翻了一下NitruxOS的文档,警告说不要使用单分区的布局。原来如此,看起来是我僭越了,但在Linux上保持大部分系统文件不变,还要能日常使用,感觉有点天方夜谭。事实也确实如此,之后的使用中有很多必须修改系统文件才能起作用的步骤,如果在不可变发行版上大概会变得很困难,所以还是算了。。。

ZorinOS

ZorinOS,很漂亮,感觉比ElementaryOS还要优雅。我是个很看外形的肤浅之人,所以就下载下来看看。

怎么说呢,安装过程中规中矩,但使用的时候出现了一个小插曲,让我退缩了。
ZorinOS是Ubuntu的发行版,使用Deb作为安装包,但我在双击deb之后什么也没有发生,没有弹出安装界面,没有弹出错误提示,就什么也没有发生。
看了一下活动管理器,好像是有一个应用商店的进程在后台,大概是卡住了,所以我打算换个方式安装deb。
之前有用过GDebi安装器,感觉很OK,准备装上试试这个。
安装上之后,确实能正常安装Deb了,但在我打开应用列表之后,却发现原本有四五页的应用只剩下了一页多点了,明显莫名其妙的少了巨量的应用,不知道是什么情况。大概是GDebi安装之后和原本的应用列表有冲突,曾经在ElementaryOS上卸载Wine却把半个系统都卸载掉的阴影又浮现了出来,真的是一点也用不下去了,这真是一个能日常使用的系统吗。。?

Kubuntu

处处碰壁,这个时候我已经很烦躁了,如果Ubuntu的各个发行版都有毛病,那我能直接用Ubuntu吗?
或许可以,但Ubuntu的GNome实在是有些古板。不过我发现了一个使用KDEPlasma的Ubuntu发行版-Kubuntu,号称Ubuntu阵营的颜值担当。

但上来就给我一个下马威

就在这个界面,选择语言,我很自然的就选择了中文。
然后,整个安装器就卡住了。卡住不动了,然后,崩溃,整个系统什么界面都没有了,只剩下一个壁纸。
我又试了一次,重启,打开安装器,选择语言,和上次一样,卡住,崩溃,界面消失,什么也没有了。
Kubuntu的表现让我大跌眼镜,或许不修改语言,直接使用英文就能正常安装,但我无法接受,我无法接受一个操作系统居然在面见用户的第一个选项上就无法正常工作。


或许Ubuntu整个分支都与我八字不合,我最终选择了放弃,转向了全新的操作系统:Fedora

Fedora

Fedora与Ubuntu是不同的分支,并且有明星代言(Linus严选),各种周边环境也跟Ubuntu不同,并且是个相当出名的发行版,所以可能会更好。

Fedora最新版是42,本来是GNome的桌面环境,但从去年开始换成了KDE,感觉非常不错,很符合我的肤浅审美。
安装过程比预想中的好很多,很顺利的就结束了。安装后的配置过程也非常流畅,流畅到好像没什么可写的地方。仅仅一天就开始操练起来了。
当然,要说Linux真的能开箱即用那是不可能的,只是之前使用的时候从未到达过这么远的地方,下一篇文档再详细讲一下安装系统之后的一些基本设置。

Intro

我在大学时曾经在U盘里安装过ElementaryOS,但体验相当不好,偏执的取消托盘支持让相当一部分软件无法正常运行。我完全不能接受这种怪异的设计,但也让我对Linux有了一点理解。ElementaryOS就像是其作者的玩具,可以随他们的意愿随意变换形状,即使让大量用户饱受折磨,但毕竟这是人家的东西,除了放弃之外也确实不好说什么。
在一次更新黑屏后,我彻底放弃了ElementaryOS。我不是什么有追求的偏执用户,或许正常一点的系统更适合我。


一转眼五六年过去了,Windows10停止维护的日期逐渐迫近,各个网站上也都打起了广告,蹭流量的博主们也不厌其烦的重复着停止维护的消息。
但某一天开始,我突然有一种奇怪的想法,我想要脱离Windowws,全面切换到Linux上去。
Linux近些年确实有了长足的发展,但我产生这个想法仍然很奇怪。或许是看到了Valve的Proton甚至已经能运行相当一部分的游戏,让我对于将Linux作为日常使用的系统有了些许的信心。Linux发行版众多,总不能都是ElementaryOS的那种偏执狂的类型,或许也有某个温和的能和我契合。
经过相当长的磨合,我或许终于找到了一个能勉强日常使用的发行版,也磕磕绊绊的解决了相当多的Linux专属问题,也深刻理解到了Linux的“碎片化”。与之相比,安卓的那叫什么碎片化,简直是铁板一块。有感于此,开一个分类专门写写日常使用Linux遇到的各种问题以及找到的解决方案,在自己重装系统之后也能根据这些文章重新把“环境”搭建起来,不至于忘记。

我终于觉得有写一点东西的必要了

配置了很久,GithubAction也练习了很久,总算是磕磕绊绊的搞完了。
虽然过程有点坎坷,但效果意料之外的还不错。
虽说“工欲善其事,必先利其器”,但总觉得磨刀的时间有点太长了。仿佛是陷入了一个陷阱,不是为了写文章而搭建网站,而是为了搭建而搭建。
很小的时候,大约初二的时候,曾经搭建过一个很简陋的软件,也学了FTP之类的东西,那个时候就是为了搭网站而搭网站,搭起来要做些什么?不知道,不清楚,但也不需要,有一个网站本身就是一个很有意思的过程。
一转眼十多年过去了,已经记不清这是第几次搭起来一个可以访问的网站了。小时候觉得有一个自己能掌控的网站非常fashion,现在看起来也就那么回事,不过这次或许我还是有不少东西可以写的,平时鼓捣的零零碎碎的东西堆起来也能算得上一个小奇观了。姑且把名字叫做垃圾场,无论是什么东西,总之丢进去就好了。