I've actually got a better idea. Instead of checking the user id, we can use XDG_RUNTIME_DIR as a base for the wav file. So something like $XDG_RUNTIME_DIR/speech-dispatcher. That will be cleaned up when the user logs out, and nobody then knows that another user is using speech- dispatcher's generic synth mechanism. Probably not really a security issue, but is still cleaner as this file is temporary for only the logged in user, and only for their session.
I'll go ahead and implement this unless you have an objection. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to speech-dispatcher in Ubuntu. https://bugs.launchpad.net/bugs/1291105 Title: After using spd-say (with pico TTS) with the root account, spd-say stops working for users Status in “speech-dispatcher” package in Ubuntu: New Bug description: The command definition (GenericExecuteSynth) in /etc/speech- dispatcher/modules/pico-generic.conf use a fixed file name for the wave file ($TMPDIR/pico.wav): GenericExecuteSynth \ "pico2wave -w $TMPDIR/pico.wav -l $VOICE \'$DATA\' && $PLAY_COMMAND $TMPDIR/pico.wav If you use spd-say or a speech dispatcher enabled application with root, it will create the pico.wav file owned by root with restricted permissions. If you try to use spd-say with a different user, it will then fail, failing to access the /tmp/pico.wav file. A solution would be to create a temporary file per user ID: GenericExecuteSynth \ "USERID=`id -u` && umask 077 && pico2wave -w $TMPDIR/pico-$USERID.wav -l $VOICE \'$DATA\' && $PLAY_COMMAND $TMPDIR/pico-$USERID.wav" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/speech-dispatcher/+bug/1291105/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

