labunix's blog

labunixのラボUnix

Wheezyのpulseaudioの「per-user」という警告に対処

■Wheezyのpulseaudioの「per-user」という警告に対処
 起動時に以下のような警告が出る。
 特に使っていないし、音も出るのでスルーしてきた。

[warn] PulseAudio configured for per-user sessions ... (warning).

■よく読めばどうということは無い。
 「PULSEAUDIO_SYSTEM_START」の値が1でないからそこで終了している。

$ sudo  grep -B 2 -A 1 per /etc/init.d/pulseaudio 
test -f /etc/default/pulseaudio && . /etc/default/pulseaudio
if [ "$PULSEAUDIO_SYSTEM_START" != "1" ]; then
	log_warning_msg "PulseAudio configured for per-user sessions"
	exit 0

$ sudo /etc/init.d/pulseaudio restart
[warn] PulseAudio configured for per-user sessions ... (warning).

■「PULSEAUDIO_SYSTEM_START」を「1」にする。

$ grep PULSEAUDIO_SYSTEM_START /etc/default/pulseaudio
PULSEAUDIO_SYSTEM_START=0

$ sudo sed -i s/"\(PULSEAUDIO_SYSTEM_START\)=0"/"\1=1"/ /etc/default/pulseaudio
$ grep PULSEAUDIO_SYSTEM_START /etc/default/pulseaudio
PULSEAUDIO_SYSTEM_START=1

$ sudo /etc/init.d/pulseaudio restart

■「/etc/default/pulseaudio」から環境変数を読み込んで、
 書き換えているので、「警告メッセージ出して終了」ではなくなった。え

$ sudo /bin/bash -x /etc/init.d/pulseaudio restart
+ DAEMON=/usr/bin/pulseaudio
+ PIDDIR=/var/run/pulse
+ PIDFILE=/var/run/pulse/pid
+ DAEMONUSER=pulse
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ test -x /usr/bin/pulseaudio
+ . /lib/lsb/init-functions
+++ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
++ for hook in '$(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null)'
++ '[' -r /lib/lsb/init-functions.d/20-left-info-blocks ']'
++ . /lib/lsb/init-functions.d/20-left-info-blocks
++ FANCYTTY=
++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
+ PULSEAUDIO_SYSTEM_START=0
+ DISALLOW_MODULE_LOADING=1
+ test -f /etc/default/pulseaudio
+ . /etc/default/pulseaudio
++ PULSEAUDIO_SYSTEM_START=1
++ DISALLOW_MODULE_LOADING=1
+ '[' 1 '!=' 1 ']'
+ case "$1" in
+ '[' -s /var/run/pulse/pid ']'
+ exit 0

pulseaudioXで使用するサウンドサーバのようだ。

$ apropos ^pulseaudio
padsp (1)            - PulseAudio OSS Wrapper
pax11publish (1)     - PulseAudio X11 Credential Utility
pulse-cli-syntax (5) - PulseAudio Command Line Interface Syntax
pulse-client.conf (5) - PulseAudio client configuration file
pulse-daemon.conf (5) - PulseAudio daemon configuration file
pulseaudio (1)       - The PulseAudio Sound System
start-pulseaudio-kde (1) - PulseAudio Sound Server KDE Startup Script
start-pulseaudio-x11 (1) - PulseAudio Sound Server X11 Startup Script

■「--check」も出来る。
 実行ユーザ権限でチェックすると「0」を返す。

$ ps -ef | grep pulse
labunix   4572     1  0 06:42 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
labunix   5835  4719  0 07:23 pts/1    00:00:00 grep pulse

$ pulseaudio --check ;echo $?
0
$ sudo pulseaudio --check ;echo $?
1

■ローカルサーバとしても動作しているらしい。
 いつ使うのかは良く分からないので、後で調べよう。。。

$ sudo pulseaudio -h | grep "  \-\-dump-"  | awk '{print $1}' | \
  for n in `xargs`;do echo "[$n]";sudo pulseaudio $n | \
  grep "user\|ffmpeg";done
[--dump-conf]
local-server-type = user
[--dump-modules]
module-console-kit                      Create a client for each ConsoleKit session of this user
module-systemd-login                    Create a client for each login session of this user
[--dump-resample-methods]
ffmpeg