为不支持自定义字体的Electron应用替换宋体

现在有越来越多的应用开始基于 Electron 技术构建,如 Discord、Microsoft Teams,但是由于历史遗留原因,Chromium 在近期才将中文系统下网页默认字体切换为从系统中读取,之前的版本一直是使用宋体作为默认字体的,因此很多国外产品的中文字体显示都十分不理想。

其中一些软件可能不再更新,或更新周期很长,也可能开发人员拒绝为 CJK 用户做特殊优化,鉴于忍是不可能忍的,那就自己动手解决吧。

警告: 使用以下方式来替换应用的字体为系统字体将会破坏应用的数字签名,可能导致包括但不限于性能下降、安全软件误删、应用崩溃、更新失败、无法启动的问题。

前言

这个问题已经不是第一次被提出了,很多其他应用也有类似的问题,比如使用 QT 的 Telegram 客户端以及一些其他公司基于 WinForm 平台开发的应用。

之前较流行的方式有注册表替换、注入 DLL 替换等,但是如果使用前者直接替换宋体为微软雅黑,将会有很多应用的界面布局错乱以及文字无法显示,而后者仅限于 Telegram 客户端。

这两种不对应用本身做修改的方式都不适合我们当前遇到的场景:需要修改字体的应用是一个浏览器。

Continue reading 为不支持自定义字体的Electron应用替换宋体

使用S3 Glacier备份Amazon LightSail 实例

Amazon LightSail 是 EC2 的廉价和精简版,相比 EC2 拥有更低的价格,更简单的使用流程,但也增加了一些限制,例如无法在 EC2 控制台中操作 LightSail 实例。

LightSail 目前 2019-02-07 对于实例快照的定价是 0.05$/GB,快照似乎是通过直接将虚拟机磁盘镜像压缩保存的方式实现的,这将会导致实际快照计费大小大于文件系统内实际文件大小。
一般普通用户并不需要频繁的创建和恢复快照,只是偶尔创建一份备用,所以 LightSail 自带的快照功能也是一笔不小的开销,甚至超过了低配实例一般的价格,这种情况可以尝试自行备份实例硬盘并传输至 S3 使用 Glacier 存储保存。Glacier 的优点是价格十分低廉,缺点是不能随时读取且最低存储(起步价)90天,并且取出数据操作需要收费。具体价格可以参考 AWS S3 Glacier 定价

AWS 为 Glacier 提供了一定的免费额度,假设 S3 Bucket 与 LightSail 实例在同一区域,经过 gzip 压缩后的镜像小于 10GB,并且每个月最多只尝试一次恢复操作,那么月存储成本 <= 0.5$

使用条件

本文将以 Debian 9 为例,使用 e2image、tar、s3fs 三种工具以及一个额外挂载到实例的硬盘创建并存储备份。

Continue reading 使用S3 Glacier备份Amazon LightSail 实例