Pour ceux qui n’utiliseraient pas encore Oracle VM ou Virtualbox à la place de VMWare ;), il est souvent nécessaire de pouvoir accéder à ses environnements virtualisés à distance. A cet effet, VMWare propose la console « VMWare Infrastructure Web Access » qui fournit un accès direct aux VM hébergées dans une infra.
Cette console de Management vous propose de vous connecter à vos différentes VM par le biais d’un plugin à installer sur votre poste, dénommé « VMWare Remote Console Plugin ». Pratique, car intégré au navigateur, ou en shortcut sur votre bureau, cet outil présente cependant quelques inconvénients. A commencer par le premier : sa lenteur. Le protocole n’est pas du tout optimisé et la réactivité s’en ressent fortement : échos des commandes lent, clic de souris peu réactif, et ainsi de suite.
Il en ressort un confort d’utilisation très moyen, et qui finalement doit se limiter à quelques tâches d’administration ponctuelles. Par ailleurs les adeptes de Ubuntu et autres distrib linux user-friendly ne peuvent profiter de ce plugin.
Cependant, VMWare a pensé à tout ;), notamment en embarquant un VNC Server dans ses VM. Peu et mal documenté, notamment pour nous autres français,
cette fonctionnalité va vous permettre d’accéder à vos VM Windows notamment tout en profitant de la rapidité de VNC.
Voici donc la procédure à suivre pour activer cette fonctionnalité (valable pour des environnements hébergés sous Linux, mais la chose est applicable
sous windows). Vous devez en premier lieu :
- Arrêter votre VM
- Modifier ensuite le fichier de configuration .vmx en ajoutant les lignes suivantes :
RemoteDisplay.vnc.enabled = TRUE RemoteDisplay.vnc.port = 5901 RemoteDisplay.vnc.password = "votrepassword99" RemoteDisplay.vnc.keyMap = "fr"
- Grâce à ces lignes vous allez d’une part activer le VNC au démarrage de la VM, mais également configuré son port d’écoute et le mot de passe associé.
- La dernière option consiste à activer la clavier français (qui est par défaut US).
C’est là que réside la subtilité : les fichiers de mapping du clavier français ne sont pas installés par défaut. Il vous faut les récupérer à partir d’une VM Workstation et les copier vers le répertoire idoïne, à savoir /usr/lib/vmware/vnckeymap sous linux, ou C:Documents and SettingsAll UsersApplication DataVMwarevnckeymap pour Windows.
A partir de là vous pouvez démarrer votre VM. L’activation du VNC est transparente.
Il ne vous reste plus qu’à installer votre client VNC préféré (VNC Viewer, TightVNC (recommandé) sous windows par exemple) et vous connecter à votre VM.
Pour cela, attaquez l’adresse IP (ou hostname) de votre serveur hébergeant vos VM, en indiquant le port d’écoute VNC que vous avez associé (5901, ou :1).
Saisissez ensuite le mot de passe (pas de nom de user). Vous arrivez directement sur l’ouverture de session Windows. Autre avantage de cette solution, c’est que l’adresse de connexion VNC ne bouge pas si votre VM change d’IP : c’est le cas si vous démarrez des sessions VPN par exemple dans votre VM : avec un protocole RDP de connexion à la VM, vous seriez déconnecté. En VNC, c’est le serveur physique de VM qui fournit le serveur VNC, avec un couple IP:PORT qui est indépendant le l’IP de la VM.
Seule limitation de cette fonctionnalité, c’est que vous devez affecter un port VNC différent à chacune de vos VM.
Dernière info, voici le contenu du fichier keymap français. Copiez/Coller le contenu ci-après dans un fichier nommé « fr » et descendez dans le répertoire qui va bien (Cf plus haut).
fichier keymap :
0x0020 = 0x0039 # XK_space 0x0021 = 0x0035 # XK_exclam 0x0022 = 0x0004 # XK_quotedbl 0x0023 = 0x0204 # XK_numbersign 0x0024 = 0x001b # XK_dollar 0x0025 = 0x0028 # XK_percent 0x0026 = 0x0002 # XK_ampersand 0x0027 = 0x0005 # XK_apostrophe 0x0028 = 0x0006 # XK_parenleft 0x0029 = 0x000c # XK_parenright 0x002a = 0x002b # XK_asterisk 0x002b = 0x000d # XK_plus 0x002c = 0x0032 # XK_comma 0x002d = 0x0007 # XK_minus 0x002e = 0x0033 # XK_period 0x002f = 0x0034 # XK_slash 0x0030 = 0x000b # XK_0 0x0031 = 0x0002 # XK_1 0x0032 = 0x0003 # XK_2 0x0033 = 0x0004 # XK_3 0x0034 = 0x0005 # XK_4 0x0035 = 0x0006 # XK_5 0x0036 = 0x0007 # XK_6 0x0037 = 0x0008 # XK_7 0x0038 = 0x0009 # XK_8 0x0039 = 0x000a # XK_9 0x003a = 0x0034 # XK_colon 0x003b = 0x0033 # XK_semicolon 0x003c = 0x0056 # XK_less 0x003d = 0x000d # XK_equal 0x003e = 0x0056 # XK_greater 0x003f = 0x0032 # XK_question 0x0040 = 0x020b # XK_at 0x0041 = 0x0010 # XK_A 0x0042 = 0x0030 # XK_B 0x0043 = 0x002e # XK_C 0x0044 = 0x0020 # XK_D 0x0045 = 0x0012 # XK_E 0x0046 = 0x0021 # XK_F 0x0047 = 0x0022 # XK_G 0x0048 = 0x0023 # XK_H 0x0049 = 0x0017 # XK_I 0x004a = 0x0024 # XK_J 0x004b = 0x0025 # XK_K 0x004c = 0x0026 # XK_L 0x004d = 0x0027 # XK_M 0x004e = 0x0031 # XK_N 0x004f = 0x0018 # XK_O 0x0050 = 0x0019 # XK_P 0x0051 = 0x001e # XK_Q 0x0052 = 0x0013 # XK_R 0x0053 = 0x001f # XK_S 0x0054 = 0x0014 # XK_T 0x0055 = 0x0016 # XK_U 0x0056 = 0x002f # XK_V 0x0057 = 0x002c # XK_W 0x0058 = 0x002d # XK_X 0x0059 = 0x0015 # XK_Y 0x005a = 0x0011 # XK_Z 0x005b = 0x0206 # XK_bracketleft 0x005c = 0x0209 # XK_backslash 0x005d = 0x020c # XK_bracketright 0x005e = 0x020a # XK_asciicircum 0x005f = 0x0009 # XK_underscore 0x0060 = 0x0208 # XK_grave 0x0061 = 0x0010 # XK_a 0x0062 = 0x0030 # XK_b 0x0063 = 0x002e # XK_c 0x0064 = 0x0020 # XK_d 0x0065 = 0x0012 # XK_e 0x0066 = 0x0021 # XK_f 0x0067 = 0x0022 # XK_g 0x0068 = 0x0023 # XK_h 0x0069 = 0x0017 # XK_i 0x006a = 0x0024 # XK_j 0x006b = 0x0025 # XK_k 0x006c = 0x0026 # XK_l 0x006d = 0x0027 # XK_m 0x006e = 0x0031 # XK_n 0x006f = 0x0018 # XK_o 0x0070 = 0x0019 # XK_p 0x0071 = 0x001e # XK_q 0x0072 = 0x0013 # XK_r 0x0073 = 0x001f # XK_s 0x0074 = 0x0014 # XK_t 0x0075 = 0x0016 # XK_u 0x0076 = 0x002f # XK_v 0x0077 = 0x002c # XK_w 0x0078 = 0x002d # XK_x 0x0079 = 0x0015 # XK_y 0x007a = 0x0011 # XK_z 0x007b = 0x0205 # XK_braceleft 0x007c = 0x0207 # XK_bar 0x007d = 0x020d # XK_braceright 0x007e = 0x0203 # XK_asciitilde 0x00a1 = 0x0002 # XK_exclamdown 0x00a2 = 0x002e # XK_cent 0x00a3 = 0x001b # XK_sterling 0x00a4 = 0x021b # XK_currency 0x00a5 = 0x0015 # XK_yen 0x00a6 = 0x0056 # XK_brokenbar 0x00a7 = 0x0035 # XK_section 0x00a9 = 0x002e # XK_copyright 0x00aa = 0x0021 # XK_ordfeminine 0x00ab = 0x0211 # XK_guillemotleft 0x00ac = 0x0229 # XK_notsign 0x00ae = 0x0013 # XK_registered 0x00b0 = 0x000c # XK_degree 0x00b1 = 0x000a # XK_plusminus 0x00b2 = 0x0029 # XK_twosuperior 0x00b5 = 0x002b # XK_mu 0x00b6 = 0x0013 # XK_paragraph 0x00b7 = 0x0034 # XK_periodcentered 0x00b9 = 0x0202 # XK_onesuperior 0x00ba = 0x0027 # XK_masculine 0x00bb = 0x002d # XK_guillemotright 0x00bf = 0x000c # XK_questiondown 0x00c6 = 0x0010 # XK_AE 0x00d0 = 0x0020 # XK_ETH 0x00d7 = 0x0033 # XK_multiply 0x00d8 = 0x0018 # XK_Ooblique 0x00de = 0x0019 # XK_THORN 0x00df = 0x001f # XK_ssharp 0x00e0 = 0x000b # XK_agrave 0x00e6 = 0x0010 # XK_ae 0x00e7 = 0x000a # XK_ccedilla 0x00e8 = 0x0008 # XK_egrave 0x00e9 = 0x0003 # XK_eacute 0x00f0 = 0x0020 # XK_eth 0x00f7 = 0x0034 # XK_division 0x00f8 = 0x0018 # XK_oslash 0x00f9 = 0x0028 # XK_ugrave 0x00fe = 0x0019 # XK_thorn 0x01a3 = 0x0026 # XK_Lstroke 0x01b3 = 0x0026 # XK_lstroke 0x01f0 = 0x0021 # XK_dstroke 0x02a1 = 0x0023 # XK_Hstroke 0x02b1 = 0x0023 # XK_hstroke 0x02b9 = 0x0017 # XK_idotless 0x03a2 = 0x0025 # XK_kra 0x03ac = 0x0014 # XK_Tslash 0x03bc = 0x0014 # XK_tslash 0x03bd = 0x0022 # XK_ENG 0x03bf = 0x0022 # XK_eng 0x07d9 = 0x001e # XK_Greek_OMEGA 0x08a3 = 0x0033 # XK_horizconnector 0x08fb = 0x0015 # XK_leftarrow 0x08fc = 0x0016 # XK_uparrow 0x08fd = 0x0017 # XK_rightarrow 0x08fe = 0x0016 # XK_downarrow 0x0ac3 = 0x0003 # XK_oneeighth 0x0ac4 = 0x0006 # XK_threeeighths 0x0ac5 = 0x0007 # XK_fiveeighths 0x0ac6 = 0x0008 # XK_seveneighths 0x0ac9 = 0x0009 # XK_trademark 0x0ad2 = 0x002f # XK_leftdoublequotemark 0x0ad3 = 0x0030 # XK_rightdoublequotemark 0x20ac = 0x0012 # XK_EuroSign 0xfe03 = 0x0138 # XK_ISO_Level3_Shift 0xfe20 = 0x000f # XK_ISO_Left_Tab 0xfe50 = 0x002b # XK_dead_grave 0xfe51 = 0x0032 # XK_dead_acute 0xfe52 = 0x001a # XK_dead_circumflex 0xfe54 = 0x001b # XK_dead_macron 0xfe55 = 0x002b # XK_dead_breve 0xfe56 = 0x0035 # XK_dead_abovedot 0xfe57 = 0x001a # XK_dead_diaeresis 0xfe58 = 0x001a # XK_dead_abovering 0xfe59 = 0x0032 # XK_dead_doubleacute 0xfe5a = 0x0028 # XK_dead_caron 0xfe5c = 0x000d # XK_dead_ogonek 0xfe60 = 0x0035 # XK_dead_belowdot 0xff08 = 0x000e # XK_BackSpace 0xff09 = 0x000f # XK_Tab 0xff0d = 0x001c # XK_Return 0xff13 = 0x0100 # XK_Pause 0xff14 = 0x0046 # XK_Scroll_Lock 0xff15 = 0x0054 # XK_Sys_Req 0xff1b = 0x0001 # XK_Escape 0xff20 = 0x011d # XK_Multi_key 0xff50 = 0x0147 # XK_Home 0xff51 = 0x014b # XK_Left 0xff52 = 0x0148 # XK_Up 0xff53 = 0x014d # XK_Right 0xff54 = 0x0150 # XK_Down 0xff55 = 0x0149 # XK_Prior 0xff56 = 0x0151 # XK_Next 0xff57 = 0x014f # XK_End 0xff61 = 0x0137 # XK_Print 0xff62 = 0x00b7 # XK_Execute 0xff63 = 0x0152 # XK_Insert 0xff67 = 0x015d # XK_Menu 0xff6b = 0x0100 # XK_Break 0xff73 = 0x0138 # XK_Mode_switch 0xff7f = 0x0045 # XK_Num_Lock 0xff8d = 0x011c # XK_KP_Enter 0xff95 = 0x0047 # XK_KP_Home 0xff96 = 0x004b # XK_KP_Left 0xff97 = 0x0048 # XK_KP_Up 0xff98 = 0x004d # XK_KP_Right 0xff99 = 0x0050 # XK_KP_Down 0xff9a = 0x0049 # XK_KP_Prior 0xff9b = 0x0051 # XK_KP_Next 0xff9c = 0x004f # XK_KP_End 0xff9d = 0x004c # XK_KP_Begin 0xff9e = 0x0052 # XK_KP_Insert 0xff9f = 0x0053 # XK_KP_Delete 0xffaa = 0x0037 # XK_KP_Multiply 0xffab = 0x004e # XK_KP_Add 0xffac = 0x0053 # XK_KP_Separator 0xffad = 0x004a # XK_KP_Subtract 0xffae = 0x0053 # XK_KP_Decimal 0xffaf = 0x0135 # XK_KP_Divide 0xffb0 = 0x0052 # XK_KP_0 0xffb1 = 0x004f # XK_KP_1 0xffb2 = 0x0050 # XK_KP_2 0xffb3 = 0x0051 # XK_KP_3 0xffb4 = 0x004b # XK_KP_4 0xffb5 = 0x004c # XK_KP_5 0xffb6 = 0x004d # XK_KP_6 0xffb7 = 0x0047 # XK_KP_7 0xffb8 = 0x0048 # XK_KP_8 0xffb9 = 0x0049 # XK_KP_9 0xffbe = 0x003b # XK_F1 0xffbf = 0x003c # XK_F2 0xffc0 = 0x003d # XK_F3 0xffc1 = 0x003e # XK_F4 0xffc2 = 0x003f # XK_F5 0xffc3 = 0x0040 # XK_F6 0xffc4 = 0x0041 # XK_F7 0xffc5 = 0x0042 # XK_F8 0xffc6 = 0x0043 # XK_F9 0xffc7 = 0x0044 # XK_F10 0xffc8 = 0x0057 # XK_F11 0xffc9 = 0x0058 # XK_F12 0xffd2 = 0x015b # XK_F21 0xffd3 = 0x015c # XK_F22 0xffe1 = 0x002a # XK_Shift_L 0xffe2 = 0x0036 # XK_Shift_R 0xffe3 = 0x001d # XK_Control_L 0xffe4 = 0x011d # XK_Control_R 0xffe5 = 0x003a # XK_Caps_Lock 0xffe7 = 0x0038 # XK_Meta_L 0xffe8 = 0x0138 # XK_Meta_R 0xffe9 = 0x0038 # XK_Alt_L 0xffea = 0x0138 # XK_Alt_R 0xffeb = 0x015b # XK_Super_L 0xffec = 0x015c # XK_Super_R 0xffee = 0x015d # XK_Hyper_R 0xffff = 0x0153 # XK_Delete
2 réflexions sur “Accéder à vos VMWare via VNC”
J’ai jamais réussi à faire passer de l’azerty. Que ce soit avec un fichier spécifique, ou avec le fr101 et fr104 d’origine.
Quel version utilisez-vous?
ok mais le mieux c’est quand même d’utiliser ORacle VM 😉