Seite mit VM/RDP von Formatierungsfehlern befreit. Inhalte weiterhin veraltet.

This commit is contained in:
qwertfisch 2021-06-30 14:57:02 +02:00
parent f050bc15ae
commit 67772bd87e
2 changed files with 21 additions and 23 deletions

View File

@ -1,26 +1,27 @@
# Virtuelle Maschinen, Emulationen und RDP-Verbindungen
--8<-- "top/komplette Überarbeitung.md"
--8<-- "top/inhaltliche Überarbeitung.md"
Soll Neo in Virtuellen Maschinen (z.B. VirtualBox, Qemu, VMware) oder für Remote-Desktop-Verbindungen verwendet werden, so kommt es oft zu Problemen, da zwei Tastaturbelegungen miteinander konkurrieren. Auf dieser Seite sollen einige Lösungsansätze vorgestellt werden.
Allgemein lässt sich sagen: Bei Problemen sollte für Windows lieber der [kbdneo](../Unsortiert/Neo-unter-Windows-einrichten/kbdneo)- anstatt des [NeoVars](../Unsortiert/Neo-unter-Windows-einrichten/NeoVars)-Treibers verwendet werden. Behebt dies die Probleme nicht, ist es oft nötig, eines der beiden Systeme auf qwertz einzustellen.
Allgemein lässt sich sagen: Bei Problemen sollte für Windows lieber der [kbdneo](/Benutzerhandbuch/Einrichtung/kbdneo.md)- anstatt des [NeoVars](/Benutzerhandbuch/Einrichtung/neovars.md)-Treibers verwendet werden. Behebt dies die Probleme nicht, ist es oft nötig, eines der beiden Systeme auf qwertz einzustellen.
## Virtualbox
Erst auf dem Wirt Qwertz aktivieren, auf dem Gast Neo. Danach kann man auf dem Wirt wieder auf Neo wechseln, das interessiert VBox dann nicht mehr. Siehe dafür auch das [VBox-Ticket 2595](http://www.virtualbox.org/ticket/2595).
* Ist im Wirt Neo eingestellt, führt das sonst dazu, dass zwar die Buchstaben korrekt gesendet werden, jedoch weder Punkt, Komma, noch die Zahlen der Zahlenreihe korrekt funktionieren.
Erst auf dem Wirt Qwertz aktivieren, auf dem Gast Neo. Danach kann man auf dem Wirt wieder auf Neo wechseln, das interessiert VBox dann nicht mehr. Siehe dafür auch das [VBox-Ticket 2595](http://www.virtualbox.org/ticket/2595). Ist im Wirt Neo eingestellt, führt das sonst dazu, dass zwar die Buchstaben korrekt gesendet werden, jedoch weder Punkt, Komma, noch die Zahlen der Zahlenreihe korrekt funktionieren.
Version 2.1.0 macht zusätzliche Probleme, siehe [VBox-Ticket 2793](http://www.virtualbox.org/ticket/2793) und [VBox-Ticket 2905](http://www.virtualbox.org/ticket/2905), daher entweder eine ältere oder neuere Version von Virtualbox verwenden.
* Fehler sind u.a., dass Mod3 die Funktion von Caps-Lock hat, die Mod-Funktion wird also nicht übernommen, und dass Mod4 immer noch <> sendet.
Version 2.1.0 macht zusätzliche Probleme, siehe [VBox-Ticket 2793](http://www.virtualbox.org/ticket/2793) und [VBox-Ticket 2905](http://www.virtualbox.org/ticket/2905), daher entweder eine ältere oder neuere Version von Virtualbox verwenden. Fehler sind u.a., dass ++Mod3++ die Funktion von Capslock hat (die Mod-Funktion wird also nicht übernommen), und dass Mod4 immer noch ++ltgt++ sendet.
Wirt Linux, Gast Windows: Macht Probleme mit NeoVars, hier funktioniert Mod3 nicht richtig, das ist unabhängig vom eingestellten Layout auf dem Wirtssystem. Mit KbdNeo sollte Mod3 funktionieren.
Erik sagt: „Kann ich nicht nachvollziehen, die Caps-Lock-LED leuchtet nur immer wieder mal nervig auf der Tastatur auf und geht wieder aus. Sonst keine Probleme. Bitte genauer beschreiben oder ein Ticket öffnen oder gibt es schon eins? Dann bitte hier nennen.“
### Wirt Linux, Gast Windows
Macht Probleme mit NeoVars, hier funktioniert ++Mod3++ nicht richtig, das ist unabhängig vom eingestellten Layout auf dem Wirtssystem. Mit kbdneo sollte ++Mod3++ funktionieren.
!!! question "Erik sagt:"
Kann ich nicht nachvollziehen, die Capslock-LED leuchtet nur immer wieder mal nervig auf der Tastatur auf und geht wieder aus. Sonst keine Probleme. Bitte genauer beschreiben oder ein Ticket öffnen oder gibt es schon eins? Dann bitte hier nennen.
### Aktuelle Entwicklung
In [VBox-Ticket 2302](http://www.virtualbox.org/ticket/2302) wurde das Thema allgemeiner diskutiert und es gibt offenbar bereits einen Patch, der in der aktuellen Version (seit 3.1) eingepflegt wurde.
Dieser erlaubt ein keycode-scancode-mapping manuell vorzunehmen.
Der Befehl
Folgender Befehl (einmalig) ausgeführt macht die Zahlenreihe verfügbar x,v,q,ß sowie Komma, Punkt und j.
```
#!sh
VBoxManage setextradata global GUI/RemapScancodes \
@ -30,20 +31,16 @@ VBoxManage setextradata global GUI/RemapScancodes \
53=45,59=51,60=52,61=53,108=56,77=119
```
(einmalig) ausgeführt macht die Zahlenreihe verfügbar x,v,q,ß sowie Komma, Punkt und j.
Diese Lösung hat (noch) zwei Probleme: Erstens geht die rechte ++Mod4++ nicht (++AltGr++, wird im Gast-OS nur als ++Alt++ erkannt), und zweitens geht die ++raute++-Taste nicht mehr, wenn Neo im Gastsystem nicht verwendet wird (sie wird als Capslock erkannt).
Diese Lösung hat (noch) zwei Probleme: Erstens geht die rechte Mod4 (Alt Gr, wird im Gast-OS nur als Alt erkannt) nicht und zweitens, geht, wenn Neo im Gastsystem nicht verwendet wird, die #'-Taste nicht mehr (sie wird als Caps-Lock erkannt).
??? info "Technische Details zu dieser Lösung"
(Keine Garantie auf Richtigkeit, Blödsinn bitte ausbessern!)
#### Technische Details zu dieser Lösung
**Es ist nicht notwendig diesen Abschnitt zu lesen! **
Wenn man eine Taste drückt, emittiert die Tastatur einen Scancode. Da alle Tastaturen leicht unterschiedlich sind, werden diese Scancodes zu einheitlichen Keycodes umgewandelt und diese dann (von X11) an VirtualBox gesendet. VirtualBox nimmt dann den Keycode und wandelt ihn zurück in einen Scancode um, um diesen dann an das Gast-OS zu senden. (Das Gast-OS nimmt dann diesen Scancode und wandelt ihn wieder in einen Keycode um usw.) Dieser Mechanismus geht, wenn man im Host-OS Neo verwendet nicht mehr richtig.
(Keine Garantie auf Richtigkeit, Blödsinn bitte ausbessern!)
Die verwendete Einstellung greift in den Keycode zu Scancode Umwandlungsprozess ein und definiert für bestimmte Keycodes (links vom =) einen bestimmten Scancode (rechts vom =) der emittiert werden soll. Die Idee hinter dieser Einstellung ist es die falschen Scancodes zu den richtigen umzubiegen. Leider hab ich es nicht geschafft für die ++raute++-Taste (Keycode 51) einen Scancode zu finden, mit dem sie richtig im Gast-OS als Mod3 funktioniert. Deshalb hat sie den Scancode 58 (Caps Lock) bekommen. Dies erklärt auch den Bug mit der jetzigen Lösung.
Wenn man eine Taste drückt, emittiert die Tastatur einen Scancode. Da alle Tastaturen leicht unterschiedlich sind, werden diese Scancodes zu einheitlichen Keycodes umgewandelt und diese dann (von X11) an VirtualBox gesendet. VirtualBox nimmt dann den Keycode und wandelt ihn zurück in einen Scancode um, um diesen dann an das Gast-OS zu senden. (Das Gast-OS nimmt dann diesen Scancode und wandelt ihn wieder in einen Keycode um usw.) Dieser Mechanismus geht, wenn man im Host-OS Neo verwendet nicht mehr richtig.
Die verwendete Einstellung greift in den Keycode zu Scancode Umwandlungsprozess ein und definiert für bestimmte Keycodes (links vom =) einen bestimmten Scancode (rechts vom =) der emittiert werden soll. Die Idee hinter dieser Einstellung ist es die falschen Scancodes zu den richtigen umzubiegen. Leider hab ich es nicht geschafft für die #'-Taste (Keycode 51) einen Scancode zu finden, mit dem sie richtig im Gast-OS als Mod3 funktioniert. Deshalb hat sie den Scancode 58 (Caps Lock) bekommen. Dies erklärt auch den Bug mit der jetzigen Lösung.
Weitere Informationen dazu [http://www.virtualbox.org/ticket/2302](http://www.virtualbox.org/ticket/2302) (vor allem der Kommentar von therp am 2010-05-13) und [http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html](http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html).
Weitere Informationen dazu unter <http://www.virtualbox.org/ticket/2302> (vor allem der Kommentar von therp am 2010-05-13) und <http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html>.
## Qemu
Qemu verwendet immer die Tastaturbelegung, die im Gastsystem (der virtuellen Maschine) eingestellt ist. Also muss man im Gastsystem Neo aktivieren.
@ -51,7 +48,7 @@ Qemu verwendet immer die Tastaturbelegung, die im Gastsystem (der virtuellen Mas
Linux mit Windows als Gastsystem in Qemu: keine Probleme, egal welche Belegung man unter Linux
eingestellt hat.
Mit Qemu und Autohotkey gibt es jedoch auch das Problem: Linker Mod3 geht nicht. Aber sonst ziemlich alles.
Mit Qemu und Autohotkey gibt es jedoch auch das Problem: Linker ++Mod3++ geht nicht. Aber sonst ziemlich alles.
## andLinux
[andLinux](http://www.andlinux.org/) beruht auf colinux, einem Linuxkernel der auf Windows läuft,
@ -75,9 +72,9 @@ Und egal ob der Client Windows oder Linux ist, steuert CapsLock unter Windows ni
### rdesktop
Unter Linux gibt es das Programm "rdesktop" für RDP-Verbindungen.
Es funktioniert ganz gut, wenn man den Schalter "-k de" aktiviert. Jedoch tritt beim Aktivieren von Mod4 mit der "<>"-Taste das Problem auf, dass immer das Zeichen "<" mit ausgegeben wird und auf der Kommandozeile die Warnung "WARNING: No translation for (keysym 0xfe11, ISO_Level5_Shift)" erscheint.
Es funktioniert ganz gut, wenn man den Schalter "-k de" aktiviert. Jedoch tritt beim Aktivieren von ++Mod4++ mit der ++ltgt++-Taste das Problem auf, dass immer das Zeichen `<` mit ausgegeben wird und auf der Kommandozeile die Warnung „WARNING: No translation for (keysym 0xfe11, ISO_Level5_Shift)“ erscheint.
Dies lässt sich beheben, indem man (etwa unter Ubuntu) /usr/share/rdesktop/keymaps/de-neo mit folgendem Inhalt anlegt und dann statt "-k de" den Schalter "-k de-neo" angibt.
Dies lässt sich beheben, indem man (etwa unter Ubuntu) `/usr/share/rdesktop/keymaps/de-neo` mit folgendem Inhalt anlegt und dann statt „`-k de`“ den Schalter „`-k de-neo`“ angibt.
de-neo:
```

View File

@ -38,7 +38,8 @@ markdown_extensions:
"strg": "Strg", "ctrl": "Strg", "num": "Num-Lock",
"num-separator": "Num ,",
"eszett": "ß", "auml": "ä", "ouml": "ö", "uuml": "ü",
"raute": "#", "prozent": "%"
"raute": "#", "prozent": "%",
"ltgt": "<>"
}
camel_case: True