Prefer ssvncviewer over xvnc4viewer in clients

Bug #1030853 reported by Laércio de Sousa
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Epoptes
Fix Released
Wishlist
Alkis Georgopoulos

Bug Description

I'm using a forked version of Epoptes with a workaround for broadcasting to work properly in a multiseat environment (lp:~oiteam/epoptes/workaround-broadcasting-multiseat), as suggested in LP #978050.

The broadcasts work fine when the clients have xvnc4viewer installed. However, when I switch to ssvncviewer, the broadcasts stop working. I can get no error message to find out why ssvncviewer fails to start in clients.

Nevertheless, when I launch ssvncviewer locally in client, passing the VNC server port and password, it does work.

I don't know if this is bug affects other non-multiseat environments.

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

I just tried with X -query :2, to emulate somewhat a multiseat system, and it worked fine for me.

How are you selecting ssvncviewer?
One way to do so, is to put
VNCVIEWER=ssvncviewer
in /etc/default/epoptes-client

Changed in epoptes:
status: New → Incomplete
Revision history for this message
Laércio de Sousa (lbssousa) wrote :

OK. I've found the problem. In function receive_broadcast() defined in /usr/share/epoptes/client-functions, we have the following structure:

if [ -z "$VNCVIEWER" ]; then
    # ssvncviewer is one of the few that can cope with 24bpp (LP: #953512)
    if grep -q "Depth 24 pixmap format is 24 bpp" /var/log/Xorg.?.log &&
        [ -x /usr/bin/ssvncviewer ]
    then
        VNCVIEWER=ssvncviewer
    else
        VNCVIEWER=xvnc4viewer
    fi
fi

In my case, VNCVIEWER is not set and my multiseat settings don't match the if-clause above (namely, my graphics is not 24bpp), so it always try to run xvnc4viewer. But I removed xvnc4viewer after installing ssvnc, so Epoptes silently fails to start broadcasting, because xvnc4viewer is not found.

Replacing the structure above with this one solved my problem, wheter I set VNCVIEWER or not:

if [ -z "$VNCVIEWER" ]; then
    # Always prefer ssvncviewer over xvnc4viewer
    if [ -x /usr/bin/ssvncviewer ]
    then
        VNCVIEWER=ssvncviewer
    else
        VNCVIEWER=xvnc4viewer
    fi
fi

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

The correct way to select ssvncviewer was to define VNCVIEWER, so I changed the bug title and marked it as "wishlist",
but since we already prefer ssvncviewer over xvnc4viewer for the server (http://bazaar.launchpad.net/~epoptes/epoptes/trunk/revision/326),
it does make sense to do the same for the clients.

Thanks, fix committed in http://bazaar.launchpad.net/~epoptes/epoptes/trunk/revision/330.

summary: - Broadcasting fails to start ssvncviewer in clients (in multiseat, at
- least)
+ Prefer ssvncviewer over xvnc4viewer in clients
Changed in epoptes:
assignee: nobody → Alkis Georgopoulos (alkisg)
importance: Undecided → Wishlist
status: Incomplete → Fix Committed
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Fix released in epoptes 0.5.7-1.

Changed in epoptes:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.