# [solved] Ein Fenster mit 2 Xserver übers Netzwerk teilen?

## Valeroina

Hallo!

Ich habe 2 Rechner. Auf einem Rechner läuft Windows, auf einem Gentoo. 

Was ich vorhabe (soweit es geht) ist folgendes:

Beide Bildschirme nebeneinander, Links die Gentoo box, rechts die Windows Box. Auf der Windows Box möchte ich einen X server laufen lassen. Maus und Tastatur kann ich mit Synergy sharen, das klappt auch soweit problemlos.  Soweit so gut. Nun kommt der Haken:

Ich würde gern ein Fenster von der Linux Box auf den Bildschirm der Windows Box (mit x server) ziehen können. Sozusagen den Linux Desktop über 2 Xserver ausbreiten. Ist das überhaupt möglich? Ich hab schon eine weile rumgegoogelt aber entweder geht das nicht, oder es hat noch keiner gemacht, oder ich habe schlicht und einfach die falschen suchwörter:)

Hat jemand sowas schon mal gemacht, oder ne idee wie das gehen könnte? Ein paar schlagworte mit denen ich meine Recherchen fortsetzen könnte würden mir schon sehr helfen.

Viele Grüße und Danke im Voraus,

Vale.

Edit:

Ich habe ein [solved] gesetzt, da ich zu dem Schluss gekomme bin, dass das was ich erreichen will mit der zur Verfügung stehenden Software nicht möglich ist.Last edited by Valeroina on Fri Oct 12, 2007 5:29 pm; edited 1 time in total

----------

## Anarcho

Also mit Boardmitteln geht es nicht. Ich habe mal was von nem Tool gelesen das dies ermöglicht (Name vergessen) aber es wurde als sehr instabil betrachtet.

----------

## UTgamer

VNC kommt zumindest annähernd an das was du möchtest, VNC nutze ich selbst für die Fernwartung von verschiedenen Windows oder Linux Clients. Dann wenn es bei dir Dauerzustand ist würde ich mit Xinerama einen 2. Monitor ansteuern. Auf dem 1. Monitor das lokale System und auf dem 2. Monitor das Remotesystem steuern.

----------

## Anarcho

 *UTgamer wrote:*   

> VNC kommt zumindest annähernd an das was du möchtest, VNC nutze ich selbst für die Fernwartung von verschiedenen Windows oder Linux Clients. Dann wenn es bei dir Dauerzustand ist würde ich mit Xinerama einen 2. Monitor ansteuern. Auf dem 1. Monitor das lokale System und auf dem 2. Monitor das Remotesystem steuern.

 

VNC bietet ihm aber nicht mehr als jetzt mit 2 Xservern und Syngery. 2 Monitore ist schon das richtige  :Wink: 

Wobei wenn schon VNC dann auch gleich noch x2vnc. Ich habe hier ne zeitlang meinen Gentoo Laptop und x2x genutzt.

----------

## Valeroina

Ich benutze bereits X-forwarding mit der Windows box, kann also bereits alle Programme von der Windows box aus benutzen wenn ich möchte. Ich suche nur einen weg das zu vereinfachen bzw zu automatisieren, also die Andwendung einfach auf den Anderen Monitor rüberzuschieben statt dort eine neue Instanz zu starten. Schon richtig mit VNC könnte ich die Linux box bzw die Windowsbox fernsteuern, das ist aber nicht mein Anliegen. Ich möchte die mir zur verfügung stehende Bildschirmfläche komplett frei nuzten  :Wink:  Gibt es nicht irgendeine Möglichkeit den X-server auf der Windows box bei dem X server auf der Linux box als 2. screen (bzw. 3. Ich habe hier noch einen 2. Monitor rumstehen den ich hinzufügen wollte sobald das funktioniert  :Smile: ) einzutragen und dann sozusagen mit Xinerama zu arbeiten?

----------

## UTgamer

 *Anarcho wrote:*   

> Wobei wenn schon VNC dann auch gleich noch x2vnc. Ich habe hier ne zeitlang meinen Gentoo Laptop und x2x genutzt.

 

Kannte ich noch nicht.

@Valeroina, evtl. kommst du den Möglichkeiten was machbar ist näher wenn du dir ansiehst wie Xserver konfiguriert werden wenn man 2 Grafikkarten im Rechner hat.

----------

## Valeroina

