Ohne Maus und Tastatur können Sie die wenigsten Rechner verwenden, Ausnahmen sind lediglich Multimediazentralen, die Sie mit einer Fernbedienung steuern. Benutzen Sie Linux und Windows parallel auf zwei oder mehr Rechnern, wird der Platz auf dem Schreibtisch schnell eng, denn für jeden PC benötigen Sie einen separaten Satz Eingabegeräte.

Für Linux gibt es mit x2x[1] schon länger ein Tool, mit dem Sie mehrere PCs über eine Tastatur und eine Maus ansteuern können. Läuft dieses Programm, fahren Sie einfach mit dem Mauszeiger nach links oder rechts "aus dem Monitor heraus" und landen dann auf dem benachbarten Monitor, der zu einem anderen PC gehört [2]. Das ist sehr praktisch, klappt aber nur mit zwei oder mehr Linux-Systemen.

Das Szenario mit einer Windows- und einer Linux-Maschine unterstützt x2x nicht, wohl aber Synergy [3], ein ähnliches Programm, das betriebssystemübergreifend arbeitet und zusätzlich noch auf Apple-Rechnern unter Mac OS X läuft.

Ein besonderes Highlight von Synergy ist, dass es die Zwischenablagen aller Computer synchronisiert: Sie können also unter Linux mit der Maus einen Text markieren, dann mit der Maus auf den Windows-PC wechseln und den Text dort mit [Strg]+[V] in eine Textverarbeitung oder ein anderes Programm einfügen. Der Weg von Linux nach Windows funktionierte hier problemlos, in der umgekehrten Richtung gingen aber Umlaute und andere Sonderzeichen kaputt. Beim Versuch, aus Word unter Windows Text in OpenOffice unter Linux einzufügen, erhielten wir einen unbrauchbaren längeren HTML-Block mit Stilbeschreibungen (Abbildung 1).

Wenn Sie Synergy ausprobieren wollen, finden Sie die Linux-Version auf unserer Heft-DVD. Die Windows-Version laden Sie von der Projektwebseite [3] herunter.

Abbildung 1: Synergy synchronisiert die Zwischenablagen von Windows und Linux, mag allerdings keine aus Microsoft Word kommenden Texte.

Wer hat das Sagen?

Bevor Synergy läuft, liegen noch alle Tastaturen und Mäuse auf dem Tisch. Die erste Frage, die Sie beantworten müssen, ist nun, welche der Eingabegeräte künftig verschwinden sollen. Der PC, dessen Geräte auf der Tischplatte verbleiben, wird in der Synergy-Sprache zum Server, alle übrigen werden Clients. Diese Begriffsbildung ist sinnvoll, weil der Rechner mit Maus und Tastatur einen Service anbietet: eben die Steuerung der PCs.

Wir beschreiben im Folgenden zwei Szenarien, in denen es genau einen Linux- und einen Windows-PC gibt. Synergy unterstützt prinzipiell beliebig viele dieser Rechner, so dass Sie auch acht Computer nutzen könnten, deren Monitore neben- und übereinander stehen – das führt für diesen Artikel aber zu weit und dürfte auch nur selten Ihrer tatsächlichen Situation entsprechen. Die beiden Standardszenarien, für die wir die Konfiguration erklären, sind:

  • Windows-PC als Server (steuert beide Computer), Linux-PC als Client
  • Linux-PC als Server (steuert beide Computer), Windows-PC als Client

Namensvergabe

Synergy erwartet, dass Sie jeden der beteiligten Rechner mit seinem Namen ansprechen. Im Test war es hilfreich, zunächst eine Übersicht mit Rechnernamen und zugehörigen IP-Adressen anzulegen und diese in der Linux-PC-als-Server-Variante auch in die Synergy-Konfigurationsdatei unter Linux zu schreiben.

Sollten Sie Schwierigkeiten haben, die Rechnernamen herauszufinden, hilft Ihnen der Kasten Probleme mit PC-Namen weiter. Allgemein können Sie sowohl auf Linux- als auch auf Windows-Systemen hostname eingeben, um den Namen herauszufinden:

