Installer CygWin pour exécuter des commandes Linux dans Windows 10

Cygwin (GNU + Cygnus + Windows) est un logiciel gratuit qui fournit un environnement de type Unix et un ensemble d'outils logiciels aux utilisateurs de toutes les versions modernes x86 32 bits et 64 bits de MS-Windows XP avec SP3, Server, Vista, 7, 8 et Windows 10.

Cygwin se compose d'une bibliothèque d'émulation d'appels système Unix, cygwin1.dll, ainsi que d'un vaste ensemble de GNU et d'autres applications logicielles libres organisées en un grand nombre de packages optionnels.
Parmi ces packages se trouvent des compilateurs de haute qualité et d'autres outils de développement logiciel, un serveur X11, une boîte à outils de développement X11 complète, GNU emacs, TeX et LaTeX, OpenSSH (client et serveur).
On peut aussi utiliser cygwin pour compiler des sources avec GCC même s'il existe aussi MinGW ou mingw-w64.
Enfin on peut installer un environnement de bureau comme GNOME, LXDE, MATE, Xfce ou KDE.

Cet article vous guide pour installer CygWin afin d'exécuter des commandes Linux dans Windows 10.

Installer CygWin pour exécuter des commandes Linux dans Windows 10

Introduction

CygWin est un projet très ancien apparu en 1995.
Il donne la possibilité d'accéder à un environnement Unix dans Windows.
De quoi exécuter n'importe quelle commande ou logiciels Linux dans Windows.
Il émule l'environnement Unix grâce à la bibliothèque cygwin1.dll qui qui implémente l'API système de POSIX.
Cette émulation donne un rendu plus lent notamment pour les applications graphiques.

CygWin pour exécuter des commandes Linux dans Windows 10

Depuis d'autres projets sont apparus comme Git SCM for Widnows ou encore WSL (Windows Subsystem for Linux).

C'est donc très pratique pour exécuter des scripts, accéder à un terminal Linux ou compiler via GCC.
Notez que ce n'est pas la meilleur façon de tester et découvrir Linux.
Il est plutôt recommandé d'utiliser une machine virtuelle comme VirtualBox.
A ce sujet, il existe un article pour vous y aider :

Installer CygWin sur Windows

Cygwin nécessite par défaut les droits administrateurs Windows.
Il est possible de lancer le setup sans cela :

setup-x86_64.exe --no-admin

Temps nécessaire : 30 minutes.

Installer CygWin pour exécuter des commandes Linux dans Windows 10

  1. Télécharger CygWin

    Télécharger le setup depuis ce lien :


    Il se présente sous la forme d'un setup / installeur : setup-x86_64.exe

  2. Assistant d'installation de CygWin

    Sur la page de bienvenue de l'Assistant d'installation de CygWin, cliquez sur Suivant.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  3. Choisir la source d'installation

    Choisissez une source de téléchargement: acceptez la valeur par défaut («Installer depuis Internet») et cliquez sur Suivant.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  4. Indiquer le répertoire d'installation

    Puis vous devez indiquer le répertoire d'installation.
    A moins de vouloir le mettre sur un autre disque, vous pouvez laisser c:\cygwin64 puis cliquez sur Suivant.Installer CygWin pour exécuter des commandes Linux dans Windows 10

  5. Indiquer le répertoire d'installation des paquets

    Ensuite on indique où les paquets.
    Acceptez la valeur par défaut (C: \ Users \ User \ Desktop) ou remplacez-la par un répertoire temporaire de votre choix, mais notez-le.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  6. Sélectionnez votre connexion Internet

    La valeur par défaut doit être correcte pour la plupart des utilisateurs. Changez-le uniquement si vous rencontrez des problèmes.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  7. Choisir un site de téléchargement

    Sélectionnez un site miroir à proximité à partir duquel télécharger les packages Cygwin.
    Les vitesses peuvent varier considérablement d'un site à l'autre.

  8. Téléchargement de Cgwin

    Puis le téléchargement s'effectue, laissez faire.

  9. Sélection des packages à installer

    Si vous souhaitez faire une installation complète, cliquez sur le sélecteur rotatif à côté de "Tous" (en haut de la liste des catégories) afin que l'indicateur à sa droite passe de "Par défaut" à "Installer".
    Cliquez sur Suivant et passez à l'étape 10.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  10. Sélection des packages à installer

    Sinon vous pouvez cliquer sur New pour indiquer la version à installer.
    La position Skip ne vas installer le paquet.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  11. Sélection des packages à installer

    On peut utiliser le champs Search pour faire une recherche.
    Par exemple ici, on recherche SSH pour installer OpenSSH.

    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  12. Confirmer l'installation des paquets

    Puis cliquez sur Suivant pour confirmer l'installation Installer CygWin pour exécuter des commandes Linux dans Windows 10

  13. L'installation des paquets s'effectue

    Les paquets Cygwin se téléchargent et s'installent, cela peut prendre du temps selon le nombre et la vitesse de votre connexion internet.

    Installer CygWin pour exécuter des commandes Linux dans Windows 10

  14. Erreur de téléchargement des paquets

    Lorsque le téléchargement d'un paquet ne peut se faire, l'installeur de cygwin affiche ce message.
    Cliquez sur Retry pour retenter sinon Continue pour ignorer. Installer CygWin pour exécuter des commandes Linux dans Windows 10

  15. Fin de l'installation de CygWin

    Enfin la dernière étape où l'on peut créer les raccourcis sur le bureau et dans le menu Démarrer de Windows 10.
    Installer CygWin pour exécuter des commandes Linux dans Windows 10

