245 votes

Ouvrir Cygwin dans un dossier spécifique

Comment puis-je créer un raccourci Cygwin qui ouvrira Cygwin dans un dossier spécifique ? Cela éviterait d'avoir à taper

cd /cygdrive/c/Users/Tom/Desktop/

à chaque fois que je lance Cygwin.

2 votes

Créer un fichier .bat : voici un tutoriel computerhope.com/batch.htm

0 votes

Note : Le paquet chere peut nécessiter d'être instancié avec des privilèges d'administrateur. Si vous êtes pris au dépourvu et que vous êtes tenté d'utiliser le paquetage sudo vous risquez de ne pas obtenir le résultat escompté. Dans ce cas, connectez-vous en tant qu'utilisateur administrateur sur la machine Windows.

436voto

two7s_clash Points 2314

Lorsque vous installez Cygwin (ou si vous l'avez déjà installé, téléchargez-le à nouveau et relancez l'installation pour exécuter une mise à jour), assurez-vous de sélectionner l'option chere sous la catégorie "Shells".

Après le lancement de Cygwin, ouvrez un terminal Cygwin (en tant qu'administrateur) et tapez la commande : chere -i -t mintty -s bash .

Vous devriez maintenant avoir "Bash Prompt Here" dans le menu contextuel de Windows, accessible par un clic droit.

( mintty est le terminal par défaut de Cygwin. Si vous ne le choisissez pas avec l'option -t votre "Bash Prompt Here" utilisera le même terminal que l'invite de commande Windows, ce qui empêche le redimensionnement horizontal).

40 votes

Superbe trouvaille, merci ! J'ai découvert que vous pouvez spécifier le terminal que vous voulez ouvrir en utilisant -t par exemple, pour ouvrir mintty vous utilisez chere -i -t mintty

2 votes

Je ne vois pas de paquet chere :/ MISE À JOUR : pas dans la version x64, mais il est présent dans la version 32bit.

0 votes

@zupa avez-vous réussi à installer chere dans votre version x64 ? Ou devez-vous installer la version 32 bits ? Salutations

105voto

LindseyD Points 259

Voici ce que j'utilise. Il ne nécessite pas chere paquet ou bricolage du registre. Fonctionne sur Windows 7.

Allez dans votre dossier "Envoyer à" :

C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo

Créez un raccourci nommé Bash Here en ayant ceci dans le Target champ :

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico  C:\cygwin\bin\bash.exe  -l -c "cd \"$0\" ; exec bash"

Dans l'Explorateur Windows, vous cliquez avec le bouton droit de la souris sur un dossier et sélectionnez Send To > Bash Here .

Et voici l'astuce inverse, en ouvrant un explorateur Windows dans votre répertoire bash actuel. Créez cet alias :

alias winx='/cygdrive/c/Windows/explorer.exe /e,\`cygpath -w .\`'

Remarque : le cygpath -w . La partie ci-dessus est encadrée par des contre-timbres.

Maintenant, il suffit de taper winx à l'invite de bash, et un Win Explorer s'y affiche.

Note : Si Winx vous dirige vers votre dossier de documents, essayez de

alias winx='/cygdrive/c/Windows/explorer.exe /e,`cygpath -w $PWD`'

3 votes

Très bon tour, mais le winx n'a pas fonctionné sur mon installation Cygwin. J'ai dû supprimer les deux antislashs et remplacer . con $PWD pour qu'il fonctionne.

0 votes

Et si le raccourci (adapté pour utiliser le chemin Cygwin64 de mon installation) ouvre cygwin à mon dossier utilisateur ? :( Peut-être que cela ne fonctionne qu'avec Cygwin 32 bits ?

1 votes

Celui-ci fonctionne également pour moi alias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)'

32voto

J'ai créé un fichier .reg qui place une option "Ouvrir Cygwin ici" dans le menu contextuel du clic droit. Il dépend du paquet Cygwin "chere", que vous pouvez installer en utilisant la commande suivante apt-cyg si vous ne l'avez pas installé lors de la configuration initiale.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"

7 votes

Pour ceux qui se demandent comment l'utiliser, il suffit de copier le texte à fond gris et de le placer dans un fichier texte appelé "foo.reg" et de le double-cliquer.

3 votes

+1 la meilleure solution ici. Et merci d'avoir mentionné apt-cyg Je ne connaissais pas cet outil.

0 votes

C'est exactement ce que je cherchais, et cela m'a même aidé pour d'autres choses, car même le site de Microsoft ne m'a pas donné le même résultat.

20voto

Tom Kay Points 126

Pour cygwin64 ou les installations sans chere vous pouvez utiliser la commande suivante dans une entrée de registre (en supposant que Windows en raison de votre chemin, également en supposant que le répertoire d'installation de cygwin est c : \cygwin64 )

C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd "`cygpath "%V"`"; bash'

Fonctionne sur Windows 7 et 8 Le fichier de registre peut être téléchargé ici : http://tomkay.me/blog/Cygwin64---Open-Here-18

Windows Registry Editor Version 5.00
; Open cygwin to folder
; http://tomkay.me - Tom Kay

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

0 votes

Pouvez-vous expliquer pourquoi vous avez 3 (x2) entrées de registre ?

1 votes

Ils sont pour les contextes Directory, Drive et Background

0 votes

Enfin, une solution qui a fonctionné pour moi, bien que j'aie quelques difficultés à la comprendre complètement ;-) [le 'bash' après 'exec bash']. Astuce : vous pouvez remplacer les 3 entrées par une seule : 'Folder' au lieu de 'Directory', 'Drive' et 'Background'.

11voto

paxdiablo Points 341644

Si vous voulez que ce répertoire soit le répertoire par défaut, il suffit d'ajouter une balise cd à votre ~/.profile fichier.

Ce que j'ai tendance à faire, c'est d'utiliser cette méthode pour définir mon répertoire habituel, et de définir également des alias pour mes cas courants :

alias tom="cd /users/tom"

ou votre équivalent. Cela me permet de changer de répertoire très rapidement.

0 votes

Cet alias doit-il être ajouté à l'adresse de l'utilisateur ? ~/.profile aussi, ou juste une fois ?

2 votes

@tomeoftom, si vous exécutez cela dans un shell, cela n'affectera que ce shell. Il n'affectera pas les autres que vous lancez. Donc, si vous voulez qu'il soit toujours disponible, vous devez le mettre dans un de vos fichiers de démarrage (dont ~/.profile est une possibilité).

0 votes

Ça n'a pas fonctionné pour moi quand on l'a mis dans ~/.profile, mais ~/.bashrc a fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X