$ hostname
quad

Unter Windows starten Sie dazu zunächst über Ausführen im Startmenü und Eingabe von cmd in das Schnellstartfenster eine Konsole, in der Sie dann den Befehl eingeben:

C:\Users\esser>hostname
core2

Probleme mit PC-Namen

Sollte es Ihnen nicht gelingen, den Namen des Windows-Rechners herauszufinden, nutzen Sie einen kleinen Trick: Tragen Sie den Windows-PC unter einem Phantasienamen in die Konfigurationsdatei ein, etwa als Unbekannt, und versuchen Sie dann von Windows aus den Verbindungsaufbau. Im Terminalfenster, in dem der Server synergys unter Linux läuft, erscheinen dann verschiedene Meldungen, darunter auch einige Fehlermeldungen:

NOTE: CClientListener.cpp,127: accepted client connection
DEBUG: CClientProxy1_0.cpp,404: received client "core2" info shape=0,0 1680x1050
WARNING: CServer.cpp,265: a client with name "core2" is not in the map
NOTE: CServer.cpp,1908: disconnecting client "core2"
NOTE: CClientProxy1_0.cpp,206: client "core2" has disconnected

Fett gedruckt sehen Sie in dieser Ausgabe, unter welchem Namen sich der Synergy-Client des Windows-Rechners am Server anmelden wollte, im Beispiel also core2. Ersetzen Sie jetzt in der Synergy-Konfiguration unter Linux den Phantasienamen Unbekannt durch den richtigen (hier: core2) und starten Sie beide Synergy-Programme neu, erst unter Linux, dann unter Windows – jetzt sollte es funktionieren.

Linux-PC als Server

In der folgenden Beschreibung gehen wir davon aus, dass Sie den Linux-Rechner als Synergy-Server einsetzen wollen, also mit Linux-Tastatur und -Maus zusätzlich einen Windows-PC steuern möchten.

Zur Server-Konfiguration legen Sie eine Datei .synergy.conf in Ihrem Home-Verzeichnis an und öffnen diese in einem Texteditor wie kate. Sie können z. B. in ein Schnellstartfenster oder in der KDE-Konsole

kate ~/.synergy.conf

eingeben – das funktioniert auch dann, wenn die Datei noch nicht existiert. Schreiben Sie nun die Konfigurationseinträge in die Datei, die wie in Listing 1 aussehen, zu ändern sind dabei nur die Namen der Rechner.

Listing 1

Server-Konfiguration unter Linux

section: screens
        quad:
        core2:
end
section: links
        quad:
                left = core2
        core2:
                right  = quad
end
section: aliases
        quad:
                192.168.178.29
        core2:
                192.168.178.32
end

Die Datei beginnt mit einem Abschnitt screens, der alle potenziell beteiligten Rechnernamen aufnimmt. Synergy bezeichnet die Rechner als Screens, das erinnert an die Einrichtung von Dual-Head-Grafikkarten, bei der die grafische Oberfläche auch von zwei Screens spricht. In unserem Szenario gibt es genau zwei, die Linux-Maschine quad (auf welcher der Synergy-Server läuft) und den Windows-PC core2 (mit einem Synergy-Client). Hinter jedem Rechnernamen muss ein Doppelpunkt stehen.

Weiter geht es mit dem Abschnitt links: Hier geben Sie an, wie die Monitore der beiden Rechner angeordnet sind. Im Beispiel-Setup steht der Linux-PC quad auf der rechten Seite, der Windows-PC core2 steht links. Entsprechend bedeutet der Eintrag

   quad:
          left = core2

dass core2 links (left) von quad steht. Die nächsten zwei Zeilen formulieren dieselbe Aussage aus der anderen Perspektive: quad steht rechts (right) von core2. Die Synergy-Konfiguration benötigt beide Beschreibungen, auch wenn die zweite Angabe überflüssig wirkt.

