侧边栏壁纸
博主头像
WeDaily 博主等级

不以物喜,不以己悲。心之所向,素履以往。

  • 累计撰写 22 篇文章
  • 累计创建 26 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Ubuntu安装Anki及搭建自托管同步服务

奥德虎
2024-11-22 / 0 评论 / 0 点赞 / 14 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Ubuntu安装Anki及搭建自托管同步服务

#Ubuntu #工具 #学习

Anki 简介

Anki 官方使用手册

Anki 是什么

Anki 这个名字来源于日语 “暗记(あんき)”,意思是记忆。它是一款基于间隔重复算法(Spaced Repetition System,简称 SRS)的软件,能够帮助用户更高效地进行知识的长期记忆。间隔重复算法是一种根据人的记忆规律,自动安排学习内容复习时间的技术。简单来说,就是让你在即将遗忘某个知识点的时候恰到好处地进行复习,从而加深记忆。

功能特点

  • 自定义卡片
    • Anki 允许用户创建各种类型的记忆卡片。卡片一般分为正面和反面,正面是问题或者提示,比如一个单词、一个历史事件的名称等;反面则是答案、详细解释或者相关内容。例如,如果你在学习英语单词,正面可以写单词 “abandon”,反面就可以写 “v. 放弃;遗弃;沉溺”,还可以添加例句 “Never abandon your dreams.”。
    • 除了文字,卡片还可以包含图片、音频和视频等多媒体内容。比如在学习地理知识时,可以在卡片正面放上一个国家的地图轮廓,反面则是这个国家的名称、首都、主要城市等详细信息,并且可以添加一段介绍这个国家地理环境的音频。
  • 学习进度跟踪与统计
    • Anki 会详细记录你的学习进度。它能统计你每个卡片的学习次数、每次回答的正确与否、间隔复习的时间等信息。通过这些数据,你可以清晰地看到自己对不同知识点的掌握程度。例如,软件可以生成一个学习报告,显示你在过去一周内学习了多少新卡片,复习了多少旧卡片,以及各个学科或知识点的正确率等。

客户端安装

PC端安装 (Ubuntu 24.04 TLS)

版本变化可能会有一些差异,尽量参考官方文档:安装与升级 - Anki 手册

  • 安装缺失库:sudo apt install libxcb-xinerama0 libxcb-cursor0 libnss3
  • 下载客户端:Anki - powerful, intelligent flashcards 这是官网,选择适合版本
  • 安装客户端:解压->执行安装脚本
	tar xaf anki-24.06.3-linux-qt6.tar.zst
	cd anki-24.06.3-linux-qt6 
	sudo ./install.sh

安装目录:/usr/local/share/anki

移动端 (安桌)

自托管同步服务

需要一定 Linux 基础。

目前有两种方案可选择:

  • (不推荐)使用开源的同步项目:ankicommunity-sync-server

    亲测可用,要解决同步问对技术有一定要求。且 anki 版本只能2.1.15~2.1.56 之间。以前使用时我装的时候用了2.3.0的开发版,基本没什么影响:手工改了几行代码,不然会有BUG,2.2.0不用改

  • (推荐) 使用 Anki 内置同步服务:Sync Server - Anki Manual (需要 Anki 版本2.1.57+)

搭建同步服务

参考官方说明文档:Sync Server - Anki Manual

环境变量说明

  • SYNC_BASE:同步服务资料存储目录(默认:~/.syncserver。如果在同一台机器上部署,避免和Anki 客户端目录放到一起)
  • SYNC_HOST:要绑定的主要地址(默认:0.0.0.0 无限制)
  • SYNC_PORT:要绑定的端口(默认:8080)。需要注意端口冲突,特别是部署了一些反向代理服务(如:Nginx)
  • SYNC_USER1:用户名密码配置(如:SYNC_USER1=user:123456)
    多个用户可通过增加后面数字实现(如:SYNC_USER 2,SYNC_USER 3…)

制作启动脚本并设为开机启动

脚本内容如下:请根据实际情况修改目录、端口、账号及密码

# 如果服务已经启动则不重新启动
P_COUNT=`ps -ef |grep 'anki --syncserver' |grep -v grep |wc -l`
if [ $P_COUNT -gt 0  ];then
	PID="`ps -ef |grep 'anki --syncserver' |grep -v grep |awk '{print $2}'`"
	echo "Anki同步服务正在运行,PID:$PID"
	exit 1
fi
# 设置环境变量和用户(请根据实际情况修改)
ANKI_SYNC_BASE=/opt/anki
export SYNC_BASE=$ANKI_SYNC_BASE/data
export SYNC_PORT=8888
export SYNC_USER1="用户1:密码1"
export SYNC_USER2="用户2:密码2"
# 后台启动服务
nohup anki --syncserver >$ANKI_SYNC_BASE/$syncserver.log 2>&1 &

警告:不要直接将此服务端口暴露到互联网。如有需要,尽量使用反向代理产品,通过HTTPS 访问。

使用自定义同步服务

PC 端

注意:较老版本的客户端需要配合 AnkiConnect 插件才能使用自托管服务。URL地址需要增加 /sync 或/mysync。

  • (非必须)添加账号:文件->切换账户->添加->填写账户名->确定->打开
    备注:这里的账户只是配置文件的概念,这个时候还没有和之前配置的同步服务有任何关联。

    image.png

  • 设置自托管同步服务器:打开 Anki->工具->设置->同步->填写地址->重启 Anki
    5723b759-a576-4b8b-bcdb-2ccc01a25f77.png

地址格式:http://刚才设置的IP:端口 (例如:http://localhost:8888

  • 填写账户密码:(主窗口)点击同步->填写账号、密码->确定
    备注:这里的账号、密码即为刚才搭建托管服务时设置的账号和密码;
    99fb5f9b-7f14-413b-9acd-e03784348536.png

移动端(安桌)

配置步骤基本和 PC 端大同小异,注意网络能访问即可

其它

0

评论区