>>>>> "KH" == Kenny Hitt <[email protected]> writes:
KH> Speech-dispatcher appears to start, but I see no update to
KH> /var/log/speech-dispatcher/speech-dispatcher.log. The last
KH> update to the file occurred just before upgrade. According to
KH> ps, speech-dispatcher is running. spd-say can't connect to the
KH> running speech-dispatcher. Spd-say commands produce the
KH> following error:
KH> client: Speech Dispatcher failed to open: No such file or
KH> directory
KH> Although the status of this bug is important, it should be
KH> higher since speech-dispatcher is now unusable.
There is a major change in Speech Dispatcher operation in 0.7. While
the previous versions where focused on system wide operation, starting
from 0.7 user instances of Speech Dispatcher are preferred. I'm not
sure how to handle this transition smoothly in the Debian package.
Explanation of your situation is as follows:
- Log file location is ~/.speech-dispatcher/log/ now. For global Speech
Dispatcher instance this means
/var/run/speech-dispatcher/.speech-dispatcher/log/. I think this
directory should be linked to /var/log/speech-dispatcher/, I'll fix it
in the package.
- Speech Dispatcher uses Unix domain sockets instead of Internet sockets
by default now. In most situations this is reasonable, but it may
confuse current client settings.
- Current spd-say can't talk to Internet sockets, it's an upstream
problem (already reported). The error message is confusing, already
reported upstream.
- So your Speech Dispatcher is (unless you've adjusted its
configuration) running on a Unix domain socket, namely
/var/run/speech-dispatcher/.speech-dispatcher/speechd.sock.
spd-say can talk to it, but SPEECHD_SOCKET environment variable must
be set appropriately, e.g.:
export
SPEECHD_SOCKET=/var/run/speech-dispatcher/.speech-dispatcher/speechd.sock
Nevertheless /var/run/speech-dispatcher/ is accessible only to
speech-dispatcher, so there is a permission problem. I'm not sure
whether making the directory and socket commonly accessible is a good
idea, maybe it is.
- Alternatively it is possible to change CommunicationMethod option in
/etc/speech-dispatcher/speechd.conf to "inet_socket". Then Speech
Dispatcher listens on a TCP port as before, but this would probably
require changes in configurations of new client versions and prevents
starting user instances of Speech Dispatcher by default.
New clients should work with current Speech Dispatcher configuration
automatically -- they should use (and preferably start if needed) your
own Speech Dispatcher. However, there is a bug (already reported
upstream) making Speech Dispatcher silent if you don't use PulseAudio.
This can be fixed by setting AudioOutputMethod configuration option in
/etc/speech-dispatcher/speechd.conf or ~/.speech-dispatcher/speechd.conf
to "alsa" (or something else, excluding "pulse").
Assuming log location and socket permissions are fixed, most clients
should still work with global Speech Dispatcher instance, but
SPEECHD_SOCKET environment variable must be set as described above to
tell them they shouldn't use the socket in user's home directory. But
most clients should use the user Speech Dispatcher instance instead. If
some client (such as spd-say) can't start user Speech Dispatcher
instance automatically, you can start it simply by running
`speech-dispatcher'.
What is your client and can you find out why it stopped to work (?)
after the upgrade? Do you have any suggestions how to smoothen the
upgrade process?
Thanks,
Milan Zamazal
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]