VirtualBox Windows Key Pass Through à Gnome

9

J'utilise un invité VirtualBox Windows 7 en mode transparent sur un hôte Linux Ubuntu 12.04 exécutant Gnome 3.

En fonctionnement normal lorsque VirtualBox n'est pas en cours d'exécution, appuyer sur la touche Windows du clavier lance le panneau d'activité Gnome.

Lorsque l'invité Windows est en cours d'exécution et est au premier plan, une pression sur la touche Windows ouvre le menu Windows à l'intérieur de l'invité.

Est-il possible de le configurer de telle sorte que la clé Windows soit ignorée par l'invité et transmise à l'hôte?

Andrew Tomazos
la source

Réponses:

8

Oui. Ouvrez la fenêtre VirtualBox Manager et allez dans le menu "Fichier", "Préférences" (Ctrl-G).

Sous "Entrée", décochez la case intitulée "Clavier de capture automatique". Il n'est pas nécessaire de redémarrer la machine virtuelle si elle est en cours d'exécution, cela peut donc être modifié "à la volée".

Marty Fried
la source
Existe-t-il un moyen de le faire à l'envers (c'est-à-dire de l'hôte à l'invité). J'ai un invité Arch Linux avec un combo Ctrl + Alt + T mappé terminatoret je veux que ce combo de clés soit transféré de mon hôte (Windows 8) à mon invité (Arch qui a des ajouts d'invités installés et fonctionnels). Je sais que ce n'est pas strictement lié à Ubuntu, mais j'apprécierais de l'aide, je ne trouve rien.
Brandon
Eh bien, de façon simpliste, vous ne devriez tout simplement pas cocher cette case, qui est essentiellement le problème d'origine. Mais il doit y avoir plus que cela. Normalement, lorsque l'invité a le focus, cette combinaison de touches irait à l'invité, pas à l'hôte. Cependant, je ne lance jamais en mode transparent, donc peut-être qu'il y a un problème dans ce mode. Cela fonctionne-t-il si le client est en plein écran? En mode transparent, cela fonctionne-t-il si une application invitée a le focus?
Marty Fried
Oui, mais ce que je cherche à faire, c'est qu'en mode transparent, une certaine combinaison de touches est transmise de l'hôte à l'invité lorsqu'une fenêtre d'hôte est focalisée. Donc, si je suis dans Chrome dans Windows (l'hôte) et que j'appuie sur Ctrl + Alt + T, je veux qu'Arch (l'invité) s'ouvre terminator. J'ai étudié, VBoxManage guestcontrol execute ...mais il présente un comportement vraiment bizarre. Je vais finir par ouvrir une autre question sur Super User probablement parce que cela devient de plus en plus compliqué.
Brandon
D'après mon expérience, ce n'est pas quelque chose qui se produirait normalement. L'hôte ne sait rien de l'invité et ne lui transmettra donc rien. La seule façon serait d'avoir une application en cours d'exécution sur l'hôte pour surveiller toutes les frappes. Cela pourrait être fait, bien que je ne connaisse pas l'API VB, mais vous ou quelqu'un devrez écrire l'application pour l'exécuter sur l'hôte.
Marty Fried
1

ubuntu-20.04 en tant qu'hôte et windows-10 en tant qu'invité ici.

J'ai un problème similaire mais je le résous d'une manière différente. Je laisse mon invité en plein écran dans un espace de travail vide et utilise des coins chauds pour basculer entre les espaces de travail (invité et hôte)

exemple

Voici mes étapes:

cat workspace.next

#!/bin/bash
CURRENT_WS=`wmctrl -d | grep \* | cut -d " " -f 1`
MAX_WS=`wmctrl -d | tail -n 1 | cut -d " " -f 1 `
NEXT_WS=$((CURRENT_WS+1))
if (( NEXT_WS > MAX_WS )); then
    NEXT_WS=0
fi
wmctrl -s $NEXT_WS

cat workspace.previous

#!/bin/bash
CURRENT_WS=`wmctrl -d | grep \* | cut -d " " -f 1`
MAX_WS=`wmctrl -d | tail -n 1 | cut -d " " -f 1 `
NEXT_WS=$((CURRENT_WS-1))
if (( NEXT_WS < 0)); then
    NEXT_WS=$MAX_WS
fi
wmctrl -s $NEXT_WS
Ney Frota
la source