Im letzten Abschnitt aliases können Sie Aliasnamen für die Rechner vergeben. Wir haben hier im Test die IP-Adressen der Rechner eingetragen, Synergy arbeitete aber auch komplett ohne diesen Abschnitt.

Eine Vorlage für diese Datei (mit einer etwas komplexeren Konfiguration) finden Sie übrigens unter /usr/share/doc/packages/synergy/synergy.conf. Haben Sie die Datei mit den richtigen Daten gefüllt und gespeichert, starten Sie den Synergy-Server. Dazu geben Sie in einem Konsolenfenster den Befehl

synergys -f -c ~/.synergy.conf

ein. Es erscheinen verschiedene Statusmeldungen, die Sie zunächst ignorieren können – nur wenn Sie den Shell-Prompt wieder sehen sollten, gab es Probleme beim Start. Meist dürften das Syntaxfehler in der Konfigurationsdatei sein, dann erhalten Sie eine Meldung der Form ERROR: synergys.cpp,1068: cannot read configuration "/home/esser/.synergy.conf": read error: line 12: found data outside section. Beim erfolgreichen Start des Servers ist eine der letzten Ausgabezeilen:

NOTE: synergys.cpp,500: started server

Jetzt können Sie auf dem Windows-Rechner den Synergy-Client starten. Rufen Sie aus dem Startmenü Programme / Synergy / Synergy auf. Das Programm kann sowohl einen Client als auch einen Server konfigurieren (Abbildung 2). Für die Einrichtung als Client übernehmen Sie die vorausgewählte obere Option Use another's shared keyboard and mouse (client) (Benutze Tastatur und Maus eines anderen Rechners / Client) und geben im Feld Other Computer's Host Name (Hostname des anderen Rechners) die IP-Adresse des Linux-PCs ein, im Beispiel 192.168.178.29. Die Verwendung der IP-Adresse ist nötig, weil der Windows-PC in der Regel den Hostnamen des Linux-PCs nicht kennt. Klicken Sie dann auf Start.

Abbildung 2: Unter Windows gibt es ein grafisches Tool für die Synergy-Einrichtung.

Auf der Linux-Seite erscheinen nun drei neue Protokollzeilen, die letzte davon sollte so aussehen:

NOTE: CServer.cpp,277: client "core2" has connected

Jetzt steht die Verbindung, und Sie können mit der "Linux-Maus" den Mauszeiger vom Linux-PC zum Windows-PC ziehen. Auf der Windows-Seite erscheint noch ein Fenster, das den erfolgreichen Start vermeldet. Klicken Sie darin auf OK, verabschiedet sich das Synergy-Fenster in die Kontrollleiste. Ein normaler Klick auf das Icon zeigt nur ein Status-Pop-up an, mit der rechten Maustaste erreichen Sie ein Kontextmenü, über das Sie den Client beenden können.

Wenn der Verbindungsaufbau nicht funktioniert, verhindert eventuell eine Firewall den Betrieb. Der Kasten Firewall gibt dann Hinweise zur Problemlösung.

In dieser Konstallation gab es einen merkwürdigen Effekt: Während das Arbeiten mit normalen Windows-Programmfenstern problemlos funktionierte, blieben die Fenster von Eingabeaufforderungen (cmd.exe) vollständig unerreichbar – wir konnten sie nicht per Mausklick aktivieren oder schließen. Mit [Alt]+[Tab] gelang es zwar, ein solches Fenster in den Vordergrund zu holen, aber danach waren Maus und Tastatur tot. Weiter ging es erst, nachdem wir mit der am Windows-PC angeschlossenen Tastatur oder Maus wieder ein normales Windows-Fenster in den Vordergrund geholt hatten.

Windows-PC als Server

