Terminalimi unix üzerinde esnetmeyi seviyorum. Windows lame komut satırının geçmişi veya nedeni nedir?
Terminalimi unix üzerinde esnetmeyi seviyorum. Windows lame komut satırının geçmişi veya nedeni nedir?
Yanıtlar:
Değil. Başlık çubuğuna sağ tıklayabilir, özellikleri seçebilir ve "Düzen" sekmesinde ekran arabellek boyutunu (satır genişliği ve geri kaydırma) ve pencere boyutunu (görüntü alanı boyutu) değiştirebilirsiniz. Bir kısayoldan cmd başlattıysanız, bu ayarları sonraki oturumlar için kaydedebilirsiniz.
Fare fobisi iseniz, bunu cmd penceresinin içine de yazabilirsiniz:
mode <cols>,<lines>
mode 80,25
mode 120,50
etc.
Sınırlı değil.
Konsolu kontrol etmek isteyebilirsiniz . Sekmeli bir ortamda birden çok kabuk çalıştırmanıza izin veren açık kaynaklı bir uygulamadır. Ayrıca kabukların alfa şeffaflığını da ayarlayabilirsiniz.
RE: Çünkü MS, pek çok şey üzerinde "geriye dönük uyumluluğa" değer veriyor ve bu durumda bunun, standart 80 geniş pencerelerine sahip olmadıklarında insanların bir şekilde sinirlerini bozacağına dair yanlış bir inanç olduğundan şüpheleniyorum.
Geriye dönük uyumluluk oldukça kötü çalışıyor. Microsoft'un bunu uygulama konusunda oldukça titiz olduğunu düşünmüyorum ve Microsoft'un yeni sürümlerin eski sürümlerde çalışmamasını sağlamak için en önemli kişi olduğuna inanıyorum. COMMAND.COM altında pek çok şey düzgün çalışmıyor, bu da sahip olduğu kullanışlılığı önemli ölçüde sabote ediyor, bazı programların düzgün çalışması için DOSONLY'e girmeniz gerektiğini ve Microsoft yararlı komutları kaldırıyor. Açıkçası, Microsoft'un "geriye dönük uyumluluğa" büyük bir saygı duyduğunu hayal edemiyorum.
Ayrıca, bence satır uzunluğunun standart olarak 80 sütunluk bir standartta olmasının gerçek nedeni, çoğu komut satırı programının, vb. Kullanıcının 80 sütunlu bir istemde kapatıldığı varsayımı altında çalışması, yani genişliği artırmanın neden olabileceği anlamına gelir. biçimlendirme hataları veya daha kötüsü muhtemelen programları tamamen bozar.
Jmucchiello'nun da belirttiği gibi, MODE pencereyi yeniden boyutlandırmak için iyi çalışacaktır.
Sistem cihazlarını yapılandırır.
Seri bağlantı noktası: MODE COMm [:] [BAUD = b] [PARITY = p] [DATA = d] [STOP = s]
[to = on | off] [xon = on | off] [odsr = on | off]
[octs = açık | kapalı] [dtr = açık | kapalı | hs]
[rts = açık | kapalı | hs | tg] [idsr = açık | kapalı]
Cihaz Durumu: MODE [cihaz] [/ STATUS]
Yeniden yönlendirmeli yazdırma: MODE LPTn [:] = COMm [:]
Kod sayfasını seçin: MODE CON [:] CP SELECT = yyy
Kod sayfası durumu: MODE CON [:] CP [/ STATUS]
Görüntüleme modu: MODE CON [:] [COLS = c] [LINES = n]
Tipik hız: MODE CON [:] [RATE = r DELAY = d]
CONFIG.NT'nizde DOSONLY'i etkinleştirdiyseniz, ancak COMMAND.COM'u açtığınızda, cmd.exe'den uygun bir DOS tarzı satır çözünürlüğü devralır, ancak COMMAND.COM'un içinden MODE'u çağıramazsınız. COMMAND.COM içinde yeniden boyutlandırmak isterseniz, aşağıdaki gibi 16 bitlik montaj talimatlarını kullanmanız gerekecektir:
80x50 Satır Çözünürlüğü ( Çerçeve arabelleği yok, SVGA yok, neredeyse evrensel olarak destekleniyor.)
HATA AYIKLA A100 MOV AX, 1112 Zeka 10 Zeka 20 G Q
132x60 Hat Çözünürlüğü ( Çerçeve arabelleği yok, SVGA gerektirir. ATI gfx kartlarında çalışmaz, genellikle nVidia gfx kartlarında çalışır, afaict her zaman Intel tümleşik gfx kartlarında çalışır.)
HATA AYIKLA A100 MOV AX, 4F02 MOV BX, 010C Zeka 10 Zeka 20G Q
Bunu COMMAND.COM'a girerseniz, size belirtilen çözünürlüğü verecektir. (Uyarı: Monitörünüz modu desteklemeyecek kadar eskiyse, onu yok edebilirsiniz. Yan not: Windows'u çalıştırabiliyorsanız, monitörünüz iyi durumda olmalıdır. Sorumluluk reddi: Gerekirse vurgulanır ve uyarıldınız , bu yüzden monitörünüz yanarsa benim sorunum değil. ;-) Ancak, bunu DOSONLY etkinleştirmeden kullanırsanız, COMMAND.COM, uygulama olur olmaz önceki boyutuna geri döner (bu durumda, bir dosya ve çalıştırılır, DEBUG) çıkar.
Alternatif olarak, COMMAND.COM altında DOSONLY olarak ayarlanmış şekilde düzgün çalışacak olan FreeDOS'un MODE.COM'unu kullanabilirsiniz. Resmi web sitesindeki (freedos.org) disk görüntüsünden çekebilir veya şu adresten edinebilirsiniz:http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/ .
Eric Auer 2003-2005'ten yeni FreeDOS MODU. Lisans: GPL. (sürüm 12may2005) MODE [cihaz] [/ STA [TUS]] (bir veya tüm cihazların durumunu gösterir) MODE LPTn [:] sütun [, [satırlar] [, yeniden dene]] (sütun veya cpi, 6/8 lpi, yeniden deneme p veya n) MODE LPTn [:] [COLS = ...] [LINES = ...] [YENİDEN DENE = ...] (yeniden deneme: p sonsuz / n yok) MODE LPTn [:] = [COMn [:] | NUL] (yazıcı verilerini seri bağlantı noktasına veya NUL'a yeniden yönlendir) MOD HABERLEŞME [:] baud, eşlik, veri, durdurma, yeniden deneme (boş değerlere izin verilir) COMn MODU [:] [BAUD [ZOR] = ...] [PARİTE = ...] [DATA = ...] [DUR = ...] [YENİDEN DENE = ...] Baud, benzersiz önek olarak kısaltılabilir, eşlik o / e / n / s / m olabilir, son 2, boşluk / işaret anlamına gelir, veriler 5..8, durdurma 1..2 olabilir. Yeniden Deneme Yoksayıldı! PLANLANMIŞ: Yeniden deneyin b / e / r -> meşgul / hata / meşgulse hazır, p / n sonsuz / yeniden deneme yok. MODE CON [:] [CP | CODEPAGE] [/ STA [TUS]] (FreeDOS DISPLAY yüklü olmalıdır) MOD CON [:] [CP | CODEPAGE] REF [RESH] (EKRAN gerekir) MOD CON [:] [CP | CODEPAGE] SEL [ECT] = sayı (EKRAN gerekir) MOD KONU [:] [CP | CODEPAGE] PREP [ARE] = ((kod sayfası) dosya adı) (EKRAN gerekir) Diğer arabelleklerdeki kod sayfalarını hazırlamak için PREP = (((, cp2, cp3,, cp5) ...) kullanın. MOD [40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [, satırlar] (satırlar 25, 28, 43 veya 50 olabilir) Yalnızca yazı tipini değiştirmek istiyorsanız 'satır' değeri olarak 8, 14 veya 16 kullanın. MOD [CO40 | CO80 | ...], [R | L] [, T] (CGA sola / sağa kaydırma, T etkileşimli moddur) MODE CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] = değer Değer, kilitler için + veya - veya switchar için bir karakter olabilir. MOD CON [:] [COLS = ...] [LINES = ...] (olası değerler donanımınıza bağlıdır) MOD CON [:] [RATE = ...] [DELAY = ...] (varsayılan hız 20, varsayılan gecikme 1) Hız 2.30 karakter / sn için 1..32, gecikme 1 / 4..4 / 4 sn için 1..4 olabilir.
Sağladığım ASM koduyla aynı nedenlerle, CONFIG.NT dosyanıza DOSONLY eklenmiş COMMAND.COM'da çalıştırmadığınız sürece, MODE.COM çıktıktan sonra pencere hemen önceki boyutuna dönecektir.
Son olarak, diğerlerinin de belirttiği gibi, bu ayarları basitçe komut isteminin başlık çubuğuna sağ tıklayarak ve Özellikler -> Düzen'i değiştirerek değiştirmek de mümkündür. Benzer şekilde, CMD.EXE ve toplu iş dosyalarına kısayollar için çözünürlüğü ayarlayabilirsiniz (kısayolu sağ tıklayın -> Özellikler -> Düzen). Bu yalnızca CMD.EXE için çalışır, ancak COMMAND.COM için geçerli değildir.
Bunun arkasındaki geçmişi bilmiyorum, ancak PuTTy'nin yazarından gelen bu istek listesi, herhangi bir tür cmd.exe değiştirmesiyle ilgili teknik engelleri açıklayan ilginç bir gönderi.
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
Bir yedek aradığınızdan bahsetmiyorsunuz, ancak öyleyse, Konsol 2 veya JP Software's Take Command vb. Gibi bazı cmd.exe değiştirmelerini de kontrol edebilirsiniz . PuTTy ile de bazı iyi deneyimlerim oldu. Cyg, PuTTy'yi bir cygwin kabuğu olarak kullanmanıza izin verir.
Diğer cevapların gösterdiği gibi genişlik sınırlı olmasa da, yüksekliği fareyle sürükleyip yeniden boyutlandırabilmeyi , ancak genişliği değil her zaman garip buldum .
Varsayılan 80 karakter genişliğinin, terminalin 80 karakterden daha geniş olmayacağını varsayan eski programlarla uyumlulukla ilgili olduğunu düşünüyorum. Gerçi bunun yaklaşık on yıldır gerçekçi bir neden olduğunu düşünmüyorum.
Diğerlerinin de belirttiği gibi, 80 karakter genişliğiyle sınırlı değil, ancak neden varsayılan olarak 80 karakterle ilgili tahminim, CRT ekranlarının 80 karakter genişliğinde olduğu DOS günlerinden kalması olabilir.
Ayrıca , pencereyi istediğiniz kadar yeniden boyutlandırmanıza olanak tanıyan (saydamlık ve istediğiniz herhangi bir yazı tipini kullanma yeteneği gibi) Konsol2 gibi farklı bir terminal uygulaması da kullanabilirsiniz . Harika bir uygulama, ona geçtim ve şimdi sadece cmd.exekesinlikle mecbur kaldığımda kullanıyorum .
Soldan sağa ve yukarı ve aşağı kayacağı için, bir sistemde yaptığım ilk şey genişliğimi 180 olarak tanımlayıp kaydetmek. Bu genellikle yeterlidir, böylece yığın izlerinin çoğu zaman sarılması gerekmez, ancak bir ton alan beklemeniz için çok fazla değildir.
Hazır oradayken, dikey boyutu (geri kaydırma tamponu) tüm 9'lara ayarlayın. Bir gün yaptığına sevineceksin.
MS pek çok şey üzerinde "geriye dönük uyumluluğa" değer verdiği için ve bu durumda bunun, standart 80 geniş pencerelerine sahip olmadıklarında insanları bir şekilde sinirlendireceğine dair yanlış bir inanç olduğundan şüpheleniyorum.
Tabii ki, bu neredeyse evrenselken sabit bir 80 karakter genişliği için programlanmış olabilir ve ek özellik ayarları biraz kesiciydi.
Sınırlıdır. Bunu kontrol et. (Arabellek DEĞİL pencere boyutu demek istiyorum)
Ayarlayabileceğiniz maksimum genişliğin sınırlı olduğunu ancak ekran çözünürlüğünüze göre değiştiğini göreceksiniz. Çözünürlüğünüz 1024 x 768 olarak ayarlanmışsa, komut istemi genişliğinde yalnızca 128'e ulaşabileceğinizi göreceksiniz. 128/1024 = .125
bu oranın pano genelinde tutarlı olduğunu göreceksiniz. 2000x768'de (üç monitörümden ikisinde) çalışan bir RDP oturumum var ve maksimum 250 genişlik elde ediyorum.
Şimdi, bu aslında gerçek monitör boyutunuzdan biraz daha büyük görünüyor, ancak her biri ayrı masaüstü çalıştıran üç monitörüm var. (özünde 3 1024x768 çözünürlük) ve bir komut istemini 2 veya daha fazla monitöre yaymak için ÇOK BASİT bir şey yapmak istersem, YAPAMAZIM. (Çok uzun yollarla (diruse.exe / vb.) Bir şeyler yaparken istiyorum ...
-c
Bu kapalı değil. Bu nedenle, Windows Terminal'in şimdi tüm bunları değiştirdiği unutulmamalıdır:
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 / en-us / p / windows-terminal-preview / 9n0dx20hk701? activetab = pivot: genel bakış sekmesi
Çünkü Unix / GNU benzeri geliştirmenin gerektirdiği herhangi bir şeyin kullanılabilirliğini ve işlevselliğini iyileştirmek, Microsoft'un ortakları için ticari bir platform olarak Windows'u zayıflatacaktır. Bunu önlemek, diğer büyük şirketlerin geliştiricilere yönelik geliştirilmiş terminaller gibi ürünlerinin ve kelime işlemciler, video oynatıcılar vb. Gibi diğer genel üçüncü taraf ürünlerinin mevcut Unix / GNU yazılımıyla rekabet etmediği anlamına gelir. Bu olmadan, Windows karlı bir platform olmazdı ve Microsoft masaüstü tekelini kaybederdi.
Bu yüzden terminal berbat, POSIX API yok, MSVC'de C99 desteği yok ve liste uzayıp gidiyor. Açıklığa kavuşturmak gerekirse, yaygın Unix / GNU teknolojileri ve geliştirme kasıtlı olarak desteklenmemektedir, bu nedenle büyük ticari yazılım evleri onlarla rekabet etmek zorunda kalmaz.