Habe was interessantes gefunden http://dmx.sourceforge.net/. Distributed Multihead X. Ist das rein zufällig das tool dessen Name du vergessen hast Anarcho? Ich schau mich da mal genauer um vielleicht wird ja was draus... Ich werde berichten.

----------

## UTgamer

Hey das ist ja ein Klasse Tool und wohl genau das was du gesucht hast.

Jetzt sag mir bitte noch welchen Xserver du unter Windows installiert hast, denn ich war bisher immer mit VNC recht zufrieden.

----------

## Anarcho

 *Valeroina wrote:*   

> Habe was interessantes gefunden http://dmx.sourceforge.net/. Distributed Multihead X. Ist das rein zufällig das tool dessen Name du vergessen hast Anarcho? Ich schau mich da mal genauer um vielleicht wird ja was draus... Ich werde berichten.

 

Ja, ich glaube du hast recht, das ist es. Hoffentlich ist es mittlerweile stabil. Schreib mal ob es klappt!

----------

## Valeroina

 *UTgamer wrote:*   

> Jetzt sag mir bitte noch welchen Xserver du unter Windows installiert hast, denn ich war bisher immer mit VNC recht zufrieden.

 

Ich benutze Xming http://www.straightrunning.com/XmingNotes/, ob das mit dem DMX zusammen funktioniert weiß ich noch nicht, meine recherchen stecken noch in den kinderschuhen. Es gibt für DMX zumindest ein useflag und wenn man das setzt und xorg-server neu merged zieht es ein paar libs mit, das ist alles was ich im moment weiß  :Smile:  DMX ist inzwischen offizieller teil des xservers... Ich hoffe doch das ist dann stabil.

Ich probier erstmal ein bisserl damit rum und werde dann berichten.

----------

## UTgamer

Erstmal danke für die Info, und dann wirds ja immer schöner wenn es in den offiziellen X integriert ist.   :Very Happy: 

----------

## Valeroina

Erstmal eine Teilerfolgsmeldung. Ich bekomme inzwischen ein xclock fenster zwischen meinem gentoo und windows pc hin und her geschoben  :Smile:  Das funktioniert allerdings nur wenn der bildschirm der windows box nicht breiter ist als der der linux box. Ich vermute mal das ist noch ein fehler in der berechnung des Virtuellen fensters. lässt sich vieleicht noch beheben. Leider kommt der Xming server als fenster in den vordergrund wenn ich den xdmx server verbinde und ist somit nicht mehr transparent. Aber ich bin erstmal guter hoffnung das so hin zu bekommen wie ich mir das vorstelle.

----------

## Valeroina

Bei der Teilerfolgsmeldung bleibt es dann auch allerdings leider. 

Normalerweise wenn ich Xforwarding benutze mit den Xservern die ich für Windows kenne wird nur das Fenster weitergeleitet. Sobald sich allerdings der Xdmx server mit den Xservern verbindet blendet sich ein grauer Hintergrund ein (also ob ich Xorg gestartet hätte). Dieser Graue Hintergrund überdeckt nun natürlich andere Anwendungen die nicht von dem Xdmx server kommen und die Fenster passen sich somit nicht reibungslos in die Umgebung ein (Normalerweise bekommen die Fenster einfach einen Windowdecorator von Windows fenstern und lassen sich wie eben solche bedienen). Wenn es so bleibt wie ich es nun habe nützt es mir allerdings nicht viel. 

Sicherlich besteht ein Nutzen wenn ich nun mehrere Linux boxen an den Xdmx server anschließen würde, dann kann ich alle zu einem gigantischen Bildschirm zusammenschließen. 

Ich habe es mit den Xservern Xming und X-Mins für Windows ausprobiert. 

