[pulseaudio-tickets] [PulseAudio] #364: Pulse clients hard to reconfigure for non-default server

PulseAudio trac-noreply at tango.0pointer.de
Sat Sep 20 14:06:48 PDT 2008


#364: Pulse clients hard to reconfigure for non-default server
-----------------------+----------------------------------------------------
 Reporter:  Diablo-D3  |       Owner:  lennart
     Type:  defect     |      Status:  new    
 Priority:  normal     |   Milestone:         
Component:  clients    |    Severity:  normal 
 Keywords:             |  
-----------------------+----------------------------------------------------
 According to
 [http://www.pulseaudio.org/wiki/FAQ#HowdothePulseAudiolibrariesdecidewheretoconnectto
 the FAQ], Pulse clients check $DISPLAY before checking
 ~/.pulse/client.conf.

 This is confusing and unwanted behavior. It should check $PULSE_SERVER
 ("temporarily manually set for this environment only"),
 ~/.pulse/client.conf ("permanently manually for this user only"),
 /etc/pulse/client.conf ("permanently manually for this computer only"),
 then $DISPLAY ("automatically set if no manual settings") and then the
 rest of the automatic options.

 As such, two problems arise by checking $DISPLAY before client.conf, both
 involving forwarding X over SSH.

 Problem one) Machines A and B. Machine A runs Daemon A, and Client A.
 Machine B runs Xserver B. User SSHs from Machine B to Machine A with X
 forwarding on. Client runs on Machine A, displays on Xserver B, but gets
 confused and cannot connect to the Pulse server as Xserver B's root window
 does not have Daemon A listed.

 If User only sets client.conf, then Client A never reads it. If User sets
 environment variable set to {A}unix:/tmp/pulse-user/native (ie, ssh A -XC
 'PULSE_SERVER="{A}unix:/tmp/pulse-user/native" ClientA' or using
 ~/.ssh/environment (on A) which requires enabling such in
 /etc/ssh/sshd_config using PermitUserEnvironment yes), then Client A
 connects to Daemon A while displaying on Xserver B.

 This is a very ugly solution.

 Problem two) Again, Machine A and B. Machine A runs Client A. Machine B
 runs Daemon B, and Xserver B. User SSHs from Machine B to Machine A.
 Client A cannot connect to Daemon B because SSH does not port forward port
 4713 automatically (ie, ssh -L 4713:MachineB:4713 MachineA ClientA; or use
 problem one's environment solution substituting tcp:MachineB:4713 as the
 server address). If the -L flag is supplied or the environment solution is
 used, Client A can connect to Daemon B while displaying on Xserver B.

 This is a very ugly solution, again.

 If client.conf was checked before $DISPLAY, all of this could be avoided
 by just setting default-server appropriately in client.conf.

-- 
Ticket URL: <http://www.pulseaudio.org/ticket/364>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list