On 22/03/2023 13.57, ToddAndMargo via users wrote:
On 3/21/23 01:04, Eyal Lebedinsky wrote:

On 21/03/2023 17.50, ToddAndMargo via users wrote:
On 3/20/23 21:13, Eyal Lebedinsky wrote:
On 20/03/2023 17.22, Eyal Lebedinsky wrote:
Fedora 36 up-to-date.

$ uname -a
Linux e4.eyal.emu.id.au 6.1.15-100.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Mar  
3 17:22:46 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

I have a script running as root (using sudo) and in it I play a sound
     paplay /audio/ogg/beginning.ogg
and it always worked.

Then a few days ago it stopped and I now get an error. Something changed.

$ sudo paplay /audio/ogg/beginning.ogg
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

$ sudo ogg123 -q /audio/ogg/beginning.ogg
ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection 
refused

=== Could not load default driver and no driver specified in config file. 
Exiting.

Is there a simple way to allow playing sounds in this context?

TIA

Received a few replies that suggest it is not trivial to do so. Some think it 
is also unwise.

My current solution is to run the affected script as my non-root user and in it 
run some parts with sudo
(set up to run without a sudo password to avoid script interruption).

BTW: I did try to use su/sudo back to my user, to run from inside the script 
(which is running as root) but it still fails.


Hi Eyal,

Not what you asked BUT WHEN DOES THAT STOP ME!!!
<maniacal laughter>

If you are already running as root, use "su" to
run your command as a user:

     su USER -c "command"

for example:
     su eyal -c "ogg123 -q /audio/ogg/beginning.ogg"

Because you are already running as root, you
won't be prompted for USER's password.

You have to use quotes around the command.  Use
single quotes if double quotes are used in the command.

-T

Tried it and this does not work for me. Does it work for you?

Something is funny going on.  It does work for me:

$ su
Password:

[root@rn6 Misc]# whoami
root

[root@rn6 Misc]# su todd -c "ogg123 -q Wagner\ al\ piano\ _\ Stefan\ 
Mickisch-EpeMHyL-Gio.ogg"

[root@rn6 Misc]#

I can see the difference.

My script suns as root using 'sudo script.sh'

Doing this works:
        $ su
        # su eyal -c "ogg123 ...
but doing this does not:
        $ sudo -i
        # su eyal -c "ogg123 ...
nor does this:
        $ sudo -i
        # sudo -u eyal "ogg123 ...

So 'su' and 'sudo' set up a different context.

My current solution, as I said before, is to run the script directly and use 
'sudo' only where it is needed.

--
Eyal Lebedinsky (fed...@eyal.emu.id.au)
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to