Das umgekehrte Szenario, in dem Windows die Server-Rolle übernimmt, richten Sie auf ähnliche Weise ein, statt einer Konfigurationsdatei verwenden Sie aber hier das grafische Tool. Starten Sie zunächst unter Windows Synergy (Programme / Synergy / Synergy) und aktivieren Sie die zweite Option, Share this computer's keyboard and mouse (server) (Tastatur und Maus dieses Rechners gemeinsam nutzen / Server) und klicken Sie neben Screens & Links auf Configure. Es öffnet sich ein neues Fenster. Im oberen Bereich Screens fügen Sie über die Schaltfläche mit dem Pluszeichen alle teilnehmenden Rechner (auch den Windows-PC selbst) hinzu, im Beispiel wären das core2 und quad. Alle weiteren Optionen im jeweiligen Dialog ignorieren Sie.

Um jetzt Synergy über die Anordnung (core2 links von quad) zu informieren, verstellen Sie im unteren Bereich die Drop-down-Menüs so, dass sich der durchgehende Text 0 to 100% of the right of core2 goes to 0 to 100% of quad ergibt (Abbildung 3). Klicken Sie auf die Plus-Schaltfläche darunter. In Kurzform erscheint diese Beschreibung dann im Abschnitt Links des Einrichtungsfensters. Wiederholen Sie diesen Schritt für die umgekehrte Richtung (0 to 100% of the left of quad goes to 0 to 100% of core2). Schließen Sie dieses Fenster mit OK und klicken Sie im Synergy-Hauptfenster auf Start. Unter Vista meldet sich die Firewall, die erkennt, dass Synergy einen Port öffnet – geben Sie hier an, Verbindungen nicht zu blockieren.

Abbildung 3: Um Windows als Server zu verwenden, sind dieselben Konfigurationsangaben wie bei Linux als Server nötig – nur mit Eingabe über das grafische Tool.

Jetzt geben Sie auf dem Linux-PC das Kommando

synergyc 192.168.178.32

ein (wobei Sie die Beispieladresse durch die IP-Adresse des Windows-Rechners ersetzen). Unmittelbar danach sollte die Verbindung stehen.

Firewall

Läuft auf dem Server (egal ob Linux oder Windows) eine Firewall, müssen Sie dafür sorgen, dass der Synergy-Server erreichbar ist. Er nimmt auf Port 24800 Anfragen entgegen. In der Firewall schalten Sie entweder diesen Port für das lokale Netzwerk frei oder geben gleich das ganze lokale Netz frei. Verwenden Sie einen DSL-Router mit aktivierter Firewall (genauer: einen, der keine Port-Weiterleitungen von außen nach innen verwendet), ist Ihr privates Netz eh vor Zugriffen von außen geschützt.

Arbeiten Sie in einem Firmen- oder anderen größeren Netz, sollten Sie beachten, dass Synergy alle Daten unverschlüsselt überträgt, so dass andere Nutzer desselben Netzes diese potenziell mit einem Netzwerksniffer abfangen können. Alle Tastatureingaben auf einem der Clients (nicht aber auf dem Server) sind auf diese Weise rekonstruierbar, also z. B. auch Passworteingaben bei der Anmeldung auf einer Webseite. Wollen Sie hier für mehr Sicherheit sorgen, können Sie die Synergy-Verbindung mit der Secure Shell SSH verschlüsseln. Dazu müssen Sie von jedem Client aus eine SSH-Verbindung zum Server aufbauen, was der Befehl

ssh -f -N -L localhost:24800:server:24800 server

leistet. Im Falle eines Windows-Clients klappt das aber nur, wenn Sie SSH unter Windows installieren. Starten Sie anschließend den Synergy-Client, geben Sie statt des Servernamens den lokalen Rechner an, den Sie unter jedem Betriebssystem über den Namen localhost erreichen.

Ist der Windows-Rechner der Synergy-Server, funktioniert das Prozedere auch – dann müssen Sie aber einen SSH-Server unter Windows einrichten, was eine fortgeschrittenere Aufgabe ist.

Fazit

Synergy ist ein würdiger Nachfolger von x2x, denn er unterstützt nicht nur Linux, sondern auch Windows und Mac OS X. Die synchronisierte Zwischenablage ist für reine ASCII-Texte, die Sie etwa zwischen einfachen Text-Editoren austauschen wollen, eine prima Lösung, funktioniert mit formatierten Inhalten aus Textverarbeitungen aber noch nicht so gut.

