Wine + TightVNC: Clipboard werkt niet goed

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • soczol
  • Registratie: Oktober 2002
  • Laatst online: 17:04

soczol

Doet iets met energie

Topicstarter
Ik ben een beetje aan het experimenteren met X en Wine op Debian. Dit werkt in principe prima, en draait ook vrij soepel.

Omdat ik deze omgeving echter extern wil kunnen benaderen heb ik TightVNC geinstalleerd en geconfigureerd. Ik kan nu vanaf een willekeurige client naar mijn 'desktop' connecten, wat momenteel niet meer is dan een "xterm" terminal window (ik gebruik momenteel geen gnome/kde/whatever).

Wine starten gaat uiteraard ook prima, en een applicatie als 'Notepad' draait dan ook gewoon.

Na een tijdje kom ik er echter achter dat ik bij het werken met zowel 'native' X applicaties en Wine applicaties een toch wel belangrijke functie mis: copy + paste. Na enig onderzoek ben ik tot de volgende conclusies gekomen met betrekking tot het clipboard (copy + paste dus):

VanNaarWerkt
Native X applicatieNative X applicatieJa
Wine applicatieWine applicatieJa
Native X applicatieWine applicatieNee
Wine applicatieNative X applicatieNee


Onderling kunnen applicaties dus prima copy+pasten, maar van wine naar X en vice versa werkt simpelweg niet.

Enig onderzoek wijst er op dat dit "intended behavior" is:
As Segin noted Mar 2006: There are two clipboards [...] select some text in Wine, and middle click in a Xterm, nothing happens! Go back to the Windows app, tell it to copy the text, and try to paste it into the xterm, nothing again!

P.Krylov: You need to set the Wine registry entry X11 Driver/UsePrimarySelection to 'Y'.
De genoemde registry key heb ik dan ook ingesteld. Wonder boven wonder werkt alles wat ik daarnet geprobeerd heb nu wel. Ik kan iets kopieëren vanuit Wine en dit tevoorschijn toveren in xterm, en vice versa.

Al snel merk ik echter dat er toch iets nog niet helemaal goed werkt, maar dan op het gebied van VNC. Als ik iets kopieer vanuit xterm dan kan ik dit zonder problemen 'naar' de client krijgen die via VNC connect. Ook als ik op de client iets kopieer en vervolgens terugga naar de xterm window binnen VNC dan kan ik datgene wat ik gekopieerd heb ook plakken. Wat echter niet werkt is direct plakken vanuit/naar een Wine applicatie.

De situatie is nu dus:

VanNaarWerkt
Native X applicatieWine applicatieJa
Native X applicatieVNC clientJa
Wine applicatieNative X applicatieJa
Wine applicatieVNC clientNee
VNC clientNative X applicatieJa
VNC clientWine applicatieNee


Ondertussen heb ik verschillende zoekopdrachten gedaan, programma's geprobeerd zoals 'xclipboard' welke overigens wel netjes de tekst laat zien die ik kopieer vanuit Wine maar verder niks voor me kan betekenen.

Het lijkt er op dat Wine z'n eigen clipboard formaat heeft en deze pas wordt omgezet naar een 'X' formaat zodra deze in een native applicatie geplakt wordt. Immers kan ik wel: wine -> xterm -> vnc, maar niet wine -> vnc.

Samenvatting van het probleem is dus: Ik kan niet kopieren vanuit Wine naar VNC en vice versa.

Mijn vraag aan jullie of er iemand is die hier al eens eerder tegenaan is gelopen of misschien een idee heeft wat ik kan proberen.

Nog even voor de duidelijkheid alle versienummers:
  • Wine: 1.1.35~winehq1-1 (nieuwere versie werkt niet goed met een van mijn applicaties, moet ik later nog eens naar kijken)
  • TightVNC Server: 1.3.9-4
  • Debian: 5.03 lenny/stable
Alle suggesties zijn welkom. Ik zit momenteel een beetje met m'n handen in 't haar, het werkt maar toch net niet.

Acties:
  • 0 Henk 'm!

  • soczol
  • Registratie: Oktober 2002
  • Laatst online: 17:04

soczol

Doet iets met energie

