KDE Tricks (3) —— Howdy!
需求
你好!想让电脑跟你打招呼嘛,就像 Windows Hello 那样?来试试 Howdy 吧,它是 Linux 上通过电脑的红外传感器(或摄像头)识别人脸,解锁电脑的程序。
Arch Linux Wiki 上有对它的介绍。Howdy 最新的稳定版是 v2.6.1,发布于 2020 年,因此有很多配置会在如今出现问题,在这篇博客中记录一下。
操作
安装
在 Arch Linux 上可以以 AUR 包的形式安装:
1paru -S howdy
添加红外传感器 / 摄像头
可以在诸如 cheese、fswebcamAUR 或者 v4l-utils 的程序里找到并确定能连接到红外传感器的正确 /dev/videoX 文件,
以内置于 v4l-utils 软件包的工具为例:
123456789101112$ v4l2-ctl --list-devicesIntegrated_Webcam_HD: Integrate (usb-0000:00:14.0-11): /dev/video0 /dev/video1EyeChip: Tobii Video (usb-00 ...
补完高中的数学发现
写在前面
这是我为自己高中的数学探索过程补上的拼图。我不是数学专业的学生,因此有很多推理过程会掺杂着自己的直觉,也会有很多不严谨的描述,感觉有点班门弄斧了,请各位多多包涵。如果各位能提出一些全新的观点,我更是感激不尽。
我还是不想做一个辜负以前的自己的人。
探索过程
高中时的一天,我闲来无事,在纸上画长方体的透视结构。以前学习的素描知识告诉我:所有不平行于画面的线都有灭点。同一个方向的所有直线,都有同一个灭点。对于长方体而言,就是每组四条平行的棱如果不平行于画面,(它们的延长线)就会相交于同一个点。
当时我想画一个符合两点透视(即只有一组棱平行于画面)的长方体。我怎么保证自己能够画出一个符合透视结构的长方体呢?
我先选取了两个灭点,又在两个灭点之间选取了一条线段作为最远离我们的那条棱(也是四条平行于画面的棱当中的一条),从两个灭点出发分别连接棱的两个端点,形成了两个面。接下来,我在两个平面分别选取一条棱(是四条平行于画面的棱当中的第二、三条),与第一条棱平行。再将新确定的两条棱的端点分别与对侧灭点相连,这样得到的两个交点,就确定了第四条棱。
我当时就有个疑问:第四条棱为什么这样画出来 ...
硬路由(0)—— 编译属于自己的 OpenWrt
回到目录
OpenWrt
OpenWrt 项目是针对嵌入式设备的 Linux 操作系统,常用在路由器上。OpenWrt 高度模块化、自动化,不仅占用空间小,而且具有强大的网络组件。
OpenWrt 项目始于 2004 年 1 月,其第一个版本采用了 LinkSys 的源码。在 LinkSys 的代码收费后,改为 Linux 内核集成,并将 OpenWrt 完全模块化,不断推出补丁和驱动。
更多的信息可以在 OpenWrt Wiki 找到。
OpenWrt 有数个民间衍生出的版本,加入了一些官方列表没有,针对国内具体情况定制的插件,且源码和开发规范与官方同步,保证了软件的纯净和稳定,目前网络上的很多固件都是针对这3个固件进行编译。
Lienol:紧跟官方版本进行更新,其编译出来的固件体积比其它版本小,集成的软件少,源码改动少,使用起来稳定性更强。
Lean:由恩山论坛 Lean 分享了全部开源代码,由于加入了很多中国特色的功能,并告诉所有人怎么通过编译去得到自己想要的 OpenWRT,定制灵活性很强。(不推荐)
ImmortalWrt:OpenWrt 的一个分支,移植了更多的软件包, ...
NAS(13)—— Navidrome + MusicTag 音乐管理
回到目录
Navidrome
概述
Navidrome 是一款全功能、开源且支持多平台的音乐服务器应用程序,可以在 MacOS、Linux、Windows 以及 Docker 等平台上运行。它支持常见的音频格式如 MP3、FLAC 和 WAV,并提供了丰富的管理工具和服务。通过 Web 界面或 API,你可以轻松管理和访问你的音乐库。
通过 Docker 部署
使用 Docker Compose:
123456789101112131415161718192021222324252627services: navidrome: image: deluan/navidrome:latest user: 1001:100 # should be owner of volumes ports: - "4533:4533" restart: unless-stopped environment: # Optional: put your config options customization here. Exampl ...
硬路由(6)—— Tricks & 组网图景
回到目录
Tricks
这里是一些笔者在配置网络中遇到并解决的问题,由于暂时无法归类到其他页面所以存放在此处。
Q:发现路由器带不动 NAS + 台式机组合,总是断流怎么办?
以下是笔者使用 AX3000T 的自述:
这大半年来配置并使用 AX3000T,我的感受是:能用,但是一点也不好用。它的配置如下:
Filogic 820(MT7981B)
WiFi 6
256 MB RAM + 128 MB Flash
虽然它支持解锁 SSH、刷入 OpenWrt(我的固件为 qwrt 改),但我为了它做了一次次妥协。
起初,我希望它能够实现以下功能:
Tailscale 远程组网
安装时发现空间不足,使用脚本装入了/tmp
导致路由器频繁 OOM 重启
最终将 Tailscale 安装在了 NAS 上
科学上网
使用自带的 OpenClash 插件时会崩溃
改用 Shellcrash
无线组网(5G + 2.4G)
5G 频段同时开启 Client 和 Master 模式导致性能下降
关闭 5G 频段的 Master 模式
即便如此,在台式机和 NAS 连接 ...
硬路由(5)—— 校园网 & 远程访问(IPv6)
回到目录
概述
经过上述配置后,我们已经能够在 IPv4 环境下实现组网,并通过 Tailscale 远程加入了内网。
但我们可能会遇到很多问题:
Tailscale 走国外中继服务器 / 自建 Derp 性能不足,导致连接不稳定
NAT 对路由器性能开销较大
校内某些网站(如 NexusHD、ZJU Mirror 等)支持 IPv6 访问
这时,我们就需要配置 IPv6 环境。
IPv6 是 Internet 协议的最新版本,旨在替换 IPv4 地址。IPv6 地址使用以冒号分隔的十六进制数字。它分为八个 16 位块,构成一个 128 位地址方案。与 IPv4 的 NAT 方案相比,IPv6 可以给主机分配全球单播地址来实现对主机的远程访问。
在配置之前,让我们简单地了解一下关于配置校园网 IPv6 的部分所需知识。
全球单播地址
全局单播地址是带有全局单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。
全球单播地址由全球路由前缀、子网ID和接口标识组成,其格式如下所示:
全球单播地址的范围为2xxx::/3,其中前 3 位固定,第 4 位至第 48 位为公共拓扑(一 ...
DeaNG —— Dean 的纯主观游戏评价合集
概述
DeaNG,Dean’s Network for Games,是 Dean 对于他游玩过的游戏的纯主观评价合集。
本合集更注重个人的游玩体验,而倾向于忽略游戏的开发过程、背后故事。
满足以下要求的游戏会加入 DeaNG 当中:
Dean 已游玩过全部主要内容
Dean 愿意将此游戏加入 DeaNG
评分标准
总分为 100 分,每小项 10 分,加权后计算总分:
游戏性(GamePlay):一个游戏最重要的部分。
创新性(Innovation)| 剧情(Plot)。
不同的游戏在二者之间会有不同的侧重。
可持续性(New Game+)| 沉浸度(Flow)。
可持续性:游戏多周目 / 持续游玩的体验、价值。
沉浸度:游玩过程的连续性 / 惯性。
不同的游戏在二者之间会有不同的侧重。
图像(Graphics)。
音效 / 音乐(Sounds)。
这五项的基本权重:
(GP):(I∣P):(N∣F):(G):(S)=2:1.7:1.3:1:1(GP):(I|P):(N|F):(G):(S)=2:1.7:1.3:1:1
(GP):(I∣P):(N∣F):(G):(S ...
NAS(12)—— Immich 照片管理
回到目录
概述
Immich 是一个直接从 iPhone、Android 手机上备份照片与视频的开源解决方案,通过部署在自己的电脑、NAS、服务器中,使用 App 进行备份。界面酷似 Google Photos,支持多用户、照片和相册分享、好友上传、地理位置、机器学习识别事件等功能。是居家备份照片的好帮手。
通过 Docker 部署
使用 Docker Compose:
进入部署文件夹,下载docker-compose.yml文件:
1wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
下载.env文件:
1wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
(可选)下载hwaccel.transcoding.yml文件:
1wget -O hwaccel.transcoding.yml https: ...
NAS(11)—— HTPC
回到目录
概述
HTPC(Home Theater Personal Computer,家庭影院电脑),简单地说就是可以组建家庭影院的电脑,与功放、大屏幕电视或投影仪连接,以欣赏高清视频和音乐。
在这个部分,我们配置的机器并不能严格地称为一台 HTPC,但已经能完成媒体库的建立、管理,服务器端硬解播放,刮削等功能了,和 PT 下载配合起来,足够满足日常的影音需求。
Jellyfin
Jellyfin 是一个自由软件媒体系统,可让您控制管理和流式传输媒体。它是专有的 Emby 和 Plex 的替代方案(如:这二者的硬解功能都需付费,而 Jellyfin 是免费的),通过多个应用程序将媒体从专用服务器提供给终端用户设备。Jellyfin 衍生于 Emby 的 3.5.2 版本,并移植到 .NET Core 框架以实现完整的跨平台支持。没有附加条件,没有高级许可证或功能。
通过 Docker 部署
使用 Docker Compose:
1234567891011121314version: '3.5'services: jellyfin: image: nya ...
NAS(10)—— PT
回到目录
PT 是什么?
要想知道什么是 PT,我们先得了解什么是 BT。
BT
2001年,Bram Cohen 发明了BitTorrent协议。
BitTorrent(简称 BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。而在 FTP、HTTP 协议中,每个下载者在下载自己所需文件的同时,各个下载者之间没有交互。当非常多的用户同时访问和下载服务器上的文件时,由于 FTP 服务器处理能力和带宽的限制,下载速度会急剧下降,有的用户可能访问不了服务器。BT 协议与 FTP 协议不同,特点是下载的人越多,下载速度越快,原因在于每个下载者将已下载的数据提供给其他下载者下载,充分利用了用户的上载带宽。通过一定的策略保证上传速度越快,下载速度也越快。
种子
根据 BitTorrent 协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。.torrent 文件本质上是文本文件,包含 Tracker 信息和文件信息两部分。Tracker 信息主要是 BT 下载中需要用到的 Tracker 服务器的地址和针对 Trac ...