I've implemented a set of 6 scripts to install Guacamole w/NGINX, Tomcat8,
Mysql on Ubuntu 16.04 servers.

I also install Pulseaudio in the Host/Server and configure it (/etc/pulse/
default.pa) to load the Pulseaudio TCP module:

    load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.0.3.0/24
auth-anonymous=1

On a server I also create multiple LXD containers each also running Ubuntu
16.04 (although they could be centos, debian, opensuse, fedora etc).

In each LXD container I install ubuntu-mate Desktop Environment and both
xrdp & x11rdp which I compiled to include pulseaudio 8 support since that's
what Ubuntu 16.04 uses.

I also add a statement to /etc/bash.bashrc

    export PULSE_SERVER=10.0.3.1:4713

so that each User Account created in the Container inherits that
Environment variable which makes the Host/Server's Pulseaudio Server
available to the users of the LXD containers.

In Guacamole Web Proxy I create connections to each of the LXD containers
which all have 10.x.x.x network addresses and can access the Host/Server
via a 10.x.x.x bridge.

Each connection is configured with RDP and RDP security.

I create several test users also and give each use access to multiple LXD
container connections.

Logout of Guacamole & log back in as one of the "test" users and I can
connect to and log into Ubuntu-Mate desktop on any of the containers just
fine.

Running "pactl list modules"  in any of the LXD containers shows the same
Pulseaudo "modules" loaded as the Host/Server.

However, audio/sound played in any of the LXD containers can't be heard.

example:

executing "aplay /usr/share/sounds/alsa/Front_Center.wav" in an LXD
container does show the .wav file playing but there is no sound heard via
my remote web browser.

Now my Question is this...

I *can* connect to the Host/Server's Guacamole Web Proxy via my HTML5 web
browser.
I select an RDP connection to one of the LXD container Desktops and *DO
connect* with the xrdp/x11rdp running in that Container *and DO* get the
Ubuntu-Mate desktop presented to me.

Audio/Sound *does appear* to "play" from that desktop but somewhere/somehow *it
is not picked up by my Guacamole HTML5 connection.*

How does Guacamole normally make the connection for audio in order to play
it back to the remote user over the HTML5 Browser?

I'm at a loss where between guacamole, pulseaudio, xrdp the audio
connection is not right?

Thanks for any insights.

FYI.. I am usually testing the scripts on either AWS or Digital Ocean cloud
servers.

Not sure if attachments work with this Mailer list but I'll add a picture
of what I'm doing anyway in case it does and it can help visualize what I
described.

Brian

Attachment: ciab architecture.pdf
Description: Adobe PDF document

Reply via email to