0%

将ubuntu用作日常使用的系统

事情是这样的,按计划今年我要开始准备考研,三月份左右开始正式复习。

但因为新冠疫情的原因嘛,大家都要待在家里上网课,于是就天天抱着一个笔记本,就不自然的开小差,打游戏,学习效率就很一般。

那么能不能找个什么办法限制我使用计算机打游戏呢?为此我使用了一段时间Cold Turkey,但是我总能从奇奇怪怪的地方找到游戏资源,然后在Cold Turkey不管不顾的角落进行游玩。

于是我决定从根源解决这个问题,使用一个玩游戏体验极差的系统,增加打游戏的难度。不考虑高成本的苹果系统后,我决定切换为linux系统,并逐步把它打造成一个我可以日常使用的系统。

这篇文章主要作为一个记录向的吧,记录下思路,各样的步骤网上都浩如烟海,我也就不必多此一举了。

选择与安装

最开始的时候选择的发行版本是Ubuntu 19.10,选择Ubuntu主要是因为之前接触过,而且普及率也比较高,个方面支持都比较好。但是还没怎么设置好,Ubuntu 19.10的支持期就快到了,然后Ubuntu史上最长支持周期的Ubuntu 20.04 LTS发布了,就自然而然的切换到了这个版本。

安装过程还是值的说说的,之前一段时间我接触到了Ventoy,可以直接启动系统文件,安装各种各样的系统,不用反复格式化U盘,甚至能放一个weipe进去,还支持更新,就很方便。我下载了Ubuntu 20.04的镜像放了进去,之后出于过渡以及其它方面的原因,我保留了原有的Windows 10,选择了双系统的方案。

美化及基础设置

一个看上去好看一点的界面,会让使用时心情好很多。

深色主题

为了实现深色主题的效果,我选择了dark的color,并配合优化工具的使用,实现了系统全局的yaru主题

大多数软件都会随着系统深色主题的选择而改变配色,一些较新的软件也支持手动调节到深色模式,体验就很不错。

额外扩展

当然,一些必不可少的扩展插件也得提一下。

Dash to Dock:对Dock的行为进行设置,比如改变位置,长度,大小,隐藏时机等,我是设置到了左边,在可能遮挡视线的情形下隐藏,挤压在一定值的时候显示。

Hide Top Bar:在不必要的时候隐藏顶端的状态栏,配合Dash to Dock就可以在专注的时候提供全屏的沉浸体验,感觉不错。

Touchpad Indicator:在使用鼠标的时候禁止笔记本触摸屏的使用,这个在编写文本文件时不知道得有多好用。

User Themes:用来设置系统主题,会有很多花里胡哨的,但是我还是喜欢Yaru的这个配色。

还有一个,放后面说。

桌面背景

我个人比较中意PPT式的背景,隔一段时间换一张就很不错。Ubuntu支持从文件夹中选择图片切换播放,这样使用的话,需要准备一个足够分量的文件夹,而且做好备份(PTSD)。

我是了解到一个叫Varety的软件,支持PPT是一方面,他还能从指定的网站下载图片进来,保存或自动删除。设置得当的话就总会有无穷多的背景图片看。

就不用我特地去wallhaven.cc找桌面壁纸了。

日常应用

首先点名批评腾讯,腾讯对民间技术打压力度一直很大,而且在linux上极为敷衍,没什么能用的软件。垄断且不作为。

钉钉:虽然钉钉没有官方的软件包(听说貌似在做了),但是有民间的electron封装版本,基础用用还是没问题的(我为什么会闲着没事想着用钉钉!)

Flameshot:一个很不错的截屏软件,功能强大,支持标记,展示等。

网易云音乐:音乐软件,我比较常用。

Free Download Manager:下载工具,能跑到慢速,就是不支持种子链接。

nomacs:图片浏览器,ubuntu自带的那个平常海星,一旦开大文件就效果不是很好,换成nomacs后就好很多。

Qalculate!:之前自带的计算器乱码了,怎么都解决不了,于是又找了一个,功能很强大,还支持编程,爱了爱了。

todesk:远程桌面软件,国产软件,最近才有了linux客户端,还在慢慢测试,但是未来可期

v2rayA:懂的都懂。

WPS:常用国产办公套件,处理office文件挺不错的,还一直在更新。

