eGuideDog Linux 26开发日志

By admin , 26 三月, 2026

2026-3-26

Mate桌面由于欠维护,已从LTS版本中移除。因此,eGuideDog Linux 26将选择官方默认的Gnome作为开发基础。

Daily Build下载地址:https://cdimages.ubuntu.com/daily-live/current/

安装指南:https://cto.eguidedog.net/node/1456

2026-3-27

speech-dispatch已经更新到0.12,原来Ekho使用的版本是0.11,虽然经修复后可以使用,但还是考虑合并最新代码(@todo 1)。

piper依赖torch,安装依赖很多也很大,暂时因为以下错误失败:“RROR: Could not install packages due to an OSError: [Errno 122] 超出磁盘配额”

不知道为什么,考虑重新安装虚拟机,分配多一些磁盘空间(事实上目前还有10G剩余的)。

2026-3-30

本来想通过apt安装pytorch的,发现torch不在apt包里。

已把上游最新代码合并到speechd,过程顺利:

$ git remote add upstream https://github.com/brailcom/speechd.git
$ git fetch upstream
$ git merge upstream/master
修复冲突
$ git commit -a -m 'merge from upstream'
$ git push origin master // orgin master可不要

speechd和ibusreader在Ubuntu 24.04下也不能正常使用,先在24下调试通过再解决26的问题。

在AI帮助下修复了一个speechd的崩溃问题。

dog restart后似乎不能正常启用orca,有时要再按SUPER+ALT+s

ibusreader不能正常使用。调试ibus步骤如下:

1. export G_MESSAGES_DEBUG=all
2. 把系统的/usr/bin/ibus-daemon改名,让其不自动执行重启
3. kill 然后重启进程/usr/lib/ibus/ibus-engine-libpinyin --ibus
4. 此后,屏幕上就能看到g_message的消息了

可以看到ibusreader已经调用了spd_speak了,但没有声音。如果把屏幕阅读器关闭了,则ibusreader反而有声音,后来不知道怎么开关orca之后ibusreader就能读出来的。看起来问题是对当前开关状态的检测。

Ubuntu旧版的ibus-reader基于ibus-libpinyin-1.12.4,debian则基于1.15.2,ibus-libpinyin最新版本为1.16.5。先升级到最新版再调试:

$ git remote add upstream https://github.com/libpinyin/ibus-libpinyin.git
$ git fetch upstream
$ git merge upstream/main
修复冲突
$ git commit -a -m 'merge from upstream'
$ git push

升级后无法安装,报如下错误,这可能是当初Ubuntu保留旧版的原因:

Package dependency requirement 'libpinyin >= 2.9.92' could not be satisfied.
Package 'libpinyin' has version '2.8.1', required version is '>= 2.9.92'

Ubuntu 26.04的libpinyin是最新stable版的2.10.3。因此,我们在Ubuntu 24.04里也尝试从源代码安装最新版的libpinyin(2.11.91)。最新版ibusreader在Ubuntu 24.04下使用正常,已更新dog并发布。

下一步是在Ubuntu 26.04下调试Ekho、speech-dispatcher、ibusreader、piper。

2026-3-31

在Ubuntu 26.04上安裝了最新版ibusreader(修復了一個依賴問題),但没有声音。可能应该先让Ekho、speech-dispatcher正常工作。发现新版ibusreader可以切换简繁体,挺方便的。

2026-4-1

新版Ekho在speech-dispatcher上安装后无法启动Ekho,sd_ekho进程存在几秒后就变成了sd_espeak_ng。如果手动启动sd_ekho,会有如下情况:

$ /usr/libexec/speech-dispatcher-modules/sd_ekho /home/hgneng/.config/speech-dispatcher/modules/ekho.conf
Wed Apr  1 15:11:14 2026 [169841]: Configuration (pre) has been read from "/home/hgneng/.config/speech-dispatcher/modules/ekho.conf"

ERROR: Server did not start with INIT
Wed Apr  1 15:11:17 2026 [850126]: module_close
Wed Apr  1 15:11:17 2026 [850153]: speak_queue Joining play thread.
段错误                  (核心已转储) /usr/libexec/speech-dispatcher-modules/sd_ekho /home/hgneng/.config/speech-dispatcher/modules/ekho.conf

如果在Ubuntu24则没有段错误。很神奇的是,竟然变成了一个可与用户交互的程序,可以在屏幕输入INIT,结果如下:

$ /usr/libexec/speech-dispatcher-modules/sd_ekho /home/hgneng/.config/speech-dispatcher/modules/ekho.conf
Wed Apr  1 15:30:55 2026 [986560]: Configuration (pre) has been read from "/home/hgneng/.config/speech-dispatcher/modules/ekho.conf"
INIT
Wed Apr  1 15:31:28 2026 [70628]: module_init begin
current dir: /home/hgneng/ekho-11.0
EKHO_DATA_PATH: /usr/local/share/ekho-data
EkhoImpl::init
getPcmFromPiperServer: path=/tmp/ekho1.wav
Fail to open /tmp/ekho1.wav
getPcmFromPiperServer: readPcmFromAudioFile size=0
Wed Apr  1 15:31:28 2026 [103436]: speak_queue Creating new thread for stop or pause.
Wed Apr  1 15:31:28 2026 [103634]: speak_queue Creating new thread for playback.
Wed Apr  1 15:31:28 2026 [103737]: module_init end
299-ekho initialized successfully.
299 OK LOADED SUCCESSFULLY
Wed Apr  1 15:31:28 2026 [103785]: speak_queue Playback thread starting.......
Wed Apr  1 15:31:28 2026 [103806]: speak_queue Stop or pause thread starting.......

尝试配置/etc/speech-dispatcher/speech.conf打开日至,但是/var/log/speech-dispatcher/里一直是空的。同样的配置方法在Ubuntu24里是可以产生日至的。

经调查,Ubuntu26开始/var/log有更严格的权限,进程权限更严格,要对log、speech-dispatcher都添加足够的权限才能写入。日至默认写到/run/user/1000/speech-dispatcher/log,可以认为这把用户的日至分隔开来,更安全。

如果暂时禁用enablePiper(),则sd_ekho不会被杀掉。从speech-dispatcher的日至看,似乎是enablePiper尝试连接没有启动的piper进程时返回了一些异常信息扰乱了和speech-dispatcher的交互协议。之后,重新在orca -s里设置ekho为默认语音就可以了。ibusreader也正常工作了。

修复语音后dog restart重启speech-dispatcher。然后运行spd-say 123确认语音配置正确。

下一步下载beta版,调试piper。部分beta已经提供下载,但AMD芯片的桌面版好像还没有提供:https://cdimages.ubuntu.com/releases/26.04/beta/

搜了一下,发现AMD的版本在一个更正式的页面里提供下载:https://releases.ubuntu.com/26.04/

2026-4-2

从清华的镜像下载更快:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/26.04/

可惜beta版安装失败了。明天再试试新的daily build版本。

标签

评论1

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <img src>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
CAPTCHA
请输入"Drupal"
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

最新内容

最新评论