Aujourd'hui, je lance Cygwin avec rxvt
en utilisant la ligne de démarrage suivante:
rxvt -bg black -sl 8192 -fg white -sr -g 150x56 -fn "Fixedsys" -e /usr/bin/bash --login -i
Cela me donne une fenêtre Windows native redimensionnable qui est bien meilleure que la "boîte DOS" standard par défaut cygwin.bat
fournit.
Cependant, la configuration actuelle présente quelques problèmes:
J'utilise Windows Vista en anglais avec les paramètres régionaux et la disposition du clavier définis sur le norvégien (jeu de caractères ISO-8859-1?), Mais j'ai eu exactement le même problème sous Windows 2000 et XP.
Quelqu'un sait comment résoudre ce problème (c'est-à-dire une meilleure façon de configurer rxvt)?
Mis à part les problèmes mentionnés ci-dessus, je suis très satisfait de rxvt
, donc si je trouve un moyen de les résoudre, j'aimerais continuer à l'utiliser. Cependant, si les problèmes ne sont pas (facilement) résolubles, existe-t-il d'autres bonnes solutions de terminaux pour Cygwin?
Mise à jour
La solution proposée par Andy et Mattias (modification du .inputrc
file) a résolu le problème d'entrée, mais le rendu de sortie est toujours un problème. La sortie est correcte lorsque je rends en ISO-8859-1, mais lorsque j'utilise UTF-8, je ne reçois pour les caractères non ASCII. Ce comportement est cohérent entre rxvt
, urxvt
(sous Cygwin XFree X Server), mintty
et PuttyCyg.
Existe-t-il un fichier de configuration similaire dans lequel l'encodage de sortie peut être défini (c'est-à-dire l'équivalent de la définition des paramètres régionaux de sortie sur un système Linux)?
Ajoutez les deux lignes suivantes au fichier de configuration readline ~/.inputrc
set convert-meta off
set output-meta on
Devrait fonctionner à la fois dans rxvt et mintty. Plus ici:
http://www.gnu.org/software/bash/manual/bashref.html#Readline-Init-File-Syntax
minTTY est également très bon. Vous pouvez le trouver dans la configuration de cygwin. Prend en charge le redimensionnement, le collage et la transparence.
J'utilise actuellement PuttyCyg ( http://code.google.com/p/puttycyg/ ). Je ne sais pas s'il contiendra les correctifs dont vous avez besoin, mais il a plusieurs autres fonctionnalités intéressantes, par exemple des configurations stockées dans des profils PuTTY typiques, qui peuvent être invoquées comme: PuTTY -load mycygwin1. Un tel profil peut configurer des choses comme:
Edit: il est possible de saisir les caractères que vous avez mentionnés. Le support UTF-8 est également fourni (il doit être activé dans la configuration).
J'utilise également Console . La console vous permet de personnaliser la police, l'arrière-plan, etc. et dispose également d'une interface à onglets (idéale si vous utilisez plusieurs fenêtres de terminal à la fois).
Afin de pouvoir utiliser des caractères non ASCII, j'ai mis ce qui suit dans mon fichier .inputrc dans mon répertoire personnel:
set meta-flag on
set convert-meta off
set output-meta on
set completion-ignore-case on
Ayant quatre ans, au moment de la rédaction du présent document, la question se pose: le terminal Cygwin par défaut accepte désormais le collage et le rendu des caractères non Ascii sans formalité, du moins pour moi. Le terminal par défaut de Cygwin est désormais mintty et Cygwin fonctionne désormais avec UTF-8 par défaut. (Par exemple, /etc/profile.d/lang.sh définit désormais un codage de jeu de caractères UTF-8 par défaut.) Il existe maintenant une version 64 bits de Cygwin mais, par http: //www.cygwin. com/ml/cygwin/2013-09/msg00029.html , pas de port 64 bits de rxvt.
Même la question dans le titre est moins vitale qu'une fois, car mintty ne se grille pas comme les anciennes fenêtres du sous-système de la console de commande Windows. Je vais quand même brancher le projet que je co-entretiens: https://code.google.com/p/jessies/wiki/Terminator , qui a été écrit pour UTF-8, peut-être dès le premier jour , bien que son principal argument de vente, imo, soit la fonction Rechercher.
Vous devrez peut-être définir la page de code.
Vérifiez votre courant:
$ set | grep CYGWIN
CYGWIN='codepage:oem nodosfilewarning'
Si vous n'avez pas la page de code, ajoutez-la à votre fichier ~/.bashrc:
CYGWIN='codepage:oem nodosfilewarning'
Le contenu de mon fichier batch Cygwin (Cygwin.bat), démarré par un raccourci, est le suivant:
start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i
Notez que pour la variable d'environnement CYGWIN, vous pouvez avoir plusieurs éléments, chacun séparé par un espace. Autres éléments pouvant être utilisés: {tty binmode title}.
Plus d'informations peuvent être lues ici: http://www.cygwin.com/cygwin-ug-net/setup-env.html
Remarque connexe: vous pouvez également utiliser mrxvt pour Cygwin. Il nécessite un serveur X, et une solution solide/légère agréable est d'utiliser Xming. J'ai compilé mrxvt et l'ai installé - pas vraiment difficile à faire, et cela fonctionne très bien.
J'utilise rxvt comme fenêtre initiale, puis je lance mrxvt en tant que processus séparé à partir de rxvt en utilisant une commande d'alias, puis je ferme rxvt. Cela fait de mrxvt son propre processus parent et n'a aucune session cmd attachée.
J'ai fait un alias pour ce faire:
alias mrx='export DISPLAY="127.0.0.1:0.0"; $(/usr/local/bin/mrxvt &); echo -e "\033c"'
Pour plus de facilité, j'ai créé un fichier batch pour démarrer Xming et rxvt:
@echo off
start C:\cygwin\bin\rxvt.exe -sb -sl 3000 -fg gray -bg black -fn "Lucida Console-14" -e /bin/bash --login -i
start C:\Xming\Xming.exe :0 -clipboard -multiwindow -trayicon
exit
Ce fichier batch est lancé par un raccourci Windows. Cela a bien fonctionné pour moi.
J'utilise Console qui fonctionne plutôt bien avec Cygwin (ainsi que PowerShell et plain old cmd.exe).
Lorsque je développais sous Windows, j'ai trouvé Poderosa être un bon choix pour Cygwin.
rxvt est incapable d'unicode, vous ne pouvez donc pas le faire fonctionner correctement si vous vous connectez à des machines qui utilisent UTF-8 pour l'encodage. Vous pouvez utiliser rxvt pour iso-8859-1/15, mais la plupart des machines sont maintenant UTF-8.
Le remplacement unicode pour rxvt dans Cygwin est urxvt, le nom du package sous Cygwin est rxvt-unicode-X. urxvt a également d'autres fonctionnalités Nice, telles que de nombreux plugins téléchargeables - dont un qui vous donne plusieurs onglets par fenêtre, et une architecture client/serveur qui lui fait utiliser beaucoup moins de ressources si vous avez plusieurs fenêtres (urxvtc
/urxvtd
).
Vous devrez peut-être également vous assurer que vos variables de ligne de lecture spécifient que votre shell doit passer par des caractères 8 bits, c'est-à-dire l'ajouter à votre $HOME/.bashrc
ou $HOME/.profile
:
désactiver la conversion-méta activer la sortie-meta activer l'entrée-meta
Vous devrez définir les bonnes ressources dans $HOME/.Xdefaults
: en particulier, vous aurez besoin d'une police contenant les caractères souhaités. Le nom du groupe de ressources pour urxvt est URxvt
. Notez la capitalisation, ça compte!
URxvt.font: xft: Lucida Console: taille = 8: style = normal: poids = 50: antialias = true: hinting = true: minspace = true URxvt.boldFont: xft: Lucida Console : size = 8: style = bold: weight = 100: antialias = true: hinting = true: minspace = true
Je recommande également de définir:
URxvt * termName: xterm
Cette ressource décide de la valeur de $TERM
variable d'environnement. À moins qu'il ne soit correctement défini, le bon fichier termcap ne peut pas être trouvé, provoquant des programmes comme less
à émettre des avertissements dans le style de: WARNING: terminal is not fully functional
. Malheureusement, le termName par défaut de rxvt-unicode
n'est pas connu sous de nombreuses distributions Linux, donc si vous utilisez souvent ssh sur des machines distantes, vous rencontrerez le problème. La solution consiste à définir termName
sur quelque chose de plus courant (comme xterm
), ou à télécharger un fichier termcap pour rxvt-unicode sur tous les serveurs auxquels vous vous connectez.
Étant donné que le titre est trompeur et que les résultats de recherche m'ont amené ici plusieurs fois, je répondrai simplement en lisant le titre.
J'aime utiliser Babun sous Windows comme environnement Cygwin, c'est presque parfait pour moi.
Si vous utilisez ls avec certains arguments, il affiche les noms de fichiers OK. Je vous suggère de mettre un alias ls dans/etc/profile:
alias ls='ls -F --color=auto --show-control-chars'
Fonctionne pour moi en msys sur un WinXP.
Sur le sujet des émulateurs de terminaux alternatifs pour cygwin - consultez Console2 ; il possède toutes les fonctionnalités dont vous aurez besoin.
Veuillez essayer ConEmu qui est un émulateur de console open source avec des onglets, qui représente plusieurs consoles et applications GUI simples comme une seule fenêtre GUI personnalisable.
Cygwin/X standard avec xterm est assez bon pour moi. Installez le package Cygwin X.org, puis exécutez le script C:\cygwin\bin\startxwin.bat
(en supposant le chemin d'installation par défaut). Cela démarrera X puis xterm.
J'ai mis à jour mon .Xdefaults
avec ces options pour une meilleure convivialité:
*VT100*scrollbar.width: 14
*VT100*scrollbar.background: gray60
*VT100*scrollbar.foreground: rgb:a/5/5
*VT100*scrollbar.borderWidth: 0
*VT100*scrollbar.displayList:\
foreground gray90;\
lines 1,-1,-1,-1,-1,1;\
foreground gray60;\
lines -1,1,1,1,1,-1
*VT100*rightScrollBar: true
*VT100*scrollBar: true
*VT100*scrollLines: 1000
xterm*toolBar: false
xfce4-terminal (disponible auprès de Cygwin setup.exe
) est le meilleur pour moi car il a fière allure (facile à lire) et s'il est démarré avec XLaunch (également disponible auprès de setup.exe
), Je peux y démarrer d'autres applications GUI cygwin. Pour une raison quelconque, je ne peux pas lancer d'applications GUI à partir de mintty
. J'ai trouvé ce fil à la recherche d'un terminal moins laid que xterm
(qui fonctionne bien pour lancer des applications GUI). Au final, j'ai trouvé le meilleur (xfce4-terminal
) simplement en recherchant le terminal dans setup.exe. xfce4-terminal est l'un de mes favoris sur Linux depuis plus de 7 ans maintenant.
Guake est également disponible en setup.exe
, mais je dois le lancer à partir d'un autre terminal et cliquer sur cet autre terminal avant d'utiliser les touches pour faire tomber Guake. Donc, ce n'est pas aussi pratique que sur Linux.
Je configurerais votre pays dans les fenêtres (Panneau de configuration -> Paramètres régionaux -> Dernier onglet (contrôle) -> Langue pour les langues non compatibles Unicode -> Votre choix (norvégien)). Après le redémarrage, démarrez Démarrer-> Cyqwin-> rxvt-native. Pour le russe, cela fonctionne (sans modifier .bashrc ou autre).
Il convertit même (comme je suppose) la sortie du soft en utf-8, car l'encodage par défaut est C.UTF-8. Pour le vérifier, tapez "echo $ LANG".
Si vous vous contentez d'exécuter uniquement des applications Cygwin, alors rxvt devrait fonctionner correctement. Rxvt devrait avoir le support UTF-8. Avez-vous essayé de rechercher une solution sur Google?
Si vous devez également exécuter des applications Windows natives, vous n'avez pas de chance, sauf si vous exécutez bash dans la console Windows. Il y a deux problèmes qui, je ne pense pas, sont (ou même peuvent être) résolus:
Ces deux problèmes sont les mêmes avec tous les émulateurs de terminaux que j'ai essayés (rxvt, xterm, Emacs et quelques autres).
Mis à part le redimensionnement complet, quelles fonctionnalités rxvt vous donne-t-il l'impression qu'une fenêtre de console Windows ne fait pas? Et avez-vous regardé la différence d'utilisation de la mémoire - rxvt est un porc. J'utilise rxvt depuis quelques semaines et je suis revenu à une fenêtre de console Windows, sans regrets.
J'ai utilisé plusieurs terminaux tels que PuTTY, console, rxvt, mintty, teraterm. le meilleur est le tératerme. il est gratuit, entièrement compatible pour lang et tty, entièrement configurable avec macro, raccourci et donne le cygterm pour Cygwin.
cependant, si vous êtes un utilisateur léger, utilisez simplement mintty qui est le terme par défaut de nos jours ou rxvt.
oui, mintty semble plus confortable, léger et rapide, mais il y a une fonctionnalité qu'il n'a pas, et la console par défaut (Windows), c'est la fonction de recherche: à partir de la console par défaut, vous pouvez rechercher la chaîne affichée sur la console , amusement ?
jusqu'à présent, je n'ai trouvé aucune autre console ayant cette fonctionnalité ... je vous sais, dites-moi, je n'aime vraiment pas la console par défaut.
Sur une note similaire à emg-2, Lifehacker a récemment publié un article sur MinTTY , ne sachant pas s'il contient les correctifs dont vous avez besoin.