Trilium当前是Beta版的软件,因此可以肯定会有一些bug。

通用快速修复

你猜对了- 重启大法。

如果出现UI问题,通常意味着Trilium前端进入不一致状态运行。修复它的最简单方法是重新加载应用程序-只需按一下即可CTRL-R将前端重新加载。

如果仍然不能解决问题,或者您怀疑这实际上是后端问题,则可以重新启动整个应用程序-如果是桌面版(Electron)构建,则只需关闭窗口并再次将其重新打开即可。

忘记用户名/密码

如果您忘记了密码,这意味着:

  • 您受保护的笔记将永远丢失-没有密码就无法解密
  • 普通(未保护的)笔记是可恢复的。请阅读下面的内容以了解操作方法。

为了能够更改用户名/密码,从而恢复未受保护的笔记,您需要访问数据目录中的文档文件。然后,您需要使用SQLite客户端(命令行或DB Browser)打开文件并执行以下查询:document.db

UPDATE options SET value = 'your_username' WHERE name = 'username'; -- feel free to change 'your_username' to your desired username
UPDATE options SET value = '77/twC5O00cuQgNC63VK32qOKKYwj21ev3jZDXoytVU=' WHERE name = 'passwordVerificationSalt';
UPDATE options SET value = '710BMasZCAgibzIc07X4P9Q4TeBd4ONnqJOho+pWcBM=' WHERE name = 'passwordDerivedKeySalt';
UPDATE options SET value = 'Eb8af1/T57b89lCRuS97tPEl4CwxsAWAU7YNJ77oY+s=' WHERE name = 'passwordVerificationHash';
UPDATE options SET value = 'QpC8XoiYYeqHPtHKRtbNxfTHsk+pEBqVBODYp0FkPBa22tlBBKBMigdLu5GNX8Uu' WHERE name = 'encryptedDataKey';

执行更改后,不要忘记提交/写入更改!

这会将密码设置为"password"。您可以使用它再次登录到该应用程序。

如果您已经有受保护的笔记(不是不可恢复的),建议您删除它们或导出不受保护的笔记,删除document.db并重新开始。

如果您决定继续使用现有的文档文件,请不要忘记更改密码(Options -> Change password)。

损坏的笔记使 Trilium 崩溃

有时,特定问题可能会导致 Trilium 出现问题(例如,使用错误的脚本渲染笔记)并导致 Trilium 崩溃。但是由于 Trilium 通常会尝试加载以前打开的笔记,它会尝试再次加载笔记,再次导致崩溃。

为了打破这个恶性循环,您可以指定TRILIUM_START_NOTE_ID环境变量,它将打开的选项卡重置为仅具有指定笔记 ID (只需使用root)的选项卡。在linux中你可以这样使用它:

TRILIUM_START_NOTE_ID=root ./trilium

同步和一致性检查

Trilium会定期检查数据库的逻辑一致性(例如,每个笔记都应有一个父项)。如果检测到一些不一致,则在UI上通知用户有关不一致的信息。

在这种情况下,建议提交错误报告并附加匿名数据库(请参见下文)。

损坏的脚本阻止应用程序启动

如果您尝试编写脚本,则可能会创建一个使整个 Trilium 崩溃的脚本。如果您将其设置为启动脚本或活动的自定义小部件,那就更糟了。

在这种情况下,您可以在不会执行任何自定义脚本的“安全模式”下启动 Trilium:

TRILIUM_SAFE_MODE=true ./trilium

恢复备份

Trilium 会定期自动备份,所以当事情变得非常糟糕时,我们可能需要最后一个选项 -恢复备份。

报告错误

发送错误报告非常有帮助。以下是一些可以查看的提示:

Trilium使用GitHub Issues - 因此请在此处发送报告:https://github.com/zadam/trilium/issues

需要明确的是,并非每个错误报告都需要遵循以下条件,但可能会根据每个问题要求其执行。

浏览器控制台

如果Trilium UI正在运行,请通过按打开开发人员控制台CTRL-SHIFT-I,可能存在一些相关的错误或警告。

所有JavaScript错误也应记录到后端日志中,但是有可能遗漏了某些内容。

后端日志

Trilium将重要事件和错误记录到logs目录(在数据目录内部)中。这些日志对于调试问题非常有用,因此请在错误报告中附加最新的日志。您不必担心,它们不包含有关笔记的任何敏感信息。

匿名数据库

在某些情况下,必须查看数据库结构才能调试问题。当然,我们不能要求您将您的[数据库文档)(./文档.md)和笔记发送给我们。

为此,Trilium支持数据库匿名化-您可以在Options -> Advanced选项卡中应用它。

image

这将创建文档的副本,并删除所有敏感数据(当前笔记标题,内容,修订,历史记录和某些选项以及非系统属性),同时保留所有结构和元数据(例如,上次更改日期)。完成此操作后,将对数据库进行真空处理,以确保文档文件中没有过时的敏感数据。结果文件存储在anonymized目录中(放在数据目录中)。您可以安全地将其附在您的错误报告中或发送到zadam.apps@gmail.com

命令行匿名

如果数据库损坏导致Trilium无法启动,则您将无法从UI触发匿名化。对于这种情况,也可以从命令行使用匿名化:

node src/anonymize.js

这需要在带有Trilium源文件的目录中执行,以便桌面版在resources/app目录中进行构建。