我的 Arch Linux 和 LineageOS 使用心得
前段时间看 使用 Arch Linux 一年的感受 收获了不少 App ,我也分享一下我在使用 Arch Linux 和 LineageOS 的一些心得,
原文见:将 Arch Linux 和 LineageOS 作为主力系统。
个人觉得比较值得一提的是:WireGuard 的自动切换、 WireGuard 搭配 KDE Connect 使用、浏览器插件&书签的管理。
Arch Linux
设备选择:联想小新 14 AMD 5800H ,内存 16G 有点小,建议自行更换 AX200 网卡。
选择 Arch 主要是因为除了安装麻烦一些,其他都太友好了,尤其是 pacman 和 aur 。
使用 Arch 可以让自己始终保持可以安装到最新的包。
这里安装 aur 使用的是 yay。
如果你需要相关的安装教程,建议参考 Arch Linux 安装使用教程 - ArchTutorial - Arch Linux Studio。
软件使用
我选择了 KDE 全家桶,整体上使用起来还好。
以下为我在 Linux 上使用的部分软件:
Konsole - 终端
Ferdi - 类似 Web 转 App 的应用,我加入了 Telegram 和 Discord
Telegram 的原生 Qt 版本体验我感觉一般
Zotero - 文献管理,准确说我用来标注查阅书籍、课件等等
我没有使用它的同步服务,我直接将全部内容移动到 Nextcloud 进行同步
使用 Nextcloud 同步时应当忽略 *.sqlite-journal 文件
Okular - 查看 pdf
解决中文字体在 hidpi 的渲染
参见:Linux 下的字体调校指南。
配置完成后,更新特殊应用,比如 code - oss 设置 terminal.integrated.fontFamily 为 monospace。
奇怪的粘手问题
设置 - 输入设备 - 触摸板 - 取消勾选轻触拖拽。
Code - OSS
当使用开源版本的 VSCode 时,会因为授权无法使用 C/C++ 插件,这里选择 clangd 替代即可。
LineageOS
设备选择:
红米 k30s:LCD 屏幕,LineageOS 官方更新比较勤快,目前已有 LineageOS 19.1
小米平板 4:可能是唯一一款带 LTE 的小尺寸平板,xda 有非官方版的 LineageOS 19.1
Nvidia Shield TV:只能刷入 LineageOS 17 ,不过也够用了,建议用原版系统,LineageOS 似乎没适配配套的遥控器
通知推送
使用 MIUI Push Framework ,为了让更多的 App 可以使用,你需要写入一些参数,miui_push_device_fake 供参考。
另外在这套方案下还可以在冻结 App 后继续收到通知。
冻结应用
我选择:雹( Hail )。
相机
我在 xda 上寻找了使用 Google 相机的方法,另外我关闭了 Google 相机的网络权限。
输入法
使用 Gboard 同时关闭对应的网络权限。
F-Droid 上其他应用清单
Bromite - 隐私加强的浏览器作为备用
Ultrasonic - 使用 navidrome 作为音乐后端播放音乐
DeepL
Nextcloud
Telegram FOSS
Jellyfin
Tasks.org - 任务管理,后端使用 Nextcloud
Material Files - 很棒的文件管理,包含 Root 文件管理,搭配 Sui 使用
DAVx5 - 联系人同步,后端 Nextcloud
Gadgetbridge - 同步小米手环
VLC
Forecastie - 天气
Gerometric Weather - 天气
Aurora Stuore - Play 商店替代,我没有使用 GMS 和 microG
App Manager
Librera Reader - 看 pdf
Gotify - 接收各种通知,比如 NAS 任务通知
Termux
Droid-ify - F-Droid 非官方商店
openScale - 连接体脂秤
Neo Backup - 应用备份(包含数据),之前叫 OAndBackupX
AccA - 充电到 80%
RCX - 基于 Rclone 实现的客户端,非常棒
Kore - Kodi 远程控制
访问内网
之前我曾写过一篇 tproxy 的使用,这里提到了如何用 ss 解决上网以及访问家里内网的方案。
但更合适的解决方案是使用 WireGuard ,这样每个设备都会拥有一个 wg 的 IP 网段,可以在各种网络环境下将连接到 wg 的设备看做在一个 wg 内网下。
这有一个非常重要的使用场景:手机 4G 、PC 连接非家庭 Wifi ,二者可以继续使用 KDE Connect 做设备协作。
这里我的 PC 、手机不是一直在内网或外网的情况下,需要频繁切换 wg 的开关状态。
我分别写了两个自动切换的控制。
Linux 根据网络自动切换 WireGuard 开关
参考代码如下:
➜ ~ cat /etc/NetworkManager/dispatcher.d/50-wg0.sh
#!/bin/sh
interface_=$1
status_=$2
case $status_ in
up)
if [[ "$interface_" == "wlan0" ]]; then
if [[ "$CONNECTION_ID" == "wifi_name" && "wifi_connection_uuid" ]]; then
wg-quick down wg0
else
wg-quick up wg0
fi
fi
;;
down)
if [[ "$interface_" == "wlan0" ]]; then
wg-quick down wg0
fi
;;
esac
思路很简单,利用 NetworkManager 的切换回调,当连接 Wifi 为内网时,关闭 wg ,其他场景(连接到其他 Wifi 、断开 Wifi )均断开 wg 。
Android 根据网络切换 WireGuard 开关
可以使用 Tasker 、Automate 、Automation 等软件写自动化任务,(可能是我使用姿势不对?)可靠性不够,经常出现没有打开的问题。
为此,我写了一个 Magisk 模块,通过 ip monitor 监听 wlan0 的 ip 变化进行切换,详细参见:WireGuard AutoConnect for Android 。
这里应该有更好的解决方案,不过上面的 Magisk 模块对我来说已经可以做到稳定切换的能力。
多设备协作
使用 KDE Connect 即可,可以完成剪切板同步、简单的文件或浏览网页分享,还有通知、远程控制等等。
不过 Android 目前限制了后台访问剪切板的能力,我使用 Clipboard Whitelist 解决该问题。
当两个设备不在一个安全的同一网络下,设备仍然可以同时,参见上述的 WireGuard 相关内容。
DLNA 投屏
iOS 设备在这里投屏体验可能较差,经常找不到投屏目标,我不清楚原因。
在 Android TV 上安装 Kodi 打开 DLNA 、Airplay 投屏即可。
浏览器
Linux 上我选择 ungoogled-chromium ,Android 上使用 Kiwi Browser 。
上面两个都可以安装 Chrome Extensions ,我使用 chromium-web-store 安装更新 ungoogled-chromium 的 Chrome Extensions 。
书签同步选择:floccus bookmarks sync (同步后端使用 Nextcloud )。
由于 ungoogled-chromium 安装时间比较长,可以使用以下参数解决 sudo 授权超时问题:sudo yay -Syu --sudoloop。
备份
虽然写在了靠后的位置,但实际上这是相当重要的内容,使用任何系统、软件都可能在预想不到的时候出现不可用的情况,所以备份是重中之重。
我选择了 restic 对 Linux 进行全盘备份,使用 Automatic restic Backups using Native OS Task Schedulers 完成定时备份的能力。
后端我选择了 restic server 部署在群晖上。
另外还可以使用 snapper + btrfs 进行每小时的快照备份。
在群晖上的备份我选择了官方的 Hyper Backup + restic 备份到公有云,restic 支持后端存储非常多,这里我选择了性价比很高的 B2 backblaze 。
密码管理
Bitwarden 客户端加上 vaultwarden 作为后端保存数据。
记得做好备份,另外配置上有一些需要注意的地方,参见:升级群晖到 7.0 版本的 HTTPS 和 Vaultwarden 配置方案 。
邮箱
客户端选择如下:
Linux:KMail
Android:K-9 Mail
另外我使用 OpenPGP 加密邮件搭配 simplelogin 注册账户。
在 KMail 上设置调整:
外观 - 信件预览面板 - 勾选在信件列表旁现实信件预览面板
Anki
背单词神器,后端使用 anki-sync-server-rs 部署,参见:使用 anki-sync-server-rs 部署自己的 anki 同步服务。
RSS 相关
rsshub:为更多网站添加 RSS 支持
miniflux:RSS 阅读器同步&拉取服务(包含 Web ),类似 Inoreader
NewsFlash:Linux 上的 RSS 阅读器,支持直接 miniflux 登录
News ( F-Droid ):Android 上的 RSS 阅读器,同样支持 miniflux 登录
wallabag:稍后读
flowerss-bot:RSS 即时通知
刚刚基于 xda 上的项目,成功把带 WireGuard 的 LineageOS 19.1 编出来了(小米平板 4 ),过程参见: dianqk.blog/2022/05/21/build-custom-lineageos-on-archlinux/ ,下载地址 sourceforge.net/projects/xiaomipad4-clover-lineageos/files/lineageos-19.1/ 。
Ubuntu 桌面 + LineageOS/PE 用户点赞
感谢分享,收获不少 Android App👍
青总
彪悍。我也想,但我做不到。
想用 KDE Connect 但是 KDE 太重了,有轻量化的替代品推荐吗?
lineage 缺一些通话自动录音之类的功能,而且只有 nightly build ,更倾向使用一个 lineage 衍生的发行版。
感谢分享,有参考意义
KDE Connect 已经是独立的软件,应当可以在其他系统中单独使用
现在的版本有提供录音的选项,打电话之后就可以开启(不过我也不清楚有没有自动打开的选项)
nightly build 我倒是挺喜欢的(就当是匹配 Arch 了,假的滚动更新
衍生版我也调查了很多,看起来更新的频率不高(只有 Pixel 系列好一些)
俺也是 Arch/KDE + Lineage OS !
感谢分享 Magisk 模块,今晚装上试试
Wireguard App 的内核模式必须 Root+内核带有 Wireguard 模块,不仅要找别人自定义编译的内核,每次 OTA 更新之后还要重刷内核,一直都很头疼
啊…仔细看了一下,我使用 Wireguard 的方式可能和你不太一样,习惯持久连接而非根据网络条件切换(因为网段设在 10...,和我的局域网环境 192.168..*网段不会冲突)
有什么方案能在 Lineage OS 19 标准内核下持久运行一个 wireguard 的 daemon 吗?以前装了 Termux 折腾过,但好像没有成功…
我记得原版没有自动开启的选项,是衍生发行版 patch 过才有的。
Android 没法像 Arch 一样搞清楚整个系统,而且 Arch 滚的也是最新的稳定版而非 nightly 。
况且 Android 这种 整个 system immutable 的系统 更新频率低一些更稳定吧。
rxswift 我还看过你教程呢 😏
感谢分享
有收获
然而 pacman -S kdeconnect 需要安装 71 个包,我还是算了
总结的很棒。anki 有更新了啊,抽空我也重新部署一下
一个问题,tg foss 和 google play 版有何区别?会有广告吗
为啥要经常切换 wg ?没有理解。
感谢分享
Mark ,总结很棒。
手机和笔记本经常会带出去,自动切换就能保持始终和家里的内网连接
确实有些 ROM 会主动关闭内核的 wireguard ,不知道原因是什么
如果这台设备不会放到家里局域网中,那确实没有切换的必要,直接用 wg-quick up wg0 (配置文件名) 就行了,kernel 会自动处理,关闭就 wg-quick down wg0
关于这一点的话,我感觉该出问题的时候还是会出,稳定版 != 没有 bug (上次有个内核 bug ,螃蟹 Wi-Fi 不能用了),铭记:不要在明天还有事情忙的时候更新。
rust 版本的,可能不能兼容 py 版本,得迁移一下
有广告,去掉了 gcm 之类的闭源组件(换句话说没有通知了,必须挂后台)
出问题可以降级啊,Android 降级得双清
离开 android 好几年了,看了一些 f-droid free software 推荐,觉得 android 也真的美好,开源万岁!想买一个天玑 8100 的 android 手机了。
推荐阅读:
- F-Droid 应用推荐 meta.appinn.net/t/topic/15095
- F-Droid 使用指南 sspai.com/post/63647
- 一个 F-Droid 应用清单 github.com/offa/android-foss
- 清华大学 fdroid 镜像 mirrors.tuna.tsinghua.edu.cn/fdroid/
忘了提及,感谢楼主的分享,见识到不少新玩法。
联发科 CPU 的 android 手机折腾会麻烦很多,比如解 BL 锁和 Root 会麻烦不少。
————————
Android 原生系统下有自动微信通话录音的解决方案么。
但…怎么执行 wg-quick 呢? Termux ?
可以先安装 WireGuard 的 app ,里面有个写入 wg-quick 到 magisk module 的选项。这之后就可以 su 用 root 权限执行了,我写的这个模块就是从这个 app 提取的。
www.wireguard.com/install/ 也可以直接 pkg 安装(这个我没有试过)
青总也开始用上 Linux 了
佩服佩服!
已经开始拿来日常用+写代码了
在 Android TV 上安装 Kodi 打开 DLNA 、Airplay 投屏即可。
请问 tvsou 端安装 kodi 后,移动端怎么投屏到 TV ,后半句没大看明白,
Kodi 里面有一些设置的选项,可以打开 DLNA 作为投屏服务
楼主和我很多共同 app 和应用哈 不同之处是我的后端是基于 pve 和 docker 建立的 群晖总觉得 都用 linux 了还群晖
nextcloud 我有 jellyfin 布了 termux 安卓主力 kodi 多媒体主力遥控器我用 yatse 访问内网简单粗暴 openvpn 密码也是 bitwarden wallabag 也用 Material Files 也有不过熟悉了 cx 管理器了哈 。。。其他可以参考我的私有云部署的文章
#22 并不是 kernel 故意关掉了 wireguard 。Linux 5.6 的时候 wireguard 才正式进入 mainline ,在这之前的版本是没有 wireguard 的,需要维护者在 kernel 内手动添加 wireguard 为旧版本 kernel 做的 backport 。如果维护者没添加,那自然就没有……
一样用 Okular ,可以调整 pdf 背景显示颜色,一般调稍微泛黄一点护眼。还能任意切边显示。
windows 下用 Sumatra 看 pdf 。
以前从没注意过,感谢指教!
完整的解决方案。。。虽然细节没写到,但是已经是很不错的一个目录。
😭看了一下帖子,照片一样难搞定,我目前用过感觉足够好用的还是群晖的 Photos (另外媳妇也要跟我一起用,开源的那些我只能等体验更好的时候再考虑了)
原来如此,那看来 Android 上的是后来补上去
那可能要写好多了,大部分有个名字应该就可以找到解决方案了
是啊,而且每个细分下来,其实都能讲很久,很多坑点。
没有一定的知识经验,每个坑都需要踩一遍。。。。哈哈哈
kodi 也支持 ios 的 airplay 吗 除了 dlna
可能也还好,搜索个关键字就能找到大量资料,就是不一定是最佳实践,有一些明显注意点的(其他文档可能没有提到的,我有加上,比如 bitwarden 的文件服务)
应当支持的,但我没有测试过,另外部分 iPhone 上的视频 App 投屏会失败,原因不明。
感谢
请问开机后鼠标滑动经常失常(变得过快),在设置里重新调节后才恢复。这是什么原因导致的
不清楚,或许可以在 archlinuxstudio.github.io/ArchLinuxTutorial/ 里面提到的 Telegram 群组询问看看
这么装的 Google 相机和 Pixel 相比效果怎么样?
扫码体验,也就是能拍东西
ungoogled-chromium 不从源码编译的话官方推荐大蜥蜴的二进制预构建版本:
github.com/ungoogled-software/ungoogled-chromium-archlinux#open-build-service-repository=
ungoogled-chromium 官方的安装 extension 教程:
ungoogled-software.github.io/ungoogled-chromium-wiki/faq#can-i-install-extensions-or-themes-from-the-chrome-webstore
termux 有清华、南大等源可用:
mirrors.tuna.tsinghua.edu.cn/help/termux/
Jellyfin 断断续续用了大半年,小问题不断,换了 PLEX 之后好很多
12 代的笔记本装了 Manjaro 换到最新内核 5.17 之后依旧有问题
- 休眠之后网卡与蓝牙无法找到适配器
- 喇叭杂音不断
实在忍不住来发一贴吹一下 Ruby on Rails 。这两天用了一下,简直太爽了。 (在下之前一直是在中小企业做全栈,用过一些其他的语言和框架,主要是用 Node/Pytho…
今天,苹果公司向开发者发布Xcode 4 Preview 2,这是一个IDE用来开发在Mac,iPhone,iPad上应用程序的工具。在这个第二预览版中,主要有以下新的功能: …
为啥看用安卓好多人喜欢用手势。。。。用虚拟键返回以及到主页和查看进程任务比手势方便吧,为了简洁? 我想下哈,大概是:1 ,最大限度利用整块屏幕2 ,大尺寸手机手指操作方便3 …