Description of problem: No sound device (and hence no sound) in GNOME when booting into runlevel 3 and running startx. Version-Release number of selected component (if applicable): pulseaudio-0.9.15-3.test5.fc11.i586 How reproducible: 100% Steps to Reproduce: 0. Power on Acer Aspire One 1. Boot into runlevel3 2. login as ordinary user 3. startx 4. right-click speaker icon in system tray 5. select output tab 6. sound device shows as Null Output 7. open terminal window 8. paplay meepmeep.wav 9. no sound 10. exit GNOME 11. sudo gdm 12. login as same ordinary user as step #2 above 13. right-click speaker icon in system tray 14. select output tab 15. sound device shows as Internal Audio 16. open terminal window 17. paplay meepmeep.wav 18. enjoy sound of roadrunner's meepmeep 19. sudo telinit 3 20. GOTO step #3 Actual results: Without gdm: Null Output sound device; no sound Expected results: Without gdm: Internal Audio sound device; sound Additional info: Probably the wrong component against which to file this bug, but not sure where it should go.
Please set "log-level" to "debug" in /etc/pulse/daemon.conf, then try to reproduce this issue and paste the output of PA from syslog.
Created attachment 338071 [details] syslog pulseaudio output Ran startx from runlevel 3. Same problem as originally reported.
This is a permission problem: Apr 3 10:54:56 localhost pulseaudio[2706]: module-alsa-card.c: Card '0' doesn't exist: Permission denied If you don't run your session from gdm then no ConsoleKit session will be created for you and hence the audio device ACLs won't be configured for you probably. I am tentatively reassigning this to ConsoleKit. It's probably not the right place, though. If we really want to support startx sessions then that script needs to open a ck session in some way. No clue how.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
My work-around: Created ~/.Xclients and ~/.Xclients-default (copied from my F10 installation; could have just run switchdesk gnome). Modified .Xclients-default by adding ck-xinit-session: ~$ diff .Xclients-default .Xclients-default-good 8c8 < [ -x $p/$WM ] && exec $p/$WM --- > [ -x $p/$WM ] && exec ck-xinit-session $p/$WM
/etc/X11/xinit/xinitrc is supposed to run ck-xinit-session for you already. Would be good to investigate why that doesn't work for you.
contents of /etc/X11/xinit/xinitrc /etc/X11/xinit$ cat xinitrc #!/bin/sh # Copyright (C) 1999 - 2005 Red Hat, Inc. All rights reserved. This # copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the # GNU General Public License version 2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # Authors: # Mike A. Harris <mharris> # Mandatorily source xinitrc-common, which is common code shared between the # Xsession and xinitrc scripts which has been factored out to avoid duplication . /etc/X11/xinit/xinitrc-common # The user may have their own clients they want to run. If they don't, # fall back to system defaults. if [ -f $HOME/.Xclients ]; then exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients || \ exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients elif [ -f /etc/X11/xinit/Xclients ]; then exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients || \ exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients else # Failsafe settings. Although we should never get here # (we provide fallbacks in Xclients as well) it can't hurt. [ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45' [ -x /usr/bin/xclock ] && /usr/bin/xclock -geometry 100x100-5+5 & [ -x /usr/bin/xterm ] && xterm -geometry 80x50-50+150 & [ -x /usr/bin/twm ] && /usr/bin/twm fi contents of /etc/X11/xinit/xinitrc-common: /etc/X11/xinit$ cat xinitrc #!/bin/sh # Copyright (C) 1999 - 2005 Red Hat, Inc. All rights reserved. This # copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the # GNU General Public License version 2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # Authors: # Mike A. Harris <mharris> # Mandatorily source xinitrc-common, which is common code shared between the # Xsession and xinitrc scripts which has been factored out to avoid duplication . /etc/X11/xinit/xinitrc-common # The user may have their own clients they want to run. If they don't, # fall back to system defaults. if [ -f $HOME/.Xclients ]; then exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients || \ exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients elif [ -f /etc/X11/xinit/Xclients ]; then exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients || \ exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients else # Failsafe settings. Although we should never get here # (we provide fallbacks in Xclients as well) it can't hurt. [ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45' [ -x /usr/bin/xclock ] && /usr/bin/xclock -geometry 100x100-5+5 & [ -x /usr/bin/xterm ] && xterm -geometry 80x50-50+150 & [ -x /usr/bin/twm ] && /usr/bin/twm fi /etc/X11/xinit$ cat xinitrc-common #!/bin/bash # Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This # copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the # GNU General Public License version 2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # xinitrc-common # # This is common code shared by both Xsession and xinitrc scripts. Be sure # to take this into account when fixing bugs or adding new functionality. # Set up i18n environment if [ -r /etc/profile.d/lang.sh ]; then . /etc/profile.d/lang.sh fi userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap userxkbmap=$HOME/.Xkbmap sysresources=/etc/X11/Xresources sysmodmap=/etc/X11/Xmodmap sysxkbmap=/etc/X11/Xkbmap # merge in defaults [ -r "$sysresources" ] && xrdb -nocpp -merge "$sysresources" [ -r "$userresources" ] && xrdb -merge "$userresources" # merge in keymaps if [ -r "$sysxkbmap" ]; then setxkbmap $(cat "$sysxkbmap") XKB_IN_USE=yes fi if [ -r "$userxkbmap" ]; then setxkbmap $(cat "$userxkbmap") XKB_IN_USE=yes fi # xkb and xmodmap don't play nice together if [ -z "$XKB_IN_USE" ]; then [ -r "$sysmodmap" ] && xmodmap "$sysmodmap" [ -r "$usermodmap" ] && xmodmap "$usermodmap" fi unset XKB_IN_USE # run all system xinitrc shell scripts. for file in /etc/X11/xinit/xinitrc.d/* ; do . $file done # Prefix launch of session with ssh-agent if available and not already running. SSH_AGENT= if [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ]; then if [ "x$TMPDIR" != "x" ]; then SSH_AGENT="/usr/bin/ssh-agent /bin/env TMPDIR=$TMPDIR" else SSH_AGENT="/usr/bin/ssh-agent" fi fi CK_XINIT_SESSION= if [ -x /usr/bin/ck-xinit-session -a -z "$XDG_SESSION_COOKIE" ]; then CK_XINIT_SESSION="/usr/bin/ck-xinit-session" fi
I hit this bug today in rawhide (thanks to gdm crashing every 10 minutes and taking my GNOME session with it), when I booted into runlevel 3. Here's what I've discovered: If I make this change in /etc/X11/xinit/xinitrc-common: --- /etc/X11/xinit/xinitrc-common.orig 2009-04-17 19:00:41.000000000 -0400 +++ /etc/X11/xinit/xinitrc-common 2009-04-17 18:57:15.000000000 -0400 @@ -67,4 +67,6 @@ CK_XINIT_SESSION= if [ -x /usr/bin/ck-xinit-session -a -z "$XDG_SESSION_COOKIE" ]; then CK_XINIT_SESSION="/usr/bin/ck-xinit-session" +else + echo "XDG_SESSION_COOKIE wasn't zero. It is $XDG_SESSION_COOKIE" fi (Yes, I'm sure that /usr/bin/ck-xinit-session exists.) Then, when I startx, I get this on tty1: XDG_SESSION_COOKIE wasn't zero. It is d0a20e3f3630977ac4c0bd86491bb834-1240008361.230691-978425245 Obviously, the fact that $XDG_SESSION_COOKIE is non-zero is why ck-xinit-session is never being executed. I'm not sure what is setting that variable, but something in runlevel 3 is doing it.
Even more interesting, if I remove the requirement that $XDG_SESSION_COOKIE be unset, it all works fine.
Clearly the same issue as bug 332781 *** This bug has been marked as a duplicate of bug 332781 ***