Infos

[1] x2x: http://x2x.dottedmag.net/

[2] Artikel zu x2x: Christian Baun, "Komfortumschalter", LinuxUser 12/2006, S. 76 ff., http://www.linux-community.de/artikel/11746

[3] Synergy: http://synergy2.sourceforge.net/

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare
synergy+
Carsten Aevermann (unangemeldet), Freitag, 26. Februar 2010 12:33:05
Ein/Ausklappen

es gibt ja inzwischen Synergy+. Läuft bei mir mit Windows7 (server), und 2 * Kubuntu clients. Meine Frage: Habt ihr mal von einer Lösung gehört, welche die Client-Rechner nicht über Netzwerk sondern z.B. USB oder eine andere Verbindung (Seriell, BlueTooth) anspricht. Das wäre sehr sinnvoll für Rechner die zum Browsen online sind und nichtr in das gleiche Netz dürfen wie die Arbeitsplatzrechner?

Grüße
Carsten



Bewertung: 191 Punkte bei 21 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
easy
Vasco (unangemeldet), Mittwoch, 16. September 2009 22:08:20
Ein/Ausklappen

Hab Synergy mal vor einem Jahr ausprobiert und bin an der installation gescheitert :D
Heute einfach mal wieder ausprobiert und es dank eurer Anleitung sehr schnell laufen gehabt. Ich danke für die gut nachvollziehbare, einfache Übersicht. Dank ihr kann ich meine 3 Rechner nun endlich mal anständig benutzen. DANKE


Bewertung: 180 Punkte bei 28 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Verblüffend Einfach
Wolfgang Völker, Samstag, 25. Juli 2009 19:29:02
Ein/Ausklappen

Ich habe schon lange nach so einer Möglichkeit für zwei meiner Rechner gesucht. Die Installation ist ja gut beschrieben. Allerdings läuft auf beiden Rechnern Lenny. apt-get install synergy und dann wie beschrieben eingerichtet. Schon flutscht die Maus über zwei Bildschirme und Texteingabe geht super.
Ich bin verblüfft und hoch begeistert. Ein Artikel der für mich einen echten Nutzen hat.



Bewertung: 197 Punkte bei 27 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Problem
hbmalle (unangemeldet), Dienstag, 04. August 2009 11:17:53
Ein/Ausklappen

Hi, ich habe alles so Versucht wie beschrieben,
leider habe ich nur Fehlermeldungen die ich nicht
lesen kann da ich nicht zu gut im Englisch bin.
Wer kann mir in deutsch einige Anweisungen geben
danke für eine Hilfe
HB


Bewertung: 155 Punkte bei 26 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Problem
Wolfgang Völker, Mittwoch, 19. August 2009 15:22:20
Ein/Ausklappen

Gib mal ein paar Details.
Oder besser poste dein Problem mit den Fehlermeldungen auf der Suse oder der Ubuntu Mailingliste.
Dort wird dir geholfen


Bewertung: 180 Punkte bei 28 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Re: Verblüffend Einfach
ossi46 (unangemeldet), Montag, 10. August 2009 20:37:52
Ein/Ausklappen

hab es dank der guten Beschreibung sofort ans laufen gebracht.
ubuntu---->windows


Bewertung: 203 Punkte bei 26 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Re: Verblüffend Einfach
naga02 (unangemeldet), Freitag, 28. August 2009 12:20:01
Ein/Ausklappen

War extrem einfach mit dieser Anleitung unter Ubuntu(Client) und Windows XP(Server). Jedoch benötige ich die Tastatur noch für die Linux-Anmeldung. Ein Lösung für dieses Problem wäre noch interessant. Sowohl für Windows als auch für Linux.


Bewertung: 182 Punkte bei 25 Stimmen.
Den Beitrag bewerten: Gut / Schlecht