Wer meine Ergebnisse soweit nachvollziehen will dem gebe ich hier einmal die Grobfassung von dem was ich getan habe:

    * set dmx useflag

    * reemerge xorg-server will pull anything neccesary

    * start xfs (neccessary for having the same fonts on all clients)

    * start xorg (Xorg :1 -fp tcp/<xfs server ip>:7100)

    * start xserver on second comp (in my case Xming :0 -ac r -fp tcp/<xfs server ip>:7100

    * start xdmx server: Xdmx :0 -fontpath tcp/<xfs server ip>:7100 -display :1 -display <second comp ip>:0 +xinerama

Hat jemand noch eine Idee wie ich das Fensterverhalten was ich von Xforwarding gewöhnt bin erreichen könnte?

Danke im Voraus.

Edit:

Ich hab nochmal darüber nachgedacht was ich hier eigentlich mache. Xdmx ermittelt die größe des Gesammtbildes indem es die beiden anderen X-Server nach ihren Daten fragt. Dann spielt Xdmx einen neuen Xserver mit der Auflösung des Gesammtbildes und leitet die beiden Teilbilder zu den Xservern weiter. Und genau da ist das Problem. Xdmx als eigenständiger Proxy leitet eben nicht nur die Ausgabe des Programmes weiter das ich ausführe, sondern die komplette ausgabe (also inklusive grauem Hintergrund). Genau das ist das oben bereits beschriebene Problem und so wie ich die Sache nun sehe lässt sich das Problem so nicht lösen. 

Damit eine Funktionalität wie ich sie haben will möglich wird müsste eine Abstraktionsebene zwischen Programm und X-Server eingebettet werden, die eine Umleitung der Ausgabe für das einzelne Programm auf einen anderen X-Server ermöglicht. Ich stehe insofern von einem Design problem von Xorg und erreiche nichts indem ich weiter an Xdmx knabbere. 

Ein Programm was die von mir gewünschte Funktionalität gehabt haben soll (!) ist xmove. Xmove ist wie xdmx ein Proxy vor dem xserver, aber soweit ich das Verstanden habe wird jedes Programm einzeln weitergeleitet statt alle Bildschirme zu einer Fläche zusammenzufassen. Es soll weder stabil sein noch wird es weiterentwickelt und ist somit nun auch nicht direkt einsetzbar. 

Ich komme zu dem Schluss, das ich weiterhin für meinen Anwendungsfall x-forwarding benutzen müssen werde. Xdmx wird sinnvoll wenn es darum geht viele Rechner zu einem riesigem Display zusammenzufassen. Für meinen Fall währe wohl ehr geeignet an einen Rechner alle Monitore anzuschließen. Vielleicht werde ich mich in näherer Zukunft nochmal mit xmove beschäftigen und schauen ob sich da was machen lässt. Das ist dann allerdings Stoff für einen Erfahrungsbericht in einem neuen Thread. 

Vale.

----------

## schillerkiller

Wie ist das eigentlich (bin bei X-servern Neuling)

gibt es auch eine möglichkeit einzelne Windows-Fenster auf die Linux-Box zu schieben?

Ich stelle mir vor die Fenster von Windows zu Linux und von Linux zu Windows zu schieben, sodass ich eine Multikonsole mit mehreren Monitoren und Mehreren Systemen habe.

Realisieren könnte man das unter umständen über Xdmx, bloß fehlt die möglichkeit einzelne Windows Fenster zu ziehen

@Valeroina

hast du auch schon CygwinX oder Xdeep32 probiert?

----------

## Valeroina

Hallo Schillerkiller,

Afaik gibts die Möglichkeit von Windows nach linux hin nicht. Höchstens über eine Virtualisierungslösung. Wenn das Windows in einer VM-Ware o.Ä. umgebung läuft kann man glaube ich die Fenster losgelöst (also ohne Windows Desktop) benutzen. Wine bietet sich für Windows Anwendungen an, die damit laufen. Im Endeffekt ist das was du haben willst eine Stufe komplizierter als das was ich haben will  :Smile:  Wenn du nicht gerade Windows emulierst wirst du mit Xdmx vermutlich auf das selbe Problem stoßen was ich habe. 

Zu deinen X-Servern: 

Xdeep32 habe ich nicht probiert, einer der Server die ich probiert habe war aber soweit ich das verstanden habe eine von Cygwin losgelöste Version von CygwinX. 

Wenn mich mein Verständnis der Vorgänge mit Xdmx nicht täuscht wirst du mit Xdmx keine möglichkeit finden die Fenster unter Windows losgelöst vom Linux desktop zu betreiben. Solltest du doch eine Möglichkeit finden bitte ich dich um eine kleine Rückmeldung:)

Was grundliegend fehlt ist ganz einfach eine Kommunikationsebene zwischen System auf dem das Programm läuft und zwischen den Systeme(n!) auf denen es dargestellt werden soll. Rein theoretisch schätze ich den Aufwand der dafür getrieben werden müsste relativ gering ein, denn es gibt ja schon x-forwarding und xdmx macht unter reinen Linuxsystemen auch schon das richtige. Problematisch ist halt nur die Mischung von Windows und Linux. 

