Quelqu'un a-t-il trouvé un terminal shell (par exemple bash) pour Windows aussi bon que celui d'OS X?

14

J'utilise principalement 'git-bash' fourni avec l'installation de Windows de Git vcs. Je pense que c'est le même qui vient avec Cygwin. Cela fonctionne très bien techniquement mais l'interface utilisateur craint:

  • devez cliquer avec le bouton droit sur la barre de titre et aller dans Propriétés pour changer la largeur de la fenêtre
  • le plus ennuyeux ... copier-coller et surligner avec la souris est tout aussi lourd

En revanche, l'application Terminal fournie avec OS X les gère avec aplomb et les rend beaucoup plus confortables à utiliser. Vous pouvez même glisser-déposer un fichier dessus et il collera le chemin du fichier à votre curseur!

J'ai aussi essayé:

  • http://sourceforge.net/projects/win-bash
  • http://www.steve.org.uk/Software/bash/
  • http://www.hamiltonlabs.com/cshell.htm

Aucun de ceux-ci ne fait de copier-coller de texte sans avoir à cliquer avec le bouton droit.

Je recherche spécifiquement un shell aromatisé Unix dans Windows, donc je n'ai pas besoin d'utiliser des shells différents entre mon développeur à domicile (Windows), le serveur live (Linux) ou le développeur au bureau (Mac).

Oui, j'ai googlé et je n'en ai pas encore trouvé ...

