eGuideDog Linux 0.9开发日志

By admin, 1 三月, 2022

2022-2-28

完成Ubuntu Daily Build的下载、安装。Ekho不用修改就可以在Ubuntu 22.04上运行。ibusreader则出现没有使用Orca所配置的Ekho语音的问题,使用了不支持中文的eSpeak,待调查解决。

2022-3-1

通过查询speech-dispatcher接口,增加语音设置的代码逻辑,让ibusreader明确使用Ekho作为朗读的语音。(6e44da9 )

发现一个问题:拼音状态下,读屏软件完全不读屏幕内容。在20.04官方源的ibus-libpinyin下运行也有同样的问题。22.04的Orca版本是42.beta,半个月前发布的。初步判断这是一个Orca和ibus的兼容性bug。计划向Orca社区反馈。

2022-3-2

向Orca社区开了issue跟进gnome-shell下使用ibus中文输入法有问题的情况:https://gitlab.gnome.org/GNOME/orca/-/issues/235

克隆代码,开始开发新版eGuideDog Linux:

git clone https://gitee.com/hgneng/eguidedog-linux.git

遇到了一个问题,之前测试的时候删除了libpinyin(智能拼音)和sunpinyin输入法,现在无法在设置里重新添加这两种输入法了。

在命令行里运行下面命令是可以找到和切换输入法的,但是这样仅能让当前shell生效:

 

ibus list-engine|grep pinyin

ibus engine libpinyin

2022-3-3 

昨天开的issue没有得到及时回复,看了一下Orca的团队,只有1个人在维护:https://gitlab.gnome.org/GNOME/orca/activity 。实在太困难了。看来,需要花些时间研究Orca代码,加入Orca开发的队伍。(TODO

之前一直以为Ubuntu的“设置”的可访问性不好,今天发现是我不会用,搞清楚后写了一个文档:盲人怎样使用Ubuntu系统设置,同时添加到教程目录里。

输入源在Ubuntu 20.04的时候还是在“设置->区域和语言”里的,Ubuntu 21.10之后在“设置->键盘”里。在Ubuntu 20.04里没有找到拼音和sunpinyin。后来发现,是我忘记了怎么找。正确的添加输入法方法是“设置->键盘->输入源-> 添加(+) ->汉语->拼音”。中文输入法在“汉语”子类里面。

实现了ibusreader在切换输入法的时候再次检测读屏是否在运行,如果没有运行,则不发声。已重新打包发布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的消息了

参考:ibus开发指南

2022-3-4

在Ekho的部署脚本里增加修改.local/share/orca/user-settings.conf的逻辑,把默认语音修改为Ekho。

2022-3-7

改了一下脚本,开始打包,打包的时间挺长的,要大概20分钟。不知道是不是我的硬盘性能下降了。最后报了一个错,待调查:

xorriso : FAILURE : Cannot find in ISO image: -boot_image ... bin_path='/isolinux/isolinux.bin'

在Linux下使用Sublime响应非常慢,Linux下写代码可能还是需要用Vi。 

2022-3-8

从/usr/lib/ISOLINUX/isolinux.bin复制过去可以解决报错,但似乎这样解决不太正道。

打好包后在虚拟机里启动,报错:Failed to load ldlinux.c32。

参考该链接可解决:https://askubuntu.com/questions/1289400/remaster-installation-image-for-ubuntu-20-10

顺便回答了别人的issue:https://github.com/covertsh/ubuntu-preseed-iso-generator/issues/5 ,这是一个preseed来定制Ubuntu的项目,代码很简单。以前我试过使用preseed定制但失败了。看来还是有成功例子,有空可以学习一下。

打包后的映像文件能在VirtualBox上启动,启动后读屏自动启动,使用的语音也是Ekho。选择试用,打开终端,中文输入法多了一个Hanyu Pinyin,待删除。智能拼音有读屏。看来打包比较顺利,需要解决的问题不多了。

桌面的图标无法通过键盘获得焦点,但可以通过SUPER+a搜索“安装Ubuntu”的应用启动安装程序。不过和以往的版本一样,LiveCD试用模式下启动安装是没有读屏功能的。而且虚拟机的默认显示分辨率为800x600,现在的操作系统安装盘都超过这个分辨率,无法看到完成的窗口。通过读屏来在虚拟机安装系统竟然成了明眼人的一个需求!

2022-3-9

编写eGuideDog Linux 0.9安装指南(未发布)。