Gruß,

Vale

----------

## schillerkiller

Ich bin auf eine Idee gekommen

bei Maxivista installiert man virtuelle Grafikkarten, darüber könnte man so was ähnliches wie xdmx für Windows erstellen.

leider kenne ich mich mit Treiber Programmierung nicht aus. Kann mir jemand ein Link zu ein paar infos oder howtos geben.

Ich werde versuchen dadurch dann eine Fortleitung der einzelnen Fenster machen. (Ich lasse einfach den Hintergrund ausschneiden)

Dadurch könnte ich dann die Windows Fenster auf einen X-Server weiterzuleiten, 

das wäre eine Lösung für Windows->Windows,Linux, Mac

----------

## Valeroina

Maxivista kannte ich noch garnicht. Aber ich habe mir eben mal das Demovideo von den Jungs angeschaut. Das erste was die Zeigen deckt sich etwa mit dem was Xdmx macht, es vereinigt mehrere Bildschirme zu einem Großem Desktop, wobei (und jetzt wirds wichtig!) die Anwendungen nur von einem der beidem Rechner zu stammen scheinen. Das Zweite was sie zeigen ist das was Synergy auch macht, eine Maus eine Tastatur, eine Zwischenablage mehrere rechner bedienen. Ist ne super sache, aber Fenster schieben kann man in dem modus nicht, zumindest scheint das so zu sein, denn er muss den Modus wechseln um dann anschließend wieder Fenster richtig Groß zu machen. 

Was ich damit sagen will:

Das geht schon fast so... mit hilfe von Xdmx lässt sich Modus 1 nachahmen, vorausgesetz wir sprechen von Linux Anwendungen. Mit hilfe von Synergy lässt sich plattformübergreifend Modus 2 nachahmen. Aber ein ziehen von Fenstern in das jeweils andere system ist auch bei Maxivista so wie ich das sehe nicht möglich. In modus 1 liegt nämlich das 2. system brach und nur der bildschirm wird mitbenutzt. Nicht das was ich eigentlich wollte und so wie ich das sehe auch nicht das was du eigentlich willst.

Gruß, 

Vale.

----------

## schillerkiller

Tut mir leid das ich mich nicht genau ausgedrückt habe.

Es geht mir nicht um die Maus und Tastatur (Synergy) oder Funktionen ähnlich wie UltraVNC. Dafür gibt es Programme Genug

Es stimmt das man mit Maxivista nur "einen Monitor freigeben kann", aber das basiert auf dem System das unter Windows eine virtuelle Grafikkarte erstellt wird. Auf dem Anderen Rechner wird dann das was zu der Virtuellen Grafikkarte gesendet wird, in ein Fullscreenprogramm gesteckt.

Nun baut man sich jetzt ein eigenes System mit so einem Treiber und lässt auf der anderen Seite einen X-Server, der zusätzlich den mitgesendeten Win-Desktop wegschneidet. 

(alternativ schneidet Windows berreits den Desktop weg, müsste man dann beim Programmieren entscheiden)

Das würde resultieren in einem Esthetikproblem, so das wenn man die Windowsfenster auf dem XServer nur "verruckelt" verschieben kann.

Mit einem Zebedee Tunneling könnte man die Verbindung einiger maßen gut aufbauen.

Übrigens ist mir eine Idee mit Maxivista gekommen (wenn es mit Wine Funktioniert)

Das man auf den Windows-Desktop über Xming ein CoLinux oder Linux drüberlegt. (wäre schöner Mix bei Dreamscene ^^)

Noch eine Fraqe, wie funktioniert Xmove, ich habe gehört es verschiebt nicht das Fenster sondern den Prozess, deswegen könte man zum beispiel kein netscape nutzen oder so was (confused)

(Noch ein paar infos:

Windows Vista, High End PC:3,5Ghz Dualcore 2Monitore

Windows XP mit Colinux(gentoo deluxe):3,5Ghz 3Monitore

Linux Fedora Core 6 (Fileserver)  0Monitore

wird ein lustiges Basteln)

----------

## Valeroina

mit xmove hab ich noch keine erfahrungen ich habe nur davon gelesen, stichwortartig wie folgt:

* xmove ist ein X proxy (genau wie xdmx)