Anentropique
la source
3
Pour n'importe quelle console sous Windows, y compris cygwin bash, vous pouvez activer la modification rapide et c'est mieux que le comportement par défaut. Puisque vous n'avez pas décrit ce que vous trouvez encombrant, je ne sais pas si vous avez essayé cela.
mfinni
En fait, je pense que Git-Bash fonctionne sur MSYS à partir de MinGW plutôt que Cygwin en soi ... néanmoins, après avoir installé chacun d'eux séparément, l'application shell fournie avec Cygwin semble être identique à celle de MSYS, qui est la même que la celui qui vient avec Git.
Anentropic
@mfinni merci, je n'avais pas essayé le mode "édition rapide". Cependant, c'est encore assez maladroit et vous ne pouvez pas faire de copier-coller aussi facilement que dans un programme normal ...
Anentropic
QuckEdit est proche du copier / coller de PuTTY / X: mettez en surbrillance le texte et appuyez sur Entrée pour copier, puis faites un clic droit pour coller.
DerfK
Vous devez être conscient (je ne peux pas dire avec certitude si vous l'êtes) que les terminaux et les shells sont distincts et largement indépendants les uns des autres.
pause jusqu'à nouvel ordre.

Réponses:

10

Avez-vous essayé console2 ?

Il vous permet d'utiliser cmd, bash ou tout autre programme comme shell et permet de redimensionner dans n'importe quelle direction.

Vous pouvez le rendre par défaut à Git Bash en allant dans Edition-> Paramètres, puis en le collant dans le champ Shell:

"C:\Program Files\Git\bin\sh.exe" --login -i"

Pour copier, maintenez Shift, cliquez et faites glisser avec le bouton gauche de la souris pour sélectionner, puis faites un clic gauche pour copier.

Enfin, Git est livré avec rxvt. Vous pouvez créer un nouveau raccourci Windows avec le champ Cible défini sur:

"C:\Program Files\Git\bin\rxvt.exe" -e /bin/sh --login -i
Mikel
la source
Excellent conseil - j'avais essayé Console2 mais je ne savais pas que je pouvais changer le shell sous-jacent!
Anentropic
1
@Mikel, Avez-vous essayé ConEmu?
Maximus
ConEmu est un digne successeur de Console2 et une grande amélioration.
Charles Roper
6

[Republier mon commentaire comme réponse à la demande d'Anentropic.]

Si vous utilisez Cygwin et aimez PuTTY, consultez Mintty. Il est disponible dans la catégorie Shells du programme d'installation de Cygwin (ou obtenez la source ici ). L'auteur a utilisé de grandes parties de PuTTY pour le créer, il se comporte donc très bien comme PuTTY. Il peut être configuré pour fonctionner comme vous le souhaitez:

  • Redimensionnez la fenêtre simplement en faisant glisser les bords ou les coins, comme n'importe quelle autre application Windows. Cela redimensionnera le terminal en ajoutant ou en supprimant des lignes et / ou des colonnes, comme vous pouvez vous attendre de quelque chose comme xterm.
  • Le copier / coller peut être configuré comme des opérations d'un seul clic (par exemple, clic gauche pour mettre en surbrillance et copier automatiquement, clic droit pour étendre, clic central pour coller).
  • Comme avec OS X Terminal, faire glisser un fichier ou un dossier dans une fenêtre mintty va coller le chemin complet à la position du curseur.
  • Tous les disques Windows sont disponibles, "montés" par défaut sous / cygdrive (bien que je change habituellement cela en / mnt avec mount -c /mnt).

Mon seul problème avec mintty est que les versions récentes (0.9.4+) semblent faire quelque chose que Windows 7 UAC n'aime pas, donc il demande la permission de l'exécuter à chaque fois. Cela semble le faire fonctionner avec différents privilèges, donc des choses comme mes lecteurs réseau ne fonctionnent pas. Je ne sais pas si c'est un problème minime, ou un problème avec mon système, cependant.

James Sneeringer
la source
Je n'ai pas ce problème sous Windows 7, c'est donc probablement un problème avec votre système. J'appuie l'utilisation de Mintty qui prend également en charge tous ces nouveaux raccourcis Windows pour déplacer les fenêtres (touche Windows + flèches)
Renik
C'est génial - savez-vous s'il est possible de le pointer pour utiliser le shell fourni avec Git (comme le conseil de @ Mikel pour Console2)?
Anentropic
Par défaut, mintty invoquera tout ce sur quoi votre $SHELLvariable d'environnement pointe. Cependant, vous pouvez à la place spécifier un autre programme comme premier argument sur la ligne de commande, ce qui peut être utile dans les raccourcis. L'auteur a mis en place une belle liste de conseils ( code.google.com/p/mintty/wiki/Tips ) qui montrent comment vous pouvez le faire.
James Sneeringer
2

Désolé pour l'auto-promotion, je suis l'auteur d'un autre émulateur de console.

ConEmu est un émulateur de console Windows avec des onglets, qui présente plusieurs consoles et applications GUI simples en une seule fenêtre GUI personnalisable avec diverses fonctionnalités.

Un bref extrait de la longue liste d'options:

  • Redimensionnement fluide, modes de fenêtre maximisés et plein écran
  • Texte convivial et sélection de blocs (à partir du clavier ou de la souris), copier, coller, rechercher du texte dans la console
  • Exécutez les onglets sélectionnés en tant qu'administrateur (Vista +) ou en tant qu'utilisateur sélectionné
  • Exécution de plusieurs shells dans une grille / écran partagé (dernière version de développement)
  • Utilisez n'importe quelle police installée dans le système ou copiée dans un dossier du programme (ttf, otf, fon, bdf)
  • Listes de raccourcis de Windows 7 et progression dans la barre des tâches
  • Intégration avec DosBox (utile dans les systèmes 64 bits pour exécuter des applications DOS)
  • La barre de défilement initialement masquée, peut être révélée par un survol ou une case à cocher dans les paramètres
  • Paramètres optionnels (par exemple, palette) pour les applications sélectionnées
  • ANSI X3.64 et Xterm 256 couleurs

Message de Hanselman , avis d'utilisateurs , tag ConEmu sur superuser.com

Maximus
la source
semble bon, +1 pour la capture d'écran de Prince Of Persia :)
Anentropic
les polices anticrénelées seraient encore meilleures
Anentropic
Il dispose de 3 options pour l'anticrénelage: Aucun, Standard et ClearType.
Charles Roper
0

Je souhaite que PuTTY ait pu fonctionner comme un émulateur pour l'accès au système d'exploitation local comme Cygwin. PuTTY est mon préféré lorsque je suis bloqué sur une boîte Windows. J'ai voté pour cette question, j'aimerais aussi savoir un meilleur émulateur pour Windows.

c1tadel1
la source
1
Putty est un programme terminal, pas un shell. Même si vous pouvez utiliser du mastic pour vous connecter à votre boîte Windows locale (ce que vous pouvez, s'il exécute un démon SSH), le shell réel est toujours le shell que vous exécutez lorsque vous vous connectez via SSH.
mfinni
Je n'ai pas dit que c'était un shell, j'ai dit que j'aurais aimé qu'il fonctionne comme un émulateur. J'aime l'interface graphique sur le mastic, c'était mon point.
c1tadel1
3
Si vous utilisez Cygwin et aimez PuTTY, consultez Mintty. Il est disponible dans la catégorie Shells du programme d'installation de Cygwin (ou consultez la source sur code.google.com/p/mintty ). L'auteur a utilisé de grandes parties de PuTTY pour le créer, il se comporte donc très bien comme PuTTY.
James Sneeringer
@James, voulez-vous publier votre suggestion de menthe comme réponse? Cela semble prometteur! Il me semble que je suis coincé dans le système de fichiers Unix virtuel Cygwin, je ne peux pas parcourir mes fichiers Windows comme je le peux dans git-bash?
Anentropic
0

Le gros problème avec le copier-coller n'est pas la faute des émulateurs de terminaux; ce sont les raccourcis eux-mêmes.

Lorsque les raccourcis ont été inventés sur Mac, Apple leur a ajouté une nouvelle clé: la «touche de commande» (également connue sous le nom de «splat»). Elle n'a pas d'équivalent ASCII.

Quelques années plus tard, lorsque Microsoft a copié les mêmes raccourcis, les claviers PC n'avaient pas de touches `` Windows '' ou `` Menu '', ils sont donc allés avec une autre petite clé utilisée que vous pouviez maintenir avec votre petit doigt: la touche Ctrl. Le problème est que Ctrl-C, Ctrl-V, etc. sont des codes ASCII valides et largement utilisés sur les interfaces de ligne de commande.

Ainsi, lorsque vous appuyez sur Ctrl-C sur un ternimal Windows, doit-il copier le texte ou interrompre la commande en cours?

Javier
la source
C'est un bon point, je n'avais pas réalisé que OS X y avait un avantage chanceux. Pourtant, il s'agit d'un problème d'interface utilisateur que les applications de terminal actuelles pour Windows n'ont pas vraiment tenté de résoudre.
Anentropic
0

Comme c'est le cas avec à peu près tous les logiciels Windows que j'ai touchés, j'ai dû répéter des étapes avec incertitude et une approche par force brute ...

Mais quelque part, je l'ai fait fonctionner sans installer de nouvelles consoles!

J'ai suivi la solution d'AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Je l'ai fait fonctionner avec git bash en faisant ce qui suit

  • ouvrir un cmd régulier,
  • exécuter wmic
  • redimensionner (double-cliquez sur la barre de fenêtre)
  • fermer cmd
  • ouvrir git bash
  • redimensionner (n'a pas fonctionné ...)
  • redimensionner redimensionner

Je suppose que je devrais clarifier: c'est spécifiquement pour permettre le plein écran - rien de plus.

blackstrype
la source
0

Il suffit de jeter cela car il n'a pas encore été mentionné. Mais le PowerShell de MS est en fait une très bonne CLI pour Windows.

Il possède des fonctionnalités de type Bash qui devraient lui donner une certaine familiarité. À mon avis, cela vaut la peine d'apprendre si vous effectuez n'importe quel type de script ou d'automatisation avec Windows, même si vous êtes principalement un gars * nix (comme moi). Vous pourrez faire plus en moins de temps que d'essayer de pirater ensemble quelque chose qui s'exécute sur Cygwin.

jamieb
la source