FS#64757 - [espeakup] Allow setting default voice when using systemd unit file

Attached to Project: Community Packages
Opened by Rafael Fontenelle (josephg) - Saturday, 07 December 2019, 09:57 GMT
Last edited by Alexander Epaneshnikov (alex19EP) - Saturday, 12 March 2022, 21:06 GMT
Task Type Feature Request
Category Packages
Status Closed
Assigned To Alexander Epaneshnikov (alex19EP)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

Arch provides a system unit file to make start/stop/enable easier, but it does not give the possibility to set a default voice (via '--default-voice=voice' or '-V voice'). This endangers a blind user that is not English fluent to not be able to use a newly installed Arch system, which could be installed using TalkingArch.info

Additional info:
* package version(s)
espeakup 0.80

Steps to reproduce:
- # systemctl start espeakup
- voice is English
This task depends upon

Closed by  Alexander Epaneshnikov (alex19EP)
Saturday, 12 March 2022, 21:06 GMT
Reason for closing:  Implemented
Additional comments about closing:  espeakup 0.90
Comment by David Runge (dvzrv) - Friday, 17 January 2020, 10:36 GMT
@josephg: Thanks for reporting. I'll have a look into this!
Comment by David Runge (dvzrv) - Tuesday, 21 January 2020, 17:47 GMT
@josephg: As I'm not super familiar with the application myself, maybe you can clarify the following for me: Do you have experience with running it as an unprivileged user by e.g. giving rw access to that user for /dev/softsynth (usually created crw for root only by the speakup_soft module)?
I would like to harden the service file, which runs as root by default.

Also, what would make more sense: A template user service file (i.e. espeakup@.service), which will be started with a language: e.g. `systemctl start espeakup@en` or a plain service (i.e. espeakup.service), which is configured via configuration file (one is already present in the package's repo, but was apparently never added during packaging for some reason), that lives in /etc/espeakup.conf?

I'm currently leaning towards the latter solution, but I'm wondering what is the easier to use solution. That being said: Both could be shipped actually...
Comment by Alexander Epaneshnikov (erik_pro) - Friday, 10 April 2020, 19:52 GMT
@dvzrv hello. as i promised ... only a little later.
first, i tried running espeakup without root privileges. it works if it can access /dev/softsynth file. but because i am using pulsaudio I need to log in to the user in the GUI and in the console.
second, I think that config in .etc/default/espeakup.config wood bee ideal solution. Now I just redefined systemd service file.
Comment by Rafael Fontenelle (josephg) - Friday, 10 April 2020, 20:37 GMT
David, I'm not very experienced with espeakup myself, but here my tests:

1) For me, just changing permissions of /dev/softsynth to 777 and running 'espeakup -V <lang>' didn't work as regular user due to lack of permissions to create /var/run/espeakup.pid; Even setting /var to 777 and running 'touch /var/run/espeakup.pid' failed. Not sure how to work around it.

2) The 'espeakup@.service' solution worked fine for me. I was wondering why that conf file existed but was not used. I guess it would be nice feature.
Comment by Alexander Epaneshnikov (erik_pro) - Sunday, 03 May 2020, 10:21 GMT
hello. i updated espeakup can be found at https://github.com/alex19EP/espeakup
also pkgbuild at https://github.com/alex19EP/pkgbuilds/tree/master/espeakup
@dvzrv fill free to use it.
p.s testid on TalkingArch
Comment by David Runge (dvzrv) - Sunday, 20 June 2021, 18:55 GMT
@josephg: It will now be easiest to fix this upstream by providing a patch to the service file, that allows overriding with a system-wide configuration file:

https://github.com/linux-speakup/espeakup
Comment by Rafael Fontenelle (josephg) - Saturday, 03 July 2021, 17:25 GMT Comment by David Thurstenson (thurstylark) - Saturday, 12 March 2022, 21:00 GMT

Loading...