* anwendungen werden auf dem xmove proxy gestartet

* anwendungen können nun vom xmove proxy auf beliebige xserver verschoben werden (im sinne von die ausgabe umgeleitet)

Vergleichbar währe das damit das du eine Anwendung mit x11-tunneling gestartet hättest, mit dem unterschied, das du diese auf einen anderen xserver verschieben kannst. ich denke aber mal nicht das xinerama damit möglich ist.

Viel Spaß beim basteln,

Vale;)

----------

## ixo

xmove hört sich sehr interessant an!

Es geht bei mir darum, die XServer Seite (Xterminal) redundant zu gestalten (Bei Ausfall eines XTerminals auf einem anderen weitermachen).

Leider habe ich nicht herausbekommen, wo man xmove erhalten kann (es steht etwas auf http://home.leo.org/~loescher/tips.html#xmove). Hat da jemand weitere Informationen?

Vielen Dank, ixo

----------

## Valeroina

Deiner Beschreibug nach zu Urteilen ist xmove das was du willst ixo. Die Einzige Adresse wo ich auf die Schnelle was runterladbares gefunden habe ist bei den jungs von Debian: http://packages.debian.org/unstable/x11/xmove. rechts bei den links gibts nen link auf die quellen. Wenn du das zum laufen bekommst sag mal bescheid, ich bin sehr an Ergebnissen interessiert. Gruß, Vale

----------

## schillerkiller

ich bin hier leider wahrscheinlich falsch wenn ich euch frage wie man eine Virtuelle Grafikkarte erstellen kann?

Naja ich habe heute den Ganzen tag überlegt.

Über ein "AutoItv3" -ähnliches Programm könnte man über eine Screencapture-DLL das bild von der virtuellen Grafikkarte übertragen und auf dem X-Server ein Program ausführen das die jeweiligen Fenster zeigt, und die Befehle wieder an Windows zurücksendet. Schön und gut, damit hätte man geschafft was man immer wollte, mein hacken, wie kriege ich einen virtuellen treiber hin?

Ich habe Gegoogelt, sogar auf polnischen und russischen seiten aber keine anweisung gefunden, ich habe nicht mal einen Ansatz, Ich zerschnipse jetzt einfach mal ein paar grafiktreiber und versuche sie ohne Grafikkarte laufen zu lassen ^^.

@valeroina

http://packages.debian.org/unstable/x11/xmove

habe ich schon mal runtergeladen, Problem ist, das ich im moment kein linux zum compilieren habe.

könnt ihr mal testen ob man ihn überhaupt noch kompilieren kann (ich glaube xmove ist seit 2004 nicht mehr angefasst worden)

----------

## Valeroina

Das Compilieren an sich kann ich gern ausprobieren, vorausgesetzt ich brauche nicht viel dran rumzubasteln geht das ja nebenbei.... Zum rumbasteln und ausprobieren habe ich die Tage erstmal leider keine Zeit, ich habe noch was wichtiges für die Uni zu erledigen, das hat vorrang:) Ich geb bescheid ob die Quellen ohne signifikante änderungen compilieren.

----------

## Valeroina

Das Compilieren endet mit

```
make: *** No rule to make target `xmove.man', needed by `xmove._man'.  Stop.
```

Das xmove binary ist aber bereits fertig und scheint zu funktionieren. Die Meldung die ich sehe wenn ich es aufrufe stimmt mich erstmal relativ zuversichtlich:

```
./xmove

xauth: (argv):1:  bad display name "littleone:1" in "add" command

Unable to execute xauth. User authentication not enabled

No address for our host
```

soweit so gut, das würde man denke ich in den Griff bekommen wenn man sich ein bisserl mit beschäftigt. Was ich mich frage ist ob nicht schlicht und einfach Funktionen vergleichsweise moderner xserver fehlen wenn man einen proxy benutzt der so alt ist  :Wink: 

Grüße,

Vale

----------

## schillerkiller

also wenn die binary läuft dann ist es halb so schlimm wie ich dachte.

Ich habe mir jetzt wieder Treiber erstellung durchgeguckt und immernoch keine Ahnung.

Aber ich werde das schon irgendwie schaffen.

Edit:

Ich habe jetzt was von DDK gefunden (Windows Driver development kit).

Wenn ich fertig geworden bin mit meinem Projekt werde ich gucken ob ichs veröffentliche.

----------

