Bonne année 2021 !
Archives de l’auteur : SiZiOUS
Utilisateur de VMware & Docker ?
J’utilise VMware Workstation (dans mon cas, Workstation 15.5.1) sur mon ordinateur Windows 10 et je voulais installer Docker. Après avoir installé Docker et activé certaines fonctionnalités de Windows, par exemple Hyper-V, j’ai pu l’utiliser correctement.
Mais maintenant, lorsque j’essaie d’exécuter une machine virtuelle dans Workstation, le message suivant s’affiche:
1 2 3 |
VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard. Please visit http://www.vmware.com/go/turnoff_CG_DG for more details. |
Ce message étrange est lié à Hyper-V. Les produits VMware ne peuvent pas être utilisés si Hyper-V est installé. Dans le même temps, Docker a besoin d’Hyper-V pour fonctionner !
La seule option pour autoriser le démarrage de VM est de désactiver Hyper-V. J’ai donc essayé de désactiver la fonctionnalité sous Windows. Ce n’est pas suffisant ! Vous devez également modifier un paramètre dans le registre de démarrage.
Le problème est que si vous désactivez Hyper-V, Docker ne s’exécutera pas. Vous avez donc un choix à faire. Chaque fois que vous souhaitez utiliser Docker, vous devez activer Hyper-V. Si vous souhaitez utiliser des produits VMware, vous devez désactiver Hyper-V. Vous trouverez ci-dessous les commandes à exécuter dans les deux cas.
Désactiver Hyper-V: utiliser les produits VMware
Ouvrez un PowerShell en mode Administrateur puis tapez :
1 2 |
bcdedit /set hypervisorlaunchtype off Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All |
Puis redémarrez. Désormais, les produits VMware (Player ou Workstation) peuvent fonctionner !
Activation d’Hyper-V: utiliser Docker
Maintenant, si vous souhaitez utiliser Docker, vous devez réactiver Hyper-V. Ouvrez un PowerShell en mode Administrateur puis tapez :
1 2 |
bcdedit /set hypervisorlaunchtype auto Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All |
Puis redémarrez. Docker peut désormais être utilisé mais pas les produits VMware.
Conclusion
Cette situation ne restera pas comme ça mais pour l’instant c’est la seule solution de contournement que vous avez. La question fait d’ailleurs l’objet d’une étude.
Bonne année 2020 !
Je veux juste vous souhaiter une Bonne Année 2020 ! 🙂
Une nouvelle décennie a maintenant commencé et la scène Dreamcast est encore vivante, et c’est un plaisir de voir ça!
Je n’ai pas posté tant de choses ici mais ne vous inquiétez pas, en parlant de mes hobbies, je travaille sur le prochain package DreamSDK R3, mais je suis vraiment lent car comme vous le savez peut-être, c’est beaucoup de travail pour peu de temps libre …
En attendant, à bientôt!
Comment configurer Google Chrome par défaut sur Lubuntu 19.04
Récemment, je voulais configurer Google Chrome par défaut sur ma nouvelle VM Lubuntu 19.04 et, malgré la présence du bouton Définir Google Chrome comme navigateur par défaut
, cela ne fonctionne jamais : Firefox reste le navigateur par défaut.
Je voulais configurer Google Chrome par défaut sans désinstaller Mozilla Firefox car j’utilise les deux navigateurs. Ouvrez un terminal puis procédez comme suit :
1 |
nano ~/.config/lxqt/session.conf |
Changez la variable BROWSER
en /usr/bin/google-chrome-stable
, comme indiqué ci-dessous. Enregistrez les modifications.
Tapez : sudo update-alternatives --config x-www-browser
puis choisissez l’entrée /usr/ bin/google-chrome-stable
en mode manuel
(2
dans la capture d’écran ci-dessous).
Tapez : sudo update-alternatives --config gnome-www-browser
. Faites comme ci-dessus.
Tapez les commandes suivantes :
1 2 3 4 |
sudo xdg-settings set default-web-browser google-chrome.desktop sudo xdg-mime default google-chrome.desktop x-scheme-handler/http sudo xdg-mime default google-chrome.desktop x-scheme-handler/https sudo xdg-mime default google-chrome.desktop text/html |
Puis redémarrez l’ordinateur (sudo reboot
). Vérifiez maintenant si la variable $BROWSER
est OK en tapant echo $BROWSER
:
À présent, lors de la vérification de Firefox, il devrait être indiqué que le navigateur n’est pas le navigateur par défaut et que Google Chrome ne devrait plus se plaindre !
DreamSDK R2 est disponible depuis Mars 2019
J’ai totalement oublié de poster ici, mais j’ai récemment publié le package DreamSDK R2 !
De nombreuses améliorations et modifications sont incluses dans cette version, telles que :
- Intégration complète avec l’EDI Code::Blocks, incluant y compris le débogage à distance directement sur le matériel réel, et cela à partir de l’IDE !
- DreamSDK Manager a été repensé et considérablement amélioré.
- De nombreux nouveaux outils sont maintenant inclus, comme makedisc, vous permettant de créer des versions sur CD de vos programmes.
- Le contenu de l’aide a été considérablement amélioré et il est maintenant disponible en ligne (et bien sûr, il reste également disponible dans le package).
- Beaucoup d’autres choses que vous découvrirez par vous-même !
Pour ceux qui ne savent pas ce qu’est DreamSDK, il s’agit d’un package contenant tout ce dont vous avez besoin pour développer des programmes pour la console de jeu vidéo Sega Dreamcast sous Microsoft Windows. Ce n’est pas un framework de haut niveau prêt à l’emploi comme Unity, c’est un SDK de bas niveau basé sur KallistiOS (KOS). Vous devrez donc apprendre la programmation Dreamcast avec KOS et notamment apprendre les langages de programmation C / C ++.
Bonne année 2019 !
Je veux juste vous souhaiter une bonne année 2019 à tous ! 🙂
Que la Dreamcast soit toujours avec vous pour cette nouvelle année !
DreamSDK R1 est sorti
Donc, après presque 2 mois de travail intensif, je suis vraiment heureux de vous annoncer que mon dernier projet est terminé : DreamSDK R1 est sorti.
DreamSDK est un environnement moderne et prêt à l’emploi pour le développement de Sega Dreamcast conçu pour la plate-forme Microsoft Windows.
Les principales caractéristiques sont :
- Rapide et facile à installer : il suffit de double-cliquer sur le fichier d’installation et de laisser le programme installer et tout configurer pour vous
- Prêt à l’emploi : toutes les chaînes d’outils requises (pour les SuperH et Yamaha AICA) sont déjà prédéfinies et prêtes à l’emploi.
- Léger : Grâce à l’environnement MinGW/MSYS, l’espace utilisé sur le disque est minimal.
- Configurable et évolutif : avec l’outil inclus de DreamSDK Manager, gérez les composants DreamSDK très facilement.
- Respectueux des normes : DreamSDK est 100% conforme aux normes et à la documentation de KallistiOS.
Ce paquet a une approche très différente par rapport aux autres paquets de ce genre. La différence majeure est que KallistiOS n’est pas inclus : il est plutôt téléchargé / installé à partir de DreamSDK Manager, un outil inclus dans ce package. Ceci maintiendra votre installation à jour et permettra à DreamSDK d’être toujours utilisable, car seules les chaînes d’outils (SuperH et Yamaha AICA) sont incluses (et qui ne change pas souvent). En clair, cela vous donnera la possibilité de mettre à jour KallistiOS directement à partir de l’environnement DreamSDK.
Veuillez également noter que j’utilise les référentiels KallistiOS officiels (kos et kos-ports) et non mes référentiels (qui contiennent divers correctifs sur les systèmes de construction). L’exception est dcload-serial et dcload-ip : j’utilise mes référentiels car les référentiels officiels ne compileront pas sur MinGW/MSYS sans mes correctifs.
DreamSDK a été conçu pour être le meilleur environnement de développement de Sega Dreamcast sous Microsoft Windows. J’espère que vous apprécierez autant que j’ai apprécié de faire ce paquet.
Remarque : Ce paquet contient uniquement des outils et des bibliothèques libres et à code source ouvert.
Mise à jour de mon compte GitHub !
Comme je l’ai dit sur Twitter, j’ai publié tous les codes sources de tous mes outils que j’ai publiés au fil des ans. La plupart d’entre elles sont écrites en Pascal Object / Delphi, mais certaines d’entre elles sont écrites en C / C ++.
Tous ces outils ont été publiés il y a près de 15 ans et nombre d’entre eux ne fonctionneront donc pas avec les systèmes d’exploitation modernes tels que Windows 10.
Peut-être que je vais essayer de les adapter / convertir pour les nouveaux systèmes d’exploitation, peut-être que non, qui sait? 🙂
Miroir du site de Lars Olsson
Je viens juste de mettre en ligne un mirroir de l’excellent site Dreamcast créé par Lars Olsson.
Vous pouvez le trouver ici.
Apache Maven : Comment extraire les valeurs des noeuds XML depuis le fichier pom.xml (en pur batch !)
Si vous êtes un développeur Java vous connaissez très certainement Apache Maven, qui est à peu près l’équivalent de Make mais pour le monde Java.
Il y a quelques jours j’ai dû réfléchir à une méthode d’extraction des valeurs de certains nœuds du fichier pom.xml pour automatiser certaines opérations. Par exemple, j’ai voulu extraire les valeurs de groupId, artifactId et version depuis un projet Maven, c’est-à-dire depuis le fichier pom.xml.
J’ai finalement créé une solution en pur batch Windows pour le faire, et j’ai appelé ce petit outil POM Tool.
Et voici son code source :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
@echo off setlocal EnableDelayedExpansion set POM_TOOL_VERSION=20180914 rem Parameters set MAVEN_POM_INPUT_TAG=%1 set MAVEN_POM_FILE=pom.xml if "%2" neq "" set MAVEN_POM_FILE=%2 rem Check input parameters if "%MAVEN_POM_INPUT_TAG%"=="" goto help if "%MAVEN_POM_FILE%"=="" goto error_pom_not_found if not exist %MAVEN_POM_FILE% goto error_pom_not_found rem Compute start/end positions to extract the value from the XML tag call:strlen %MAVEN_POM_INPUT_TAG% set /a TAG_BEGIN=%_strlen% + 2 set /a TAG_END=(%TAG_BEGIN% + 1) * -1 rem Perform the XML tag value extraction call:extractxml %MAVEN_POM_INPUT_TAG% %TAG_BEGIN% %TAG_END% if "%_extractxml%"=="" goto error_extraction_failed echo %_extractxml% goto:eof :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: rem --- rem Display help message rem --- :help call:banner echo Usage: %~n0 ^<xml_tag^> [pom_file] echo. echo Example: %~n0 version - will return artifact version echo %~n0 groupId - will return artifact groupId goto:eof rem --- rem Error: The requested tag was not found rem --- :error_extraction_failed call:banner echo Error: The tag "%MAVEN_POM_INPUT_TAG%" wasn't found in the "%MAVEN_POM_FILE%" file. goto:eof rem --- rem Error: The Maven POM file wasn't found rem --- :error_pom_not_found call:banner echo Error: The "%MAVEN_POM_FILE%" file wasn't found. goto:eof rem --- rem Function: banner rem Used to display the tool banner rem --- :banner echo POM Tool - Ver. %POM_TOOL_VERSION% echo. goto:eof rem --- rem Function: extractxml rem Used to parse %MAVEN_POM_FILE% for extracting tags value. rem Usage: call:extractxml %param% where %param% is the tag to search. rem --- :extractxml setlocal set _extracted_xml_result= set _token=^<%~1^> set _begin=%~2 set _end=%~3 for /f "tokens=*" %%a in (%MAVEN_POM_FILE%) do ( set row=%%a if /i "!row:%_token%=!"=="!row!" (echo NOP > nul) else ( set _extracted_xml_result=!row! if /i "!_extracted_xml_result!" neq "" goto extractxml_endloop ) ) :extractxml_endloop set "_final=%_extracted_xml_result%" if "%_final%" neq "" call set _final=%%_final:~%_begin%,%_end%%% (endlocal if "%~1" neq "" set "_extractxml=%_final%" ) goto:eof rem --- rem Function: strlen rem Get the length of a string rem Thanks to: SS64 (https://ss64.com/nt/syntax-strlen.html) rem --- :strlen setlocal set _str=%~1 rem Remove any quotes set _str=%_str:"=% rem Test if empty if not defined _str echo endlocal & set _strlen=0&goto:eof set MAX_STRING_LENGTH=256 for /l %%g in (0,1,!MAX_STRING_LENGTH!) do ( REM extract one character set "_char=!_str:~%%g,1!" REM if _char is empty we are at the end of the string if not defined _char endlocal & set _strlen=%%g& goto:eof ) goto:eof |
Vous devez simplement copier/coller ce code source dans un nouveau fichier texte et l’appeler pomtool.cmd.
L’utilisation est très simple :
1 |
pomtool artifactId c:\temp\my-maven-project\pom.xml |
Ceci va vous donner la valeur du nœud artifactId du fichier c:\temp\my-maven-project\pom.xml !
Bien entendu vous pouvez appeler POM Tool depuis un autre fichier batch, par exemple :
1 2 3 4 |
@echo off for /f "tokens=*" %%i in ('pomtool description c:\my\project\pom.xml') do set "PROJECT_NAME=%%i" echo %PROJECT_NAME% pause |
Dans ce cas, la variable %PROJECT_NAME% contiendra la sortie du programme POM Tool, dans cet exemple il s’agit de la valeur du nœud description du fichier pom.xml ! 🙂
N’hésitez pas à commenter si vous avez des questions ! 🙂