Utiliser CygWin

CygWin ajoute les entrées suivantes dans le menu Démarrer de Windows 10 :

Utiliser Cygwin sur Windows 10
  • CygWin64 Terminal : un terminal et shell pour passer les commandes Linux
  • GNOME Flashback (Metacity) : L'environnement de bureau GNOME Nécessite d'avoir installé les paquets. On peut faire de même avec KDE
  • User Script : exécute l'environnement X Cygwin/X
  • XWin Server : Execute un serveur X

L'environnement GNOME exécuté par CygWin dans Windows 10.

L'environnement de bureau GNOME dans Windows

Par exemple ci-dessous, on se connecte en SSH à un serveur distant avec cygwin.
Ainsi on retrouve la commande SSH exactement comme sur Linux.
On peut tout à faire générer des clés SSH pour une connexion par une paire de clés.

Se connecter avec SSH depuis un terminal CygWin sur Windows 10

Comme le le serveur SSH est accessible par cygwin, on peut très bien faire un forward de port par SSH.

Supprimer/installer des paquets dans Cygwin

Comment installer de nouveaux paquets après avoir installé CygWin ?
Plusieurs méthodes sont possibles.

Avec le setup cygwin

Vous pouvez relancer le setup de cygwin pour arriver sur la page d’installation de paquets.
Puis arrivé sur la page Select Packages, réglez en haut à gauche View sur Not Installed.
Vous pouvez alors installer les nouveaux packages.

Depuis cette interface, il est tout à fait possible de supprimer un paquet existant.
Pour cela, on passe ce dernier en Statut en Skip.

Depuis l'invite de commandes de Windows

On peut installer de nouveaux paquets depuis l'invite de commandes.
On utilise pour cela le setup avec les options -q et -P.
Par exemple pour installer wget :

setup-x86_64.exe -q -P wget 
Supprimer/installer des paquets dans Cygwin
Supprimer/installer des paquets dans Cygwin

apt-cyg

apt-cyg est un équivalent de apt-get sur Debian, Ubuntu et Mint.
On peut l'utiliser pour installer ou supprimer les paquets souhaités depuis la console.

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin
Supprimer/installer des paquets dans Cygwin avec apt-cyg

Il utilise la même syntaxe qu'apt-get.
Pour installer un nouveau paquet dans cygwin :

apt-cyg install <nom du paquet>

Pour supprimer un paquet installé :

apt-cyg remove <nom du paquet>

Plus de détails :

Mettre à jour les paquets Cygwin

Pour mettre à jour tous les paquets installés :

setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode

Se reporter à la page suivante pour d'autres utilisations :