Google Chrome:我个人还是比较喜欢使用Google浏览器的,也卸载了自带的Firefox。

vscode:我最常用的文本编辑器,插件众多,可自定义性极强。

考研环境

这里点名表扬腾讯,正是因为没有腾讯的一众社交软件,我才可以在ubuntu杜绝水群,避免无意义的社交活动。

关闭Grub界面

既然Windows 10被保留了下来,那么我直接在引导时选择Windows 10系统不就可以躲开Ubuntu嘛?这就意义不大了。所以第一个动作是关掉Ubuntu自带的Grub引导界面。绕过繁琐的配置文件修改,我找到了个友好的GUI程序,Grub Customizer,可以对grub引导界面进行自定义,比如换一个好看的主题,进行复杂设置等。

对于我则自然是选择了隐藏其它选项,默认启动Ubuntu。

减少网页娱乐

刷刷B站,知乎这样的网站一直是我的杀时间活动,经常会身陷其中不可自拔。知乎我是直接注销了账号,日益不能正常刷了。但是不能所有的网站都这样,我需要找个办法阻止我自己上这些网站娱乐。

这个办法就是LeechBlock NG,一个浏览器扩展,可以设定想要拦截访问的网站,以及开放时间。我把开放的时间定在了早上,这样除非早睡早起,不然就别想了(但是后期我还是经常性熬夜)

看网课

emm,绝大多数的网络资源都会通过百度网盘进行分享,我对视频类的资源主要的需求是倍速播放,PDF类资源主要是随时能打开,这两个要求在不开会员的前提下都无法使用百度网盘实现。

我采用的是OneDrive Client for LinuxVLC以及ubuntu自带的文档查看器,整个下来会比百度网盘的会员便宜很多。

首先采用某个如果扩散了会被百度制裁的软件下载需要的资源,再存到拼车购买的office 365家庭版提供的1T的onedrive中,在ubuntu中采用略显硬核的OneDrive Client for Linux进行管理,使用VLC倍速播放,使用文档查看器的反色模式看PDF。

需要注意的是OneDrive Client for Linux不是官方客户端,它的管理策略是将文件全部下载到本地,并且没有GUI界面的,会比较痛苦。

查词典

在英语单词的学习中总会用到各种各样的词典,一般而言在手机上装个类似的应用就行。我在网上找到了一个比较有意思的软件,GoldenDict,这是个查词典的软件,拆开来看就是查和词典。

如果想要使用GoldenDict,需要先导入各式各样的词典,接着归类,设置查找方式,不是那种“开箱即用”的软件,我还找到了一篇长长文章(现在不见了)讲解如何使用。也是第一次知道网上还有丰富的词典资源制作与分享。

freemdict:一个词典分享论坛

思维导图

我对思维导图的要求比较苛刻,除了文本描述的知识点框架,还希望加入各式各样的细节展示图例,就其实没有特别好的解决方案。

思维导图可以使用XMind或者FreeMind,然后导入其它软件制作的图例。

但其实我自己更想使用EDrawMindMaster的组合,功能强大实用,就是价格问题让我再三确步。

Anki

emm,在遇到这个软件之前我从没想到自己会有这样的需求。

Anki是一个助记软件,工作方式是编写小卡片,然后根据记忆的情况动态调整下次抽取背诵的间隔。它甚至还支持latex!

我主要就是通过Anki记忆数学公式以及政治选填,记忆效果还不错。

(TAT想起自己政治大题没背熟以及数学基础不扎实就留下了悔恨的泪水)

深度使用

考研过后就可以放开限制了,我也有了更深一步使用ubuntu的打算。

备份

首先是安装了duplicity,其实很早就装了的,当时因为一些错误的操作,我在装双系统时选错了磁盘,丢失了几乎所有的文件,然后开始有了备份的意识。

目前的策略是使用duplicity每周备份一次,并将备份保存在ondrive上,日常工作文件也尽量选择在ondrive的目录下进行。之前丢失的文件,有些对我来说还挺难受的,这样的策略,让我在日常工作时不用再担心文件丢失的问题。

不过因为大量文件丢失,我后续还是得做很多的事情。

多屏联动

