43 votes

Comment configurer ConEmu pour exécuter Cygwin Bash?

J'ai créé une nouvelle tâche

{Bash}

passé mon répertoire personnel

/dir "C:\Users\TMB\"

et ajouté bash en tant qu'application

C:\cygwin\bin\bash.exe

Lorsque j'ouvre Bash, il est incapable d'utiliser les utilitaires de base UNIX/Cygwin. Comment configurer ConEmu pour exécuter Cygwin Bash?

0voto

Gene Pavlovsky Points 473

Pour rendre les commandes Cygwin disponibles depuis bash, indépendamment de la façon dont vous le lancez, ainsi que depuis cmd ou tout autre shell, assurez-vous que votre variable d'environnement Path contient le répertoire bin de Cygwin ajouté.
Allez dans Panneau de configuration > Système et sécurité > Système (raccourci standard Win+Pause), puis Paramètres système avancés > Variables d'environnement. Pour tous les utilisateurs, modifiez la variable système Path, juste pour votre utilisateur - modifiez (créez si elle n'existe pas) la variable utilisateur Path.
En supposant que cygwin est installé dans C:\cygwin (peut être cygwin64 pour Cygwin 64 bits), ajoutez C:\cygwin\bin au Path. Gardez à l'esprit que si vous utilisez la variable système Path, si vous ajoutez le bin de Cygwin au début, certaines commandes de Cygwin pourraient écraser celles intégrées (par exemple, la commande find de Cygwin sera utilisée au lieu de celle de Windows). Je préfère le faire, mais si vous ne le faites pas, ajoutez le bin de Cygwin à la fin de votre Path.

Étant donné que la plupart des autres réponses parlent également de la configuration de ConEmu, je donnerai aussi mon avis personnel.

Je préfère exécuter un shell non-login. Par exemple, sous Linux, vous obtenez un shell de connexion lorsque vous vous connectez à la console texte ou via ssh, et un shell interactif non-login lorsque vous ouvrez un terminal émulateur (xterm, konsole, etc.).

Ma tâche {Bash} a les paramètres de tâche /dir "%CD%" pour définir le répertoire de travail sur celui du répertoire de travail de l'onglet actuel (par exemple, si la tâche bash vient de Far). La commande pour démarrer bash:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"

Remarquez que les options --login -i sont omises, le shell démarrera comme un shell interactif non-login (puisqu'il n'a pas d'arguments sans option et sans l'option -c, et son stdin et stdout sont connectés aux terminaux, consultez la section INVOCATION de la page de manuel de bash pour plus d'explications). Il lira et exécutera les commandes du fichier rc de l'utilisateur ~/.bashrc (et non /etc/profile ou ~/.bash_profile comme le ferait un shell de connexion, donc vous n'avez pas besoin de set CHERE_INVOKING=1 qui est uniquement pertinent par rapport à /etc/profile). Donc placez vos alias utilisateurs, options de shell, variables d'environnement supplémentaires, etc. dans ~/.bashrc, où ils appartiennent légitimement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X