Hi,
Le 24/08/2021 à 21:48, Samuel Thibault a écrit :
In stretch the XDG_RUNTIME_DIR variable was not set, and thus the
speech-dispatcher socket would end up in the user's home, and I
guess that happens to be working by luck with crouton. Of course,
you can try to change the path of the socket in speechd.conf, or set
CommunicationMethod to inet_socket to use a TCP/IP port. But best would
be to get crouton to fix the bug.
As an aside, the XDG Base Directory Specification states under "Environment
variables":
> $XDG_CACHE_HOME defines the base directory relative to which
user-specific
> non-essential data files should be stored. If $XDG_CACHE_HOME is
either not set
> or empty, a default equal to $HOME/.cache should be used.
>
> $XDG_RUNTIME_DIR defines the base directory relative to which
user-specific
> non-essential runtime files and other file objects (such as sockets,
named
> pipes, ...) should be stored. The directory MUST be owned by the
user, and he
> MUST be the only one having read and write access to it. Its Unix
access mode
> MUST be 0700.
But in practice some software use one or the other environment variable
for the same purpose (including sockets)
For this reason I ended up setting these defaults for Slint in
/etc/skel/.profile
export XDG_CACHE_HOME=/dev/shm/$(whoami)
mkdir -p /dev/shm/$(whoami)
chmod 700 /dev/shm/$(whoami)
export XDG_RUNTIME_DIR=$XDG_CACHE_HOME
Maybe not very orthodox, but no issue reported so far due to these default
settings.
Cheers,
Didier