13

I have installed Ubuntu 11.10 in my machine. I have logged in as USER_A. My external audio device is a Headset and I was able to hear the audio properly.

I need to join my Ubuntu machine to a window's domain (my office server). I followed the steps explained in http://www.ghacks.net/2010/04/21/join-a-ubuntu-machine-to-a-windows-domain/ and was successful in joining my ubuntu machine to the windows domain.

sudo apt-get install likewise-open5
sudo domainjoin-cli join DOMAIN USER_B

Now when I logged in as USER_B, there is no audio for this user in the same machine.

I crossed check with my User_A account. There is no issues with the sound for User_A. Only for User_B, there is no audio.

When I checked the sound settings of User_B, there is no device listed in Hardware, Input and Output. Whereas for User A, my Headset is listed in Input and Output.

Can anyone please help me on this. Why there is no sound for User_B?

Can you please brief me a little more on how to 'Check whether users are added or not in the audio group'.

And also when I tried to execute pulseaudio -k in a terminal (from User_B)

E: [pulseaudio] main.c: Failed to kill daemon: No such process

And also I have found this on pulse audio log. When I run:

pulseaudio --log-level=4 --log-target=stderr

I found the following error lines in my log:

E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen() failed: org.freedesktop.DBus.Error.BadAddress: Abstract socket name too long
E: [pulseaudio] module-dbus-protocol.c: Starting the local D-Bus server failed.
E: [pulseaudio] module.c: Failed to load module "module-dbus-protocol" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
Takkat
  • 142,284
  • Thank you for the response. Only B is logined to my system. He has no sound. I log out from B and logined back as A. Now A has sound. Basically A always has audio whereas B has no sound in the same system. And even after reboot B has no sound – Senthil Kumaran Oct 17 '12 at 05:01
  • Even as I said before, for B the headset is not listed in sound devices. Whereas for A, headset is listed. – Senthil Kumaran Oct 17 '12 at 05:03
  • Can you please brief me a little more on how to 'Check whether users are added or not in the audio group'.

    And also when I tried to execute pulseaudio -k in a terminal (from User_B)

    E: [pulseaudio] main.c: Failed to kill daemon: No such process

    – Senthil Kumaran Oct 18 '12 at 09:39
  • And also I have found this on pulse audio log. When I run:

    pulseaudio --log-level=4 --log-target=stderr I found the following error lines in my log:

    E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen() failed: org.freedesktop.DBus.Error.BadAddress: Abstract socket name too long E: [pulseaudio] module-dbus-protocol.c: Starting the local D-Bus server failed. E: [pulseaudio] module.c: Failed to load module "module-dbus-protocol" (argument: ""): initialization failed. E: [pulseaudio] main.c: Module load failed. E: [pulseaudio] main.c: Failed to initialize daemon.

    – Senthil Kumaran Oct 18 '12 at 09:39
  • Thanks Takkat.. It really helped. Now User_B has sound. But now I face some other issues. After commenting out load-module-dbus-protocol, User_B has sound properly. Once after restarting my system, the same problem exists. User_B has no sound. When I checked the code in /etc/pulse/default.pa, the code was in commented status. Now when I tried to kill pulseaudio using pulseaudio -k in a terminal, it displayed E: [pulseaudio] main.c: Failed to kill daemon: No such process. I think during system reboot, my pulse audio is not started properly. – Senthil Kumaran Oct 18 '12 at 13:37
  • After using pulseaudio --start, again User_B has sound!!! Can you please say me why the above problem was? Due to the above new problem, I have to start my pulse audio manually every time for sound (User_B). Is there anyway to fix this? Thank you again. You have really saved my time. – Senthil Kumaran Oct 18 '12 at 13:39
  • 1
    Summarized the comments in an answer. – Takkat Oct 18 '12 at 16:15

2 Answers2

18

This preliminary answer summarizes steps involved to debug sound available for one user only in an environment where domains were joined for this user. It may need be extended later.

In case we have sound for one user only we may have some bad configuration in this one user account's setting. We need to take the following steps from the affected user account to get further insights into the problem.

  1. Is pulseaudio running at all?
    Usually you will see that from having access to the sound menu in the top bar. Alternatively we can issue the following command in a terminal:

    pulseaudio -k
    

    There will be an error in case pulseaudio does not run. In addition this command takes care of stopping and respawning pulseaudio in case it hangs.

  2. Are there wrong user settings for the pulseaudio daemon?
    To test this we have to rename the settings directory in the affected user's HOME followed by a restart of pulseaudio (see 1.):

    mv ~/.pulse ~/.pulse.bad
    

    or

    mv ~/.config/pulse ~/.config/pulse.bad  ## for newer releases
    
  3. Are channels muted from ALSA?
    We may open the alsamixer in a terminal to adjust channel volumes, and to unmute a channel in case it was accidentally muted:

    alsamixer
    
  4. Make sure users are not in the 'audio' group
    A user in the audio group has exclusive access to the pulseaudio server. Other users can not access it while this user uses it. Therefore user should not be in the audio group.

  5. Start Pulseaudio manually
    In case pulseaudio was not running we can also start the daemon from command line with

    pulseaudio -D
    

    Pulseaudio then uses default settings and starts it's daemon. We can also put this command to our Autostart Applications to overcome the case when pulseaudio fails to run before the desktop was loaded.

  6. Browse log files
    Pulseaudio will be loaded on system start up, and on user login. Therefore errors can only be read from a log generating on starting pulseaudio. See this guide on how to generate a pulsaudio log script. In short, we have to take care pulseaudio does not respawn we may run it in verbose mode:

    pulseaudio -vvvv <options>
    

to be completed


In the case given in the question we could see that pulseaudio fails to run because it was unable to start the D-Bus service. This may likely be caused by a broken or overlong path to the user's HOME (see bug #872992). As a workaround we may issue pulseaudio without D-Bus control by commenting out the following line in /etc/pulse/default.pa like this:

# load-module module-dbus-protocol

However then we (and our applications) will not be able to control pulseaudio using D-Bus.

Carolus
  • 587
Takkat
  • 142,284
  • Ubuntu 17.10, still actual procedure. It helped me. – hariprasad Apr 29 '18 at 11:36
  • I am not entirely sure what made the fix. These are what I tried. Created a folder .pulse in home folder. Symbolic linked to .config . ln -s /home/<user>/.pulse /home/<user>/.config/pulse . As I was using i3, added exec /usr/bin/pulseaudio --start --log-target=syslog to start pulseaudio on startup. ( Ubuntu 18.04 ) – Hari K T Jul 19 '18 at 10:51
2

on my Debian system, I was able to get this working after, on the advice of someone smarter than me, copying (as root) the $HOME/.pulse/ folder and $HOME/.pulse-cookie files from $USER_A to $USER_B, chowning them appropriately.

  • Thank you! That solved my problem, as stated here: http://askubuntu.com/questions/752574/audio-almost-silent-on-one-user-account-but-ok-on-another – Joshua Fox Apr 02 '16 at 17:13