J'adore étirer mon terminal sous unix. Quelle est l'histoire ou la raison derrière la ligne de commande Windows Lame?
J'adore étirer mon terminal sous unix. Quelle est l'histoire ou la raison derrière la ligne de commande Windows Lame?
Réponses:
Ça ne l'est pas. Vous pouvez cliquer avec le bouton droit de la souris sur la barre de titre, sélectionner les propriétés, et dans l'onglet "Mise en page" modifier la taille de la mémoire tampon de l'écran (largeur de ligne et défilement) et la taille de la fenêtre (taille de la fenêtre). Si vous avez lancé cmd à partir d'un raccourci, vous pouvez enregistrer ces paramètres pour les sessions futures.
Si vous êtes phobique à la souris, vous pouvez également taper simplement ceci dans la fenêtre cmd:
mode <cols>,<lines>
mode 80,25
mode 120,50
etc.
Ce n'est pas limité.
Vous voudrez peut-être consulter la console . C'est une application open source qui vous permet d'exécuter plusieurs shells dans un environnement à onglets. Vous pouvez également définir la transparence alpha des coques.
RE: Parce que MS valorise la "rétrocompatibilité" sur beaucoup de choses et dans ce cas je soupçonne que c'est une croyance erronée que cela dérangera d'une manière ou d'une autre les gens s'ils n'ont pas leur fenêtre standard de 80 larges.
La compatibilité ascendante fonctionne assez terriblement, cependant. Je n'imagine pas que Microsoft a été assez minutieux dans sa mise en œuvre, et je pense que Microsoft est le fer de lance pour s'assurer que les nouvelles versions ne fonctionneront pas sur les anciennes versions. Beaucoup de choses ne fonctionnent pas correctement sous COMMAND.COM, ce qui sabote considérablement l'utilité qu'il possède, sans oublier que vous devez entrer DOSONLY pour que certains programmes fonctionnent correctement, et Microsoft a supprimé les commandes utiles. Honnêtement, je ne peux pas imaginer que Microsoft ait une "compatibilité ascendante" en grande partie.
En outre, je pense que la vraie raison pour laquelle la longueur de la ligne est à une norme de 80 colonnes est que la plupart des programmes de ligne de commande, etc. fonctionnent sous l'hypothèse que l'utilisateur est limité à une invite de 80 colonnes, ce qui signifie que l'augmentation de la largeur peut entraîner des erreurs de formatage ou pire peut-être casser complètement les programmes.
Comme jmucchiello l'a mentionné, MODE fonctionnera bien pour redimensionner la fenêtre si vous en avez envie.
Configure les périphériques système. Port série: MODE COMm [:] [BAUD = b] [PARITY = p] [DATA = d] [STOP = s] [to = on | off] [xon = on | off] [odsr = on | off] [octs = on | off] [dtr = on | off | hs] [rts = on | off | hs | tg] [idsr = on | off] État du périphérique: MODE [périphérique] [/ STATUS] Impression de redirection: MODE LPTn [:] = COMm [:] Sélectionnez la page de codes: MODE CON [:] CP SELECT = yyy État de la page de codes: MODE CON [:] CP [/ STATUS] Mode d'affichage: MODE CON [:] [COLS = c] [LINES = n] Taux typique: MODE CON [:] [RATE = r DELAY = d]
Cependant, si vous avez activé DOSONLY sur votre CONFIG.NT, lorsque vous ouvrez COMMAND.COM, il hérite d'une résolution de ligne de style DOS appropriée à partir de cmd.exe, mais vous ne pouvez pas appeler MODE à partir de COMMAND.COM. Si vous souhaitez redimensionner dans COMMAND.COM, vous devrez utiliser des instructions d'assemblage 16 bits, comme ceci:
Résolution de ligne 80x50 (pas de framebuffer, pas de SVGA, pratiquement universellement pris en charge.)
DÉBOGUER A100 MOV AX, 1112 INT 10 INT 20 g Q
Résolution de ligne 132x60 (pas de framebuffer, nécessite SVGA. Ne fonctionnera pas sur les cartes ATI gfx, fonctionne généralement sur les cartes nVidia gfx, afaict fonctionne toujours sur les cartes Intel gfx intégrées.)
DÉBOGUER A100 MOV AX, 4F02 MOV BX, 010C INT 10 INT 20g Q
Si vous entrez ceci sur votre COMMAND.COM, il vous donnera la résolution spécifiée. (Avertissement: si votre moniteur est suffisamment ancien pour ne pas prendre en charge le mode, vous risquez de le détruire. Remarque: si vous pouvez exécuter Windows, votre moniteur devrait fonctionner correctement. Clause de non-responsabilité: mettez l'accent sur le devoir, et vous avez été averti , donc ce n'est pas mon problème si votre moniteur frit. ;-) Cependant, si vous l'utilisez sans DOSONLY activé, COMMAND.COM sera redimensionné à sa taille précédente dès que l'application (dans ce cas, sauf si vous l'avez écrit à un fichier et exécuté que, DEBUG) se termine.
Vous pouvez également utiliser MODE.COM de FreeDOS, qui fonctionnera correctement sous COMMAND.COM défini sur DOSONLY. Vous pouvez soit l'extraire de l'image disque sur le site officiel (Freedos.org), soit l'obtenir surhttp://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/ .
Nouveau MODE FreeDOS par Eric Auer 2003-2005. Licence: GPL. (version 12mai2005) MODE [appareil] [/ STA [TUS]] (affiche l'état d'un ou de tous les appareils) MODE LPTn [:] cols [, [lines] [, retry]] (cols ou cpi, 6/8 lpi, retry p ou n) MODE LPTn [:] [COLS = ...] [LINES = ...] [RETRY = ...] (réessayer: p infini / n aucun) MODE LPTn [:] = [COMn [:] | NUL] (redirige les données de l'imprimante vers le port série ou NUL) MODE COMn [:] bauds, parité, données, arrêt, réessayer (valeurs vides autorisées) MODE COMn [:] [BAUD [HARD] = ...] [PARITY = ...] [DATA = ...] [STOP = ...] [RETRY = ...] Baud peut être abrégé en préfixe unique, la parité peut être o / e / n / s / m, le dernier 2 espace / marque moyen, les données peuvent être 5..8, stop 1..2. Réessayer est IGNORÉ! PRÉVU: réessayer b / e / r -> occupé / erreur / prêt si occupé, p / n infini / pas de réessai. MODE CON [:] [CP | CODEPAGE] [/ STA [TUS]] (FreeDOS DISPLAY doit être chargé) MODE CON [:] [CP | CODEPAGE] REF [RESH] (nécessite AFFICHAGE) MODE CON [:] [CP | CODEPAGE] SEL [ECT] = nombre (nécessite AFFICHAGE) MODE CON [:] [CP | CODEPAGE] PREP [ARE] = ((codepage) filename) (nécessite DISPLAY) Utilisez PREP = ((, cp2, cp3,, cp5) ...) pour préparer les pages de codes dans d'autres tampons. MODE [40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [, lignes] (les lignes peuvent être 25, 28, 43 ou 50) Utilisez 8, 14 ou 16 comme valeur de «lignes» si vous souhaitez uniquement modifier la police. MODE [CO40 | CO80 | ...], [R | L] [, T] (décalage CGA gauche / droite, T est le mode interactif) MODE CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] = valeur La valeur peut être: + ou - pour les verrous ou un caractère pour switchar. MODE CON [:] [COLS = ...] [LINES = ...] (les valeurs possibles dépendent de votre matériel) MODE CON [:] [RATE = ...] [DELAY = ...] (taux par défaut 20, délai par défaut 1) Le taux peut être de 1..32 pour 2..30 car / s, le retard peut être de 1..4 pour 1 / 4..4 / 4 sec.
Pour les mêmes raisons qu'avec le code ASM que j'ai fourni, à moins que vous ne l'exécutiez dans COMMAND.COM avec DOSONLY ajouté à votre fichier CONFIG.NT, la fenêtre rebondira immédiatement à sa taille précédente une fois que MODE.COM sortira.
Enfin, comme d'autres l'ont indiqué, il est également possible de modifier ces paramètres simplement en cliquant avec le bouton droit sur la barre de titre de l'invite de commande et en modifiant Propriétés -> Mise en page. De même, vous pouvez définir la résolution de tous les raccourcis vers CMD.EXE et les fichiers de commandes (cliquez avec le bouton droit sur le raccourci -> Propriétés -> Disposition). Cela fonctionne uniquement pour CMD.EXE, mais pas COMMAND.COM.
Je ne connais pas l'historique derrière cela, mais cet élément de liste de souhaits de l'auteur de PuTTy est un article intéressant qui explique les obstacles techniques impliqués dans tout type de remplacement cmd.exe qui n'est pas boiteux:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
Vous ne mentionnez pas que vous cherchez un remplaçant, mais si c'est le cas, vous pouvez également consulter certains des remplacements cmd.exe comme Console 2 ou Take Command de JP Software, etc. J'ai également eu de bonnes expériences avec PuTTy- Cyg qui vous permet d'utiliser PuTTy comme shell cygwin.
Bien que la largeur ne soit pas limitée comme le montrent d'autres réponses, j'ai toujours trouvé étrange que l'on puisse faire glisser et redimensionner la hauteur avec la souris, mais pas la largeur .
Je pense que la largeur par défaut de 80 caractères est liée à la compatibilité avec les anciens programmes qui supposent que le terminal ne fera pas plus de 80 caractères. Je ne pense pas que ce soit une raison réaliste depuis une dizaine d'années.
Comme d'autres l'ont souligné, il n'est pas limité à 80 caractères de large, mais je suppose que la raison pour laquelle il est par défaut à 80 caractères serait qu'il reste de l'époque DOS où les écrans CRT avaient 80 caractères de large.
Vous pouvez également utiliser une autre application de terminal, telle que Console2 , qui vous permet de redimensionner la fenêtre autant que vous le souhaitez (entre autres, comme la transparence et la possibilité d'utiliser n'importe quelle police de votre choix). C'est une super application, je suis passé à elle et maintenant je ne l'utilise que cmd.exe
lorsque j'en ai absolument besoin.
Comme il défilera de gauche à droite ainsi que de haut en bas, la toute première chose que je fais sur un système est de définir ma largeur à 180 et de la sauvegarder. C'est généralement suffisant pour que les traces de pile n'aient pas à s'enrouler pour la plupart, mais pas au point de perdre une tonne d'espace.
Pendant que vous y êtes, définissez la taille verticale (tampon de défilement) sur les 9. Vous serez heureux de l'avoir fait un jour.
Parce que MS valorise la "rétrocompatibilité" sur beaucoup de choses et dans ce cas je soupçonne que c'est une croyance erronée que cela dérangera d'une manière ou d'une autre les gens s'ils n'ont pas leur fenêtre standard de 80 larges.
Bien sûr, il se pourrait qu'il ait été programmé pour une largeur fixe de 80 caractères alors que c'était à peu près universel, et les paramètres de propriété supplémentaires étaient un peu un hack.
C'est limité. Vérifiez-le. (Je veux dire la taille de la fenêtre PAS le tampon)
Vous constaterez que la largeur maximale que vous pouvez définir est limitée mais varie en fonction de la résolution de votre écran. Si votre résolution est définie sur 1024 x 768, vous constaterez que vous ne pouvez atteindre 128 que sur la largeur de l'invite de commande. 128/1024 = 0,125
vous constaterez que ce ratio est cohérent dans tous les domaines. J'ai une session RDP fonctionnant à 2000x768 (sur deux de mes trois moniteurs) et j'obtiens une largeur maximale de 250.
Maintenant, cela s'avère être un peu plus grand que la taille de votre moniteur Actaul, mais j'ai trois moniteurs exécutant tous des ordinateurs de bureau individuels. (donc en substance, 3 résolutions 1024x768) et si je veux faire quelque chose d'aussi simple que d'étirer une invite de commande sur 2 moniteurs ou plus, je ne peux pas. (Je veux quand je fais des choses avec des chemins très longs (diruse.exe / etc.) ...
-c
Ce n'est pas fermé. Il convient donc de noter que Windows Terminal est en train de changer tout cela:
https://github.com/microsoft/terminal https://www.theverge.com/2020/1/9/21059316/microsoft-windows-terminal-crt-effects-retro-search-tabs-features https: // devblogs.microsoft.com/commandline/windows-command-line-backgrounder/ https://github.com/microsoft/terminal/blob/master/doc/terminal-v1-roadmap.md https://www.microsoft.com / fr-fr / p / windows-terminal-preview / 9n0dx20hk701? activetab = pivot: overviewtab
Parce que l'amélioration de la convivialité et de la fonctionnalité de tout ce qui nécessite un développement de type Unix / GNU sapera Windows en tant que plate-forme commerciale pour les partenaires de Microsoft. Empêcher cela signifie que les produits d'autres grandes entreprises pour les développeurs, tels que les terminaux améliorés, et d'autres produits tiers généraux, comme les traitements de texte, les lecteurs vidéo, etc., ne sont pas en concurrence avec les logiciels Unix / GNU existants. Sans cela, Windows ne serait pas une plate-forme rentable et Microsoft perdrait son monopole de bureau.
C'est pourquoi le terminal est nul, il n'y a pas d'API POSIX, pas de support C99 dans MSVC et la liste est longue. Pour clarifier, les technologies et le développement Unix / GNU communs sont intentionnellement non supportés afin que les grands éditeurs de logiciels commerciaux n'aient pas à les concurrencer.