选择时区的步骤有可访问性问题,如果不用鼠标点击世界地图上的时区位置,无法继续。在文本框里输入Shanghai也没有用。需要研究怎样预设这个时区。(TODO

安装过程,语音出现过异常的速率以及虚拟机崩溃。尝试更新VirtualBox版本看有没有改善。

安装成功后,发现之前在安装阶段多出来的Hanyu Pinyin输入法没有了,那个问题不用处理了。

2022-3-10

尝试修改extract-cd/preseed/ubuntu.seed来定制时区等安装参数,但失败了。

再尝试修改extract-cd/boot/grub/loopback.cfg来让定制生效。LiveCD的时区设置和用户名设置是生效的。密码设置不生效,但这个不影响,已去掉默认密码的配置。时区选择页面的设置还是不生效。

参考项目:https://raw.githubusercontent.com/covertsh/ubuntu-preseed-iso-generator/main/ubuntu-preseed-iso-generator.sh

做安装测试的过程中出现一个问题,离开虚拟机窗口一段时间后回去,读屏会没有了声音,不知道是读屏的原因,还是虚拟机的原因。

尝试复制source.list到edit/etc/apt/source.list,在LiveCD下没有生效。不过,其实官方的源(而且不是中国镜像)也很快的,不改应该也没有问题。安装成功后,source.list也没有用到定制的版本。但用了中国的镜像。这个问题以前应该尝试解决但失败了,总体来说对体验影响不算明显,暂不处理。

通过在安装过程查看/var/cache/debconf/的文件,可以看到影响配置的变量,查到时区相关的配置如下:

 

Name: tzsetup/detected
Template: tzsetup/detected
Owners: ubiquity
Vaiables:
 ZONE = Asia/Chongqing

Name: tzsetup/selected
Template: debian-installer/dummy
Value: false
Owners: ubiquity
Flags: seen
Variables:
 ID = tzsetup/selected

希望这句preseed配置可以生效: 

d-i tzsetup/selected boolean true

不行的话,再加上这句:

d-i tzsetup/selected seen true

参考:https://help.ubuntu.com/lts/installation-guide/amd64/apb.html

 明天再试试打个新包。

2022-3-11

昨天预配置时区的方法失败了。

自动登录的配置是生效的。

昨天的一个描述应该错了,LiveCD的时区设置是不生效的,应该是在选了时区后才生效的。

尝试把ubiquity的时区配置插件去掉:

 

$ sudo mv edit/usr/lib/ubiquity/plugins/ubi-timezone.py edit/usr/lib/ubiquity/plugins/ubi-timezone.py.bak
$ sudo mv edit/usr/lib/ubiquity/plugins/__pycache__/ubi-timezone.cpython-39.pyc edit/usr/lib/ubiquity/plugins/__pycache__/ubi-timezone.cpython-39.pyc.bak

修改没有生效,ubiquity似乎不是从edit版本里来的。build脚本的这样行似乎也说明了这一点:

sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop

把脚本上面一行去掉后就生效了,但是配置用户名密码的界面也跳过了,应该需要改一下Ubiquity Python代码的逻辑,引导ubi-timezone前一页面跳到用户名密码的页面。明天再试试。

2022-3-14

修改ubi-timezone.py以下代码,跳过了时区设置的页面。

class Page(plugin.Plugin):
    def prepare(self, unfiltered=False):
        unfiltered = True
 

接下来一段时间会做Ekho语音的优化。 

2022-3-38

修复tianqi工具(感谢“蓦然回首”的bug报告)

根据“小草莓”、“蓦然回首”和“冰心💖”的意见反馈,计划增加支持Mate桌面的开发,Mate桌面版本会在标准桌面版本发布大概6个月后发布。

另外,根据“冰心💖”的反馈,计划把Debian纳入eGuideDog工具箱的支持范围。

Debian 11在VirtualBox里无法识别光盘,安装不了增强功能。默认输入法是Fcitx。

已修改Ekho支持Debian安装,但要等Ekho改善完再发布和测试是否与Debian的读屏兼容。

个人对Mate的感受是,有传统的像Windows的软件分类,可能对盲人来说比较熟悉。新的桌面系统的设计方式更像Mac。这可能是盲人总觉得Mate好用一些的原因。从新版的Windows设计来看,通过分类来找软件似乎是被慢慢淘汰。新的设计方式是通过搜索,通过语音识别来找软件的,这是人工智能化的趋势。

2022-4-6

完成Ekho优化。打了个针对22.04的新包。在Debian 11上无法使用,原因是pulseaudio服务调用异常。Debian 11使用sox的play命令播放音频文件也会出现异常。Debian普通用户不能使用reboot命令,默认的普通用户不是sudo用户(有可能可我安装时的配置有关),要直接转为root用户才能安装软件。看来Debian还是比较难用。

2022-4-7

Debian 11上用sox的play是可以播放wav文件的,但播放mp3文件会报错。

root用户是没有pulseaudio服务的,参考:https://blog.csdn.net/weixin_42500714/article/details/110421468

如果我们用普通用户运行Ekho是可以正常运行的,读屏软件也能调用Ekho。

写了个文档:Debian 11下读屏安装Ekho语音的方法

dog安装ibusreader后未能自动切换到ibus输入法,还是Fcitx。

2022-4-8

Debian 11在Virtualbox上无法正常reboot,reboot后不能启动。要强制关闭虚拟机再开机。

编写文档:Debian 11盲人使用指南。冰心根据文档已成功安装Ekho和ibusreader。但蓦然回首遇到问题。为解决蓦然回首的问题,需要先调研怎样在Deiban Mate桌面上做完整桌面截图。

Debian 11的Terminal使用ibusreader并没有Ubuntu的问题https://gitlab.gnome.org/GNOME/orca/-/issues/235。两者不同之处可能在于:Debian 11 mate用的是mate-terminal,Ubuntu用的是gnome-terminal。计划把Debian切换到Gnome桌面试试。

把Debian切换到Gnome桌面后,gnome-terminal和mate-terminal都能重现isssue 235的问题。似乎和terminal无关。Gnome桌面似乎有很多个分支,计划试试不同的分支。

感谢蓦然回首提供Ubuntu Mate Daily Build链接:https://cdimages.ubuntu.com/ubuntu-mate/daily-live/current/,beta版链接:https://cdimages.ubuntu.com/ubuntu-mate/releases/22.04/beta/

2022-4-11

Gnome和Mate截屏的功能都是键盘的Print键,Gnome截完后自动放在用户图片文件夹,Mate会弹窗让用户选择(默认放在桌面)。Mate桌面下还可以在命令行运行mate-screenshot来截屏。

我在虚拟机Mate桌面上截完屏会死机,很奇怪。

调查冰心提出的如何让Ekho和voxin共存的问题。测试发现的情况是,无论先装Ekho还是先装voxin,它们都能共存,似乎没有问题。

2022-4-12

完成Ubuntu 22.04 mate下载安装。

2022-4-13

在Ubuntu 22.04 mate下安装ibusreader,部署的脚本需要改进一下,已重新发布ibusreader。ibusreader是可以正常安装的。有个情况值得注意,mate下切换输入法的热键和Gnome是一样的,都是SUPER+空格,但是mate下按键时间要长一些,大概要按足一秒才能激活。我一开始按的时间不够长,以为热键不生效。同样,Ubuntu mate桌面没有issue 235的问题。

尝试在Windows Ubuntu子系统里打包基于Ubuntu 22.04 mate的eGuideDog Linux。失败,挂载iso镜像文件时报错:mount failed: Operation not permitted. 估计是子系统的局限。改为在虚拟机内打包。

Ubuntu Mate在Windows Virtualbox虚拟机里无法使用共享文件夹,需要用拖放功能来传文件。

2022-4-15

已打包基于Ubuntu 22.04 Mate的eGuideDog 0.9,脚本不用修改,一切正常。计划eGuideDog 0.9就以Ubuntu 22.04 Mate为基础发布了。由于Mate桌面终端没有了issue 235的问题,该问题暂不跟进了。接下来重新检查一下盲人Linux教程,看有什么需要对Mate环境进行补充的。

TODO:需要找一种简便方法更新软件源,执行apt update。禁用系统自动更新。这两点影响dog install ekho的稳定执行。

2022-4-18

增加dog update apt命令更新apt源到较快的国内源。

2022-4-19

重现了Voxin语音设置失败问题,更新了Debian 11盲人使用指南文档。

重现了ibusreader无法使用Voxin语音的问题,已改进让ibusreader使用Orca配置的语音来朗读,已重新打包发布。

修改脚本,禁用自动更新。参考:https://linuxconfig.org/disable-automatic-updates-on-ubuntu-20-04-focal-fossa-linux

2022-4-20

Debian系统测试。

文档改进。

修复dog install ekho对于Debian版本判断错误的问题。

有用户反馈,不安装ekho无法使用ibusreader,明天在Debian系统上试试。

2022-4-21

完善ibusreader安装脚本,安装一些依赖包,解决在安装Ekho前安装ibusreader失败的问题。

有用户提出ibusreader设置语速失败的问题。经测试,这应该是voxin的一个问题,我无法解决。如果使用的是Ekho或者eSpeak语音是可以设置语速的。尽管eSpeak似乎有编码问题,不能读出中文,只能读出Chinese letter。但从语速判断,设置是生效的。

有反馈说Ubuntu Mate下的voxin使用ibusreader可以正常设置语速,待确认。但后来又好了。

确认“ubuntu-mate登陆界面和注销后的界面是否能朗读”。

有用户在Debian下安装voxin遇到问题。报错:CP : 无法获取 '/opt/oralux/voxin/share/speech-dispatcher/last/voxin.conf' 的文件状态 (stat) : 没有那个文件或目录。待调查。待编写一个针对Debian的voxin安装文档。

想到一个导致ibusreader用eSpeak不能说中文的原因,待明天测试。

2022-4-22

已解决ibusreader用eSpeak不能说中文的问题,已重新发布ibusreader。

Ubuntu 22.04发布,开始下载Mate镜像文件。

测试安装voxin,重现报错,但安装成功,不影响使用。

确认ubuntu-mate登陆界面和注销后的界面使用读屏有问题。不能通过快捷键启用;可以通过SUPER+F10激活顶部菜单来选择启用,但是基本不可能;无论读屏选项最初是否开启,实际都是不开启的,每次都要再重新开启。但是当我安装完gdm3再切换回lightdm后,一切又正常了。这里还是有没搞清楚的地方。

完成eGuideDog 0.9打包,在oschina.net发布了。

下周把包上传到SourceForge和OSDN,当前网络太慢了。

2022-5-16

备忘:ibus-libpinyin分支改名,但本地版本未处理,下次开发前需处理。

The default branch has been renamed!

master is now named main

If you have a local clone, you can update it by running the following commands.

git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

标签

评论7

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>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
请输入"Drupal10"

蓦然回首 (未验证)

2 years 7 months 之前

您如果参加了orca的开发,那真是一个绝好的消息。

蓦然回首 (未验证)

2 years 6 months 之前

就个人而言,其实更多情况真的不是因为mate更像windows,而的确是其可访问性问题少得多,例如控制中心,各种菜单等等,至少我在gnone下,就无法很顺滑的访问系统设置的内容。

admin

2 years 6 months 之前

蓦然回首 (未验证) 回复

gnome3设置的键盘导航确实有问题,我前几年一直以为是无法通过键盘访问的,最近才发现可以通过搜索实现(这种方式对盲人来说几乎可以认为是隐藏功能了),也许这个问题应该向上游软件维护人反馈(TODO)。

菜单的话,我暂时没有发现不能访问的情况。

蓦然回首 (未验证)

2 years 6 months 之前

这个搜索有个问题:盲人无法看到屏幕,所以,在事先不了解这个系统之前,连搜什么都不知道,基本上也就无从搜起了,不管是应用列表还是菜单等选项,搜索的前提是我得先知道我电脑上有什么啊。

admin

2 years 6 months 之前

蓦然回首 (未验证) 回复

这一点我也同意。不过叫一个我个人使用手机的例子,我如果想用手机某个我不熟悉的设置功能,我并不是在手机设置里一项一项找的。而是百度怎样设置,然后根据步骤去做。这种思路也包括使用微信、支付宝的功能。当然,这并不是一个反例。因为最终我还是需要访问设置树的,而不是直接搜索出设置的功能。

但是,我认为手机或电脑都是有搜索和语音助手的功能的,这应该是一个更快找到该功能的方式。而我假设是因为自己太“老了”,不习惯这种新的人机交互接口。我认为很多年前人们就已经开始通过Siri的方式去使用苹果手机各种功能。市面上的智能音箱之类的产品也都只有语音接口。虽然我自己没有使用,但我猜这始终是趋势。

关于Gnome3的应用列表,其实是有的。SUPER+a既可以搜索,也可以浏览全部应用,只是没有分类。菜单快捷键是SUPER+F10,菜单是传统的浏览方式,我暂时没有发现有什么特殊之处。就是“设置”应用比较难用。

有个问题,你是怎么知道我的网页更新了的?我感觉你是实时知道的,但我的网页好像没有什么RSS订阅之类的功能呀?

蓦然回首 (未验证)

2 years 6 months 之前

而且,即使我对我的系统有了些了解,也很难说我就真的能记住我电脑上所有的角落的东西,还是上面说的,盲人,特别是全盲,是完全无法看到屏幕的。

蓦然回首 (未验证)

2 years 6 months 之前

我这边刚尝试过命令行,并不会死机啊。