Jump to content
Toggle sidebar
JookWiki
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Navigation
Main page
Recent changes
Random page
All pages
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information
Editing
System-wide speakup
(section)
Page
Discussion
English
Read
Edit
Edit source
View history
More
Read
Edit
Edit source
View history
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Existing solutions == Here are some solutions that kind of work but have severe trade-offs. === Running PulseAudio system-wide === Running system-wide PulseAudio allows you to always have espeakup running and talking regardless of who is currently logged in. However this has a major security concern, mainly that all users can now play and record audio from your sound card and other applications. For more information see [https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ What is wrong with system mode?] Running PipeWire system-wide is a little more complicated: You need to run both the PipeWire daemon and a session manager system-wide. This session manager needs to lock hardware and not give it up on seat switch. I'm not going to include instructions on how to do this as I can't provide support for it. Sorry. === Running espeakup as your user === It's possible to run espeakup as your own user by: * Taking control of the audio device away from logind * Giving control of all audio devices to your user * Giving control of the softsynth to your user * Running espeakup as a daemon as your user * Running espeakup at boot as your user I've prepared steps to follow to get this working below. Paste lines between <code>--- PASTE START ---</code> and <code>--- PASTE END ---</code> in to the file specified or a terminal. Step 1: Put this in <code>/etc/modules-load.d/speakup.conf</code> --- PASTE START --- speakup speakup_soft --- PASTE END --- This will cause the speakup kernel modules to load at boot. Step 2: Put this in <code>/etc/udev/rules.d/99-speakup.rules</code> --- PASTE START --- SUBSYSTEM=="sound", TAG-="seat", GROUP="audio" KERNEL=="softsynth*", GROUP="audio" --- PASTE END --- This will will do three things: # Stop logind managing sound devices # Give users in the audio group access to sound devices # Give users in the audio group access to Speakup Step 3: Put this in <code>~/.config/systemd/user/espeakup.service</code> --- PASTE START --- [Unit] Description=Software speech output for Speakup After=pulseaudio.service [Service] Environment="default_voice= ALSA_CARD=" ExecStart=/usr/bin/espeakup -d --default-voice=${default_voice} Restart=always Nice=-10 OOMScoreAdjust=-900 [Install] WantedBy=default.target --- PASTE END --- This is a service that just runs the espeakup daemon. It is set to start after pulseaudio. Change <code>pulseaudio.service</code> to <code>pipewire.service</code> if you're using on PipeWire. Step 4: Run these commands in a terminal as your user: --- PASTE START --- systemctl --user enable espeakup loginctl enable-linger sudo gpasswd -a $USER audio --- PASTE END --- This does three things: # Enable the speakup user service # Enable running user services when logged out # Add your user to the audio group Step 5: Reboot and enjoy! There's two downsides to this method: # Your user can see what other users are reading, including root # Other users can't play audio
Summary:
Please note that all contributions to JookWiki are considered to be released under the Creative Commons Zero (Public Domain) (see
JookWiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
To edit this page, please answer the question that appears below (
more info
):
Who owns this wiki?
Cancel
Editing help
(opens in new window)