Comment créer un raccourci Cygwin qui ouvrira Cygwin dans un dossier spécifique? Cela éviterait de devoir taper
cd /cygdrive/c/Users/Tom/Desktop/
chaque fois que je lance Cygwin.
Lorsque vous installez Cygwin (ou si vous l’avez déjà installé, téléchargez-le à nouveau et lancez à nouveau le programme d'installation pour exécuter une mise à jour), assurez-vous de sélectionner le package chere
dans la catégorie "Coquilles".
Une fois Cygwin lancé, ouvrez un terminal Cygwin (en tant qu'administrateur) et tapez la commande suivante: chere -i -t mintty -s bash
.
Vous devriez maintenant avoir "Invite Bash ici" dans le menu contextuel du clic droit de Windows.
( mintty est le terminal par défaut de Cygwin. Si vous ne le choisissez pas avec l'option -t
, votre "invite de commande ici" utilisera le même terminal que l'invite de commande Windows, ce qui évite les redimensionnement.)
Voici ce que j'utilise. Il ne nécessite pas de bricolage de paquets ou de registre chere
. 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
ayant ceci dans le champ Target
:
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 sur un dossier et sélectionnez Send To > Bash Here
.
Et voici le truc opposé, ouvrir un explorateur Windows dans votre répertoire bash actuel. Créez cet alias:
alias winx='/cygdrive/c/Windows/Explorer.exe /e,\`cygpath -w .\`'
Remarque: la partie cygpath -w .
ci-dessus est encadrée par des points arrière.
Il suffit maintenant de taper winx
à l'invite bash, et un explorateur Windows apparaît.
Remarque: si winx vous dirige vers votre dossier de documents, essayez
alias winx='/cygdrive/c/Windows/Explorer.exe /e,`cygpath -w $PWD`'
Depuis le terminal cygwin, exécutez cette commande:
echo "cd your_path" >> ~/.bashrc
Le script .bashrc est exécuté lorsque vous ouvrez une nouvelle session bash. Le code ci-dessus avec modification de la ton chemin répertoire lorsque vous ouvrez une nouvelle session cygwin.
J'ai créé un fichier .reg qui place l'option "Open Cygwin Here" dans le menu contextuel. Cela dépend du paquet "chere" de Cygwin, que vous pouvez installer avec 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"
Pour cygwin64 ou les installations sans chere, vous pouvez utiliser la commande suivante dans une entrée de registre (en supposant que Windows soit dû à votre chemin, 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 sous Windows 7 et 8 Fichier de registre disponible au téléchargement 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'"
Si vous souhaitez utiliser ce répertoire par défaut, ajoutez simplement une instruction cd
à votre fichier ~/.profile
.
Ce que j'ai tendance à faire est d'utiliser cette méthode pour définir mon répertoire habituel, ainsi que de définir 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.
J'utilise et Icon pour lancer mon cygwin sans le package chere
.
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
C:\some\dir\name\here
Comme le dit two7s_clash, vous devez d'abord installer le paquet chere
et le programme d'installation menthe:
apt-cyg install chere
chere -i -t mintty
Vous pouvez maintenant ouvrir cygwin dans un répertoire spécifique en cliquant avec le bouton droit de la souris dans l’explorateur Windows (menu contextuel) et en sélectionnant "Invite Bash ici".
Vous pouvez également ouvrir cygwin à partir d'un répertoire spécifique à l'aide de la commande windows Invite:
cd
) dans un répertoire personnaliséExécuter C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
Cette commande ouvrira cygwin avec le répertoire en cours extrait de la commande Invite.
Cette commande peut également être utilisée pour ouvrir cygwin à partir d’un gestionnaire de fichiers personnalisé, comme FreeCommander.
Pour ouvrir cygwin avec le répertoire actuel provenant de FreeCommander, procédez comme suit:
Ajouter une nouvelle barre d'outils (+ icône), Raccourci: Insérer
C:\cygwin64\bin\mintty.exe
%ActivDir%
C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
Vous pouvez ajouter un raccourci personnalisé pour ouvrir cygwin depuis FreeCommander:
Excellente référence: MinTTY Wiki, article Conseils: commencer dans un répertoire particulier
Pour créer un raccourci Windows qui lance un terminal Cygwin dans un répertoire de votre choix, procédez comme suit:
Cliquez avec le bouton droit sur le bureau Windows, sélectionnez "Nouveau", puis "Raccourci".
Pour l'emplacement de l'élément, entrez le texte suivant, en modifiant le chemin mintty
selon vos besoins et en remplaçant le nom du répertoire souhaité à l'endroit indiqué.
C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd DESIRED-DIRECTORY; exec bash'
Par exemple, le PO utiliserait le texte suivant:
C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd /cygdrive/c/Users/Tom/Desktop/; exec bash'
Cliquez sur Suivant'.
Entrez le nom souhaité pour le raccourci et cliquez sur 'Terminer'.
Plusieurs raccourcis peuvent être placés sur le bureau pour ouvrir les terminaux Cygwin dans divers répertoires fréquemment consultés.
Inspiré par la solution publiée sur Comment ouvrir un Cygwin Shell dans un répertoire spécifique de Netbeans? à superutilisateur.com .
Recherchez le fichier Cygwin.bat et créez le contenu de la manière suivante:
@echo off
set newpath=%cd:\=/%
pushd "%~dp0"
chdir bin
bash --login -i -c "cd \"%newpath%\"; exec bash"
Ajoutez le chemin à cygwin.bat à l'environnement PATH.
Maintenant, dans n'importe quel dossier, vous pouvez taper dans la barre d'adresse:
cygwin
Aussi, vous pouvez le taper lorsque vous êtes dans cmd.exe
J'ai créé un script d'édition de registre pour ouvrir Cygwin dans n'importe quel dossier sur lequel vous cliquez avec le bouton droit de la souris. C'est sur mon GitHub.
Exemple de code RegEdit
de Github pour ordinateurs 64 bits:
REGEDIT4
[HKEY_CLASSES_ROOT\Directory\Shell\CygwinHere]
@="&Cygwin Bash Here"
[HKEY_CLASSES_ROOT\Directory\Shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\Shell\CygwinHere]
@="&Cygwin Bash Here"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\Shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""
J'ai utilisé les lignes de code suivantes pour démarrer zsh dans le répertoire actuel de Win7.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\Shell\cygwin_bash]
@="Open Cygwin Here"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\Background\Shell\cygwin_bash\command]
@="\"C:\\Programmieren\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico /bin/zsh --login -c 'cd \"%V\";zsh'"
notez que j'ai utilisé% V au lieu de% L ou% 1 (car les deux n'ont pas fonctionné pour moi)
Lorsqu'une nouvelle installation est nécessaire, je crée une "variable d'environnement utilisateur" Windows nommée HOME
et lui attribue le chemin d'accès, où que se trouve "Mes documents".
Le programme d’installation de cygwin détecte la variable HOME
, le traduit automatiquement en cygpath et le sélectionne comme répertoire ~.
Cela a bien fonctionné pour chaque poste de travail que j'ai utilisé professionnellement au cours des 5 dernières années (environ 3 ou 4, Win7). J'ai toujours été le seul utilisateur sur ces machines, je ne peux pas dire quel est l'effet.
Ouvrez le terminal Cygwin en tant qu'administrateur
En PowerShell (avec Chocolatey):
choco install cyg-get
Dans cygwin va installer le menu clic-droit
cyg-get install chere
chere -i
Maintenant, vous pouvez cliquer avec le bouton droit de la souris et utiliser "Invite Bash ici" dans n’importe quel dossier.
Dans la réponse qui utilise le registre, j'ai constaté que sous Windows 2008 R2 SP1, vous devez supprimer l'arrière-plan du chemin. De plus, puisque chere et xhere ne font pas partie de cygwin64, voici une solution qui fonctionne pour les deux systèmes, combinant le registre et les solutions Envoi à. Remplacez 'E:\cygwin64' par votre emplacement d'installation:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Shell\cygwin_bash]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Directory\Shell\cygwin_bash\command]
@="E:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico --exec /bin/bash.exe --login -c \"cd '%1' ; exec bash -rcfile ~/.bashrc\""
Vous pouvez simplement ouvrir le terminal cygwin et écrire: cd et, après avoir glissé, déposez le dossier que vous voulez et entrez!
Sur ma machine Windows, cela ne prenait pas:
chère-menthe
Parce que Mintty Shell n’était pas disponible, mais vous pourriez avoir le choix entre plusieurs autres obus comme cendres bash cmd dash mksh pdksh posh tcsh zsh passwd.
alors j'ai utilisé:
chere -i -s bash
Vous pouvez ajouter l'icône au shell en ajoutant un champ Icon
au chemin d'accès à votre fichier Cygwin.ico
.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\Shell\cygwin_bash]
@="Cygwin"
"Icon"="\"C:\\cygwin64\\Cygwin.ico\""
[HKEY_CLASSES_ROOT\Directory\Background\Shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
J'ai créé le fichier de commandes et l'ai placé dans le répertoire/bin de Cygwin. Ce script a été développé pour permettre d’installer/désinstaller les entrées de registre pour l’ouverture des dossiers et des lecteurs sélectionnés dans Cygwin. Pour plus de détails, voir le lien http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html .
update: Cette solution fait la même chose que les premières suggestions mais toutes les manipulations avec le registre Windows sont cachées dans le script.
Effectuer la commande pour installer
cyghere.bat /install
Effectuer la commande pour désinstaller
cyghere.bat /uninstall
C’est la seule solution de registre Cygwin64 qui a fonctionné pour moi dans Windows 8.1:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Shell\mintty]
@="Mintty from Here"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\Shell\mintty\command]
@="C:\\cygwin64\\bin\\mintty.exe -h always -e /usr/bin/ash -c 'cd \"$(/usr/bin/cygpath \"%L\")\"; exec /usr/bin/bash '"
Assurez-vous de modifier votre chemin 'C:\cygwin64' si nécessaire.
Créez un fichier bash dit move.sh
qui a le code suivant C:\cygwin64\bin\run.exe -p /bin bash runFile.sh
Ceci démarre Cygwin et exécute le runFile.sh
présent dans le répertoire bin de Cygwin. Supposons que vous souhaitiez naviguer vers un répertoire spécifique, par exemple E:\code
alors runFile.sh a le code suivant cd E: cd code