这个算是让我充分意识到局域网的充分利用了吧,描述起来的话有点像Apple,华为或者小米那样的生态,自家的手机,电脑,平板可以共享剪贴板,分享文件,接受信息以及将移动设备的屏幕投射在PC端。

首先是KDE Connect,支持在Windows,Linux,Android平台上安装,首次使用时需要在不同设备之间建立起连接,然后就可以实现消息的共享,剪贴板共享,文件共享等功能,第一次适配之后会相互记得只要连接在同一局域网中便可以连接,用起来蛮爽的。

然后是Scrcpy,可以展示以及控制android设备,提供了丰富的参数实现复杂的功能。本体没有GUI界面,到是有第三方进行开发,但也并不总令人满意。

Scrcpy可以展示同一局域网中通过adb连接的android设备,基于这个原理,我写了一段每隔10s检测我的手机在不在同一局域网并进行连接的shell脚本,自认为还挺有意思的。

思路是通过arp以及mac地址来检测手机是不是在同一局域网下,然后adb连接,最后scrcpy展示。

1
2
3
4
5
6
7
8
9
10
11
12
while true
do
phoneIP=$(arp -a | grep 'ff:ff:ff:ff:ff:ff' | cut -c 4-16)
existsIP=$(adb devices | grep $phoneIP | cut -c 1-13)
if [[ -z $existsIP || $phoneIP -ne $existsIP ]]
then
adb connect $phoneIP
scrcpy -S --window-title 'Huawei Honor V20'
adb disconnect $phoneIP
fi
sleep 10s
done

这个脚本也在启动时被调用。

截图并OCR

这是个坑,先挖在这里,通过腾讯的接口实现的,能OCR普通文本或者latex,但是因为没备份的缘故丢失了,后续补上。

看看我用各个平台的接口开发之后的对比吧:基于shell的数学公式识别程序

AX210

AX210是一个intel网卡的型号,支持更好的WIFI和蓝牙,我一直都在想要不要换下自己的无线网卡,在考研结束后的半个月里,我最终决定购入替换。

emm,在没有仔细查阅当前是否有驱动支持的情况下。

在花费一个多小时前往市中心拧掉被我拧滑的网卡固定螺丝然后又精力一个多小时回到学校后,开始使用AX210。Windows 10作为主要适配方,完美适用没一点问题,然后至于ubuntu 20.04这里,intel官方的驱动最新是AX201,就很不巧的,差了一个版本。

我在查阅了诸多资料后,终于在一篇报导里找到了线索。Linux在5.11的内核版本中,首次支持使用AX210,然后我就去装5.11的内核。特别有意思的事情发生了,5.11的第一个rc版本就在考研结束后发布的,直到我查询时还是第三个rc版本,好家伙。

换完内核后,也是可以顺利使用WIFI了,但是蓝牙暂时还是不行,这个感觉得稍微等一段时间了,我换得着实早了那么一丢丢。 在更新到rc4后,蓝牙也支持了,就是刚装好遇见了玄学bug,之后就正常使用。在稳定版发行前之前就不再更新了。

emm,其实还是有点问题的,切换到rc4之后鼠标和键盘都在登录界面无法使用,也没法进入命令行,就问题很大。到是可以通过rc3的内核进入系统,然后这个时候蓝牙,wifi,鼠标键盘正常使用。

最后的解决方式是在白嫖完rc4的蓝牙驱动后,删除rc4切换到rc3,当然也可以保留rc4。多亏了 Grub CustomizerUbuntu Mainline 这两个GUI工具,让我的测试与实验顺利进行,不至于一不留神又得重装系统。

升级内核的过程还把iptables给弄坏了,导致我一度没法使用v2rayA,还好在作者的及时回复中解决了问题。

2021年2月21日更新

最近又去官网看了看,AX210的官方驱动发布了,需要5.10+的内核,然后发现笔记本里安装了这个驱动,可能是升级内核时带的,也可能是本来就有,就是升级完内核刚好能用了。

5.11的正式版已经出来了,但是会遇见登录界面鼠标和键盘都没法用的情形,于是我还是在使用rc3。

尾声

博客的更新在备考中就暂停了(虽然之前也没更过多久就是了),考研的结果感觉不怎么理想,估计要着手准备校招和毕设了,就算为自己添彩,博客也会更新的勤一点。加油吧。