spice_session_connect() will attempt to connect directly to the server, we need to continue calling spice_session_open_fd() for ssh tunnel to work. --- configure.ac | 2 +- src/virt-viewer-session-spice.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 6cf01c3..e94924c 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ GTK2_REQUIRED="2.18.0" GTK3_REQUIRED="3.0" GTK_VNC1_REQUIRED="0.3.8" GTK_VNC2_REQUIRED="0.4.0" -SPICE_GTK_REQUIRED="0.9.11" +SPICE_GTK_REQUIRED="0.10.3" AC_PROG_CC AM_PROG_CC_C_O diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c index eacb6e6..51ecebf 100644 --- a/src/virt-viewer-session-spice.c +++ b/src/virt-viewer-session-spice.c @@ -316,8 +316,15 @@ virt_viewer_session_spice_main_channel_event(SpiceChannel *channel G_GNUC_UNUSED if (ret < 0) { g_signal_emit_by_name(session, "session-cancelled"); } else { + gboolean openfd; + g_object_set(self->priv->session, "password", password, NULL); - spice_session_connect(self->priv->session); + g_object_get(self->priv->session, "client-sockets", &openfd, NULL); + + if (openfd) + spice_session_open_fd(self->priv->session, -1); + else + spice_session_connect(self->priv->session); } break; default: -- 1.7.7.6