Topicstarter
Het is gelukt! Helaas niet alles zonder slag of stoot. Hieronder een klein verslag van mijn bevindingen zodat anderen die tegen dezelfde problemen aanlopen hier misschien ook nog wat aan hebben.

 
Toetsenbord: qwerty != qwerty
Toen ik een test setup maakte met tightvnc op een vers geinstalleerde Ubuntu instance liep ik tegen een aantal problemen aan m.b.t. mijn toetsenbord: het intypen van 'qwerty' in een VNC sessie (in de normale gnome sessie werkte dit prima) toonde niet de verwachte tekens, in plaats daarvan toonde mijn xterm 'c.gvn' 8)7

Een zoekopdracht bracht mij op de volgende forum thread: keyboard problems with tightvnc on feisty - Ubuntu Forums. Het ligt dus blijkbaar aan gnome. Alhoewel ik een andere release gebruik (deze thread is uit 2007) beschrijft de eerste post precies het probleem.

Ergens in het midden van de thread komt een user met een oplossing (de overige 'mol je gnome config zodat deze altijd de default keyboard mapping pakt' oplossingen maar even overslagen): Verwijder tightvncserver en installeer vnc4server. En inderdaad, na installatie van vnc4server en het opbouwen van een nieuwe VNC sessie werkt mijn toetsenbord weer naar behoren.

 
VNC Config
Bij de inspectie van het 'vnc4server' package vond ik een 'vnc4config' utility. Omdat ik dit programma nog niet eerder gezien had heb ik de manual er maar eens op nageslagen:
vncconfig is used to configure and control a running instance of Xvnc,
or any other X server with the VNC extension. Note that it cannot be
used to control VNC servers prior to version 4.

...

Its main purpose when run in this mode is to support clipboard
transfer to and from the VNC viewer(s). Note that without a running
instance of vncconfig there will be no clipboard support.
Blijkbaar zorgt dit programma dus voor clipboard ondersteuning. Na het starten van dit programma kom ik tot de conclusie dat copy/paste vanuit Wine naar mijn VNC client nu ook direct werkt :D

 
Terug naar TightVNC
Helaas was door de blijdschap niet opgevallen dat de kleuren in vnc4server nogal lelijk zijn: alles lijkt geforceerd te zijn op een pixeldiepte van 16. Het starten van vnc4server met een diepte van 24 is geen succes: mijn Wine applicaties laten nu helemaal geen iconen meer zien.

In tightvncserver werkte dit allemaal prima. Daarom ben ik toch maar teruggegaan naar tighvnc. Eenmaal in de tightvnc sessie probeerde ik vnc4config uit te voeren, om zo toch misschien clipboard support te krijgen, helaas kwam al snel een foutmelding:
No VNC extension on display :1
De manual had me inderdaad al gewaarschuwd: "Note that it cannot be used to control VNC servers prior to version 4." Al snel bleek na een zoekopdracht dat er geen 'vncconfig' voor tightvnc bestaat.

 
Autocutsel
Na een aantal uur zoeken voor een alternatief voor 'vncconfig' voor tightvnc kwam ik echter op een pagina terecht die een mogelijke oplossing heeft voor dit probleem:
It is possible to copy and paste between the client and the server. ... When you use RealVNC, the solution is to run the vncconfig program .. vncconfig is not included with TightVNC ...

Don't panic though, there is an easy solution for TightVNC users, as listed at the above link: autocutsel (http://www.lepton.fr/tools/autocutsel). With this tool, you do no longer need vncconfig from RealVNC.

Simply run autocutsel like this:

autocutsel -s PRIMARY -fork

and copying works like a charm.

You can put this command in ~/.vnc/xstartup. The commands listed in that file will be started automatically when a new vnc server is started.
 
Het werkt *O*
Na het installeren van dit programma en het uitvoeren van bovenstaande stappen kan ik met blijdschap zeggen dat alles nu gewoon werkt! Ik heb de volledige kleuren, en copy+paste vanuit Wine/xterm/VNC naar Wine/xterm/VNC is allemaal geen probleem meer. En dat alles met TightVNC. Helaas werkt mijn toetsenbord op de test setup nog niet lekker maar een test op mijn 'live' Debian setup wijst uit dat ook dit daar prima werkt.

Ik hoop dat eenieder die tegen deze problemen (met VNC, hun toetsenbord, copy+paste, etc.) aanloopt iets aan deze informatie heeft.