I've tracked down the problem. A patch is attached for the Oneiric package. The issue is that ssh enumerates and closes its file descriptors before opening /dev/tty, so the PTY slave is temporarily closed and thus an EIO is delivered to the PTY master in read(). The solution is to keep the slave open in the vinagre process until ssh has opened the terminal. I have also sent the patch to upstream.
(Note that this only addresses the regression where ssh tunneling started failing every time. There is a pre-existing race issue where ssh sometimes receives a SIGHUP after the user enters their password, but it is unrelated and this patch does not address it.) ** Patch added: "vinagre-fix-ssh-tunneling-eio-when-slave-temporarily-closed.debdiff" https://bugs.launchpad.net/ubuntu/+source/vinagre/+bug/764632/+attachment/2548920/+files/vinagre-fix-ssh-tunneling-eio-when-slave-temporarily-closed.debdiff -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/764632 Title: The "Use SSH tunnel" option doesn't work To manage notifications about this bug go to: https://bugs.launchpad.net/vinagre/+bug/764632/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs