back to article Hidden Windows Terminal goodies to check out: Retro mode that emulates blurry CRT display – and more

Microsoft has bequeathed new capabilities to both the released and the preview versions of Windows Terminal, a feature-laden alternative to the command prompt. It's the features that now appear in the released version that are most interesting. Windows Terminal – as found in the Microsoft Store – has reached version 1.2, with …

  1. ovation1357 Bronze badge

    Better late than never I suppose. By late I'm measuring in decades.

    The windows command prompt has always sucked and the powershell terminal really isn't much better except for more easily allowing a terminal wider than 80 columns.

    I've tried a few 3rd party terminal emulators and I'm yet to find one that I'm happy with. PuTTY is the smoothest for SSH but the lack of tabs means it's too cumbersome for me when working with multiple sessions.

    I just don't get why terminals in Windows have to be so damn bad - from hideous, chunky fonts to awkward and cumbersome copy+paste functionality.

    I'm stuck with server 2012r2 for the foreseeable future so given this terminal apparently requires Windows 10 I doubt it'll help me much. But if it gets backported I'll give it a whirl.

    1. Dan 55 Silver badge

      MobaXterm, it's got a built-in X-Server, Cygwin, package installer, and tabs.

      1. HPCJohn

        Love MobaXterm and I second this recommendation

        1. ovation1357 Bronze badge

          Funnily enough I saw a colleague using MobaXterm a couple of years ago but I thought it looked very ugly and clunky so I didn't give it another thought.

          I'll give it a whirl :-D

    2. karlkarl Silver badge

      My rant is a little further down below ;)

      I made this tmux clone. https://github.com/osen/vimux

      It isn't perfect but does just about allow us to avoid making multiple SSH sessions. You might find it useful too?

      (Edit: I tested it on Win7+ but it should also run on older, such as Windows XP)

    3. Def Silver badge

      The standard console in Windows 10 has supported Ctrl+C/Ctrl+V for copy and paste for quite a while now. It's even smart enough for Ctrl+C to copy (if there's a text selection) or kill the current process as you would expect. Suffice to say I miss it when I have to use bash for something (talk about awkward copy+paste functionality - enter to copy, right click to paste... uh-huh, that makes sense).

      And you've always been able to change the font - at least as long as I can remember.

      1. karlkarl Silver badge

        >> Suffice to say I miss it when I have to use bash for something (talk about awkward

        That probably means you are running bash in the standard (pre-10) Windows console. Agreed, the copy and paste in the Windows console is bizarre.

        Normally bash is distributed by Cygwin and with it, the mintty terminal. In that case you just select the text with your mouse (no copy needed) and then middle click to paste. Copying off the traditional X11 approach. Works very nicely and no risk of sending a ctrl-c signal to the running program (haha!) (actually I guess that *was* the reason behind the decision for Microsofts weird "enter" to copy system of old)

      2. hutchism

        I'm guessing you mean putty? Copy/paste and inability to CTRL arrow through lines of text. Native bash on Linux is a much better experience....

        1. Def Silver badge

          I run bash on WSL and natively in Ubuntu. I even used to run it on Solaris some years ago.

          It has been a while (pre lockdown) since I ran it natively so maybe my memory is failing me (again), but I don’t recall it being much better these days than it used to be.

      3. Peter Gathercole Silver badge

        Bash

        You are aware that bash (at least on Linux) is a shell not a terminal emulator.

        The difference is that shells process commands, and the terminal emulation handles the presentation. This allows you to keep the same terminal emulation while changing the shell you want to use.

        I know I'm an old foagy, but this type of confusion between components on systems is part of the root of many of the problems with modern CLIs.

        You use something like Putty or an xterm to get access to the system, and you then run a shell such as bash or ksh through that access to run commands. This allows you to separate the terminal emulation from the command processor. So the terminal emulator handles driving the screen, handling keys and doing the copy/paste, and the shell runs commands.

        It fits in with the Unix ethos, do one thing, and do it well.

        I know this is conflated by the monolithic commands that developers appear to like developing now, where the a single tool does everything, and that has it's place for some types of applications, but basic OS commands should IMHO be independent of the terminal access.

        This is something that I don't believe Windows has ever done properly. The command.com window was seen as just for legacy DOS type programs. Maybe this is a move in the right direction.

      4. ovation1357 Bronze badge

        I've changed the fonts many times but all the windows fonts look horrible to me. There is just no decent option available.

        Enter to copy sounds much more like my experience of copying in Windows. And ctrl+c is for cancelling the current operation so it had better not be bound to copy in my terminal.

        What you're describing with bash is definitely down to the terminal emulator and not bash itself. PuTTY comes with really odd defaults for copy pasting in my opinion.

        On a native Linux system there are typically two separate copy buffers - one is your classic ctrl+c (typically ctrl+shift+c in a terminal) whilst the other is really smart and I miss it like crazy on other systems: Whenever you highlight some text it is automatically copied to a buffer so your copy paste is as simple as highlighting what you want and then middle-click where you want it pasted (or various other options for pasting - the simplest being both mouse buttons together if you don't have a middle one).

        I am forever forgetting to press ctrl+c in Windows because I'm so used to the copy being automatic.

        But in Linux the two clipboards come in handy if there's both a username and a password for example - select the username from your secure password manager of choice and hit ctrl+c and then just highlight the password....

        Back where it's needed, paste the username with ctrl+v and middle click in the password box - job done! No need to go back to the password manager a second time.

        Highlighting is especially weird in Windows terminals as it selects a block area as opposed to whole lines. If I'm trying to select some text which starts halfway along a line and wraps to the next line, I can't do it in Windows.

        Don't even get me started on the supposed 'intelligent' select that expands the area I've highlighted because Windows thinks I wouldn't actually want to highlight a word starting from the 2nd letter.

        I think that anyone who finds the windows console Windows to be acceptable, probably never used DOS and hasn't experienced Linux or Mac terminals.

        Let's just hope this new one is a nicer experience

    4. chuBb. Bronze badge

      Give superputty a try, its a tab and session manager for putty, fixed all of my putty woes, to the point that win term is nothing more than a curiosity, integrates with winscp (or scp client of choice) tabbed sessions, layout history so if you always have 3 sessions open you can just have them open when you launch superputty, and it it runs on xp upwards so should be fine with 2012r2, and its free :)

      https://github.com/jimradford/superputty

    5. 9Rune5 Silver badge

      I'm stuck with server 2012r2 for the foreseeable future

      I have come to loathe 2012r2. Last year I had a problem where ssl connections would sometimes break.

      Turns out that 2012's cipher suite configuration is a little bit obsolete. Just enough to cause random issues.

      We upgraded to 2016 and our "mysterious" problem vanished.

      Windows comes with its own ssh client these days. I have Terminal configured to open a ssh connection to a handful of different servers -- all with a nice little graphic in the corner so I can easily tell 'em apart. Works a treat.

    6. felixk

      > PuTTY is the smoothest for SSH but the lack of tabs means it's too cumbersome for me when working with multiple sessions.

      Use KiTTY, then. PuTTY with tabs and lots more sugar.

  2. Anonymous Coward
    Anonymous Coward

    Not as cute as a tektronix terminal! They are so trippy I wish I had one

    https://www.youtube.com/watch?v=YZsiR45tKKw

    1. Stumpy Silver badge

      Ah, the joys of an old school vector display. Beautiful.

      (Although that's some incredible screen burn it's suffering (0:05 - 0:15 in the vid)

    2. Julz Silver badge

      Memories

      Flood back. I wrote a cross compiler to drive a Tektronix's 4010(? I think) from a DG Eclipse written in PASCAL! You could take the output from the Eclipse and display it in nice green floaty lines on the Tektroniks. Give me a break, it was a university project...

  3. karlkarl Silver badge

    Hmm, tabs... how quaint. Do people not use SSH or (even less likely) Remote Powershell? How about some sort of sodding console multiplexer on the hosts end so I don't need to make about 5 separate ssh connections just to develop/debug software remotely on this annoying platform?

    tmux, screen.... (even DESQview from the 90s!). All very popular for a reason.

    I even had to hack up a "poor man's tmux" (https://github.com/osen/vimux) for whenever I have to babysit a "special" Windows machine.

    1. Anonymous Coward
      Anonymous Coward

      What's wrong with tabs?

      I didn't know this existed but I might have a play on my windows 10 box.

      1. karlkarl Silver badge

        The main issue with local tabs is you need to keep relogging into the SSH server every time you create a new one. It is much more effective to "open up a tab" on the server session instead.

        Sure, if you only edit the occasional config file, who cares but if you have many tabs, i.e text editor (nvi), compiler (clang), debugger (lldb) and manpages all up at once on the remote machine, it soon becomes inefficient to log in and change directory for each one.

        In the past we happily solved this with job control (ctrl-z, bg, fg) and it worked great but... of course flipping Windows is lacking that fundamental thing too! XD

        Most people install a POSIX layer like Cygwin and get on with their lives but unfortunately Cygwin minces up the environment just enough that it can make testing and debugging native win32 software unreliable (for example it changes a lot of environmental variables).

        1. Gerhard den Hollander

          Or you know, you use tabs to connect to different remote machines, and then run screen in all of them ...

          Then again, what do I know ... I installed cygwin/X and use different Xterms (each with a slightly different colored font) to connect to different remote linux boxes ..

          and run screen in all of them ... ever since I discovered screen in 1992 (or so, give or take a year) it has been my multiplexer of choice ... plus the fact that your session stays alive if your connection drops ..

          back in the day when you would loose the connection if your wife would pick up the phone while you were using the same phone line to connect your VT100 to the office machine ....

          Glad those days are over :)

          1. Dan 55 Silver badge

            The problem with screen is you lose scrollback. Or maybe what I mean is that I haven't found a way to keep it yet?

            1. karlkarl Silver badge

              Not so bad when you can pipe output through pagers like less or more but... Windows doesn't have those either!

              Screen has the ability to change the scrollback buffer. <ctrl-a>: scrollback 1000<enter>

              Tmux has <ctrl-b>PgUp

        2. OSYSTEM

          Windows does have job control now

          https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_jobs

          And of course multiple remote or local sessions that you can switch between

          1. karlkarl Silver badge

            Re: Windows does have job control now

            This isn't job control.

            I.e you cannot put a command line program (i.e a text editor) into the background, do something else and then bring the old text editor back into the foreground.

            Try it now.

        3. Bryan W

          Quit whining

          You create tabs by selecting profiles. Each profile is highly configurable. Ie, if you use your brain you can make a profile that uses your favorite Linux flavor in WSL to run "SSH" just the way you want. Or maybe through Powershell. Who cares, it's just a command. I don't know why you're bitching. Seems like you don't know how to use the thing. It takes less effort to edit a json profile in Windows Terminal than it does to set up all the crap you are talking about.

          1. karlkarl Silver badge

            Re: Quit whining

            Sounds like you have never connected to an SSH server and needed to then open 5 tabs on that *same* server.

            1. Registered Register Registrant

              Re: Quit whining

              Bryan is not familiar with the problem domain. Surprising to see such hostility arise from total ignorance, but I see it often.

  4. J.G.Harston Silver badge

    While it's nice to finally actually get Terminal actually working, it's galloping towards Bloat Mode.

  5. Anonymous Coward
    Anonymous Coward

    So how many years and millions have Microsoft spent...

    ...to very badly copy xemacs?

  6. razorfishsl Silver badge

    Slowly trying to monitorise Linux....

    1. MyffyW Silver badge

      Do you mean monetise? I think I've always used a monitorised version of Linux :-)

      Have an upvote for making me giggle.

  7. logicalextreme Silver badge

    It still hasn't hooked me. Give me Quake mode like in ConEmu and then we'll talk.

  8. The Oncoming Scorn Silver badge
    Boffin

    Blurry CRT Mode

    My eyes do that already for me.

    Icon - Look glasses.

    1. Uncle Slacky Silver badge
      Linux

      Re: Blurry CRT Mode

      I just use Cool Retro Term instead : https://github.com/Swordfish90/cool-retro-term

    2. HPCJohn

      Re: Blurry CRT Mode

      One feature of Windows I really want...

      Sadly windows Terminal is not available for the build of Windows on my laptop.. grrrr

  9. Warm Braw Silver badge

    I've used a lot of terminals...

    IBM 2741s and 3270s, KSR33, VT52, VT1xx, VT2xx... and then we had the merciful release of the GUI. No-one at that point would have imagined that programmers in 30 years time would be spending their time more perfectly reproducing the experience of the 1980s.

    Or, indeed, that vinyl records would be on the shelves of cloth-eared and cognitively dissonant youngsters supposedly concerned about plastic pollution.

    What happened to progress?

    1. theOtherJT

      Re: I've used a lot of terminals...

      We tried it, and most of it turned out to be rubbish.

      In all seriousness tho, a huge amount of effort was put into making the good old "shell" an effective way of interacting with the machine. Since the arrival of the gui there has been huge amounts of effort poured into making the gui look cool, because that's way more attention grabbing than making it work better. With a text shell, you don't really have that option.

      I fervently believe that gui development has been horrifically backsliding over the last few decades, with developers apparently more obsessed with what they can take out to make the thing look nicer, than what they should put in to make it work better.

      1. Warm Braw Silver badge

        Re: I've used a lot of terminals...

        a huge amount of effort was put into making the good old "shell" an effective way of interacting with the machine

        Then it was hopelessly misspent. Using bunch of randomly-named commands with poorly-documented and often misspelled options is not an effective way of interacting with anything. It's also actively hostile if your first language isn't an approximation to English or, worse, doesn't use the latin alphabet. It also promotes an exclusive culture that demands you are initiated into the arcana before you can practice your craft (and I say that as someone who used to write JCL...).

        Although I agree that usability has largely been forgotten in a lot of UI design, it's never going to be fixed if we continue to make a fetish out of yesterday's technology.

        1. hmv Silver badge

          Re: I've used a lot of terminals...

          I firmly believe that there is nothing wrong with interacting with a computer in whatever way works for you - gooey for when you like that, and an emulation of an insanely noisy printing terminal from the 1950s when you're so inclined. Or speaking (which when you think about it, is very much like a command-line).

          It's unfortunate that the cli is tied to English, but that's a solvable problem. As is the insanely huge collection of commands (some of which are poorly documented). For a tiny example, I have a bletcherous shell function called "show" (which could also be called "sioe") which looks at the file extension before deciding how to display it (by preference) in the terminal.

          "initiated into the arcana before you can practice your craft"

          Do you really think there is a single profession out there that doesn't have to initiate people into the secrets of the trade before they can practice? A somewhat outdated saying: "Windows allows any idiot to run a computer. Do you really want any idiot running your servers?" (and this is really a knock to the assumption that running a fleet of servers is something anybody can do; not to Windows itself)

        2. theOtherJT

          Re: I've used a lot of terminals...

          For sure there's some fetishization... I'm sure that's not a word, but I'm gonna roll with it... going on here. The whole "Look, it's a green and black CRT!" option is clearly some kind of fan service - although I'm not sure what kind.

          But you know what, there's nothing really wrong with a bit of nostalgia, but that's not really the point I was trying to make. How, with a gui, do you loop over every member of group a, check if they're in some other group b, if they are add them also to group c as well as drop a few files in their home directory and send them an email telling them that it's happened?

          There really isn't a better way to do random arbitrary tasks like that than an old fashioned text shell, and odd corner case shit happens all the time in the devops world where basically everything is made out of the digital equivalent of string and duct tape.

          Another one - rename every file in this directory to an MD5 hash of it's content if and only if the MD5 matches the hash of another file in another directory on a remote server. I actually had to do that last week. It took about 5 lines of bash. No one in their right mind would ever write a GUI tool to do something like that it's just too niche.

          You're not wrong about things often being arbitrary - but then trying to find things in the Windows control panel isn't exactly an object lesson in logical structure these days - and yes, there's very much an anglocentric nature to 99% of text shells - but then since they were pretty much all invented in the US, that's probably to be expected, and to be honest if English isn't your first language there's a better than even chance it's your second language and so there really isn't a better option - unless you're expecting a sudden resurgence in Esperanto?

          Text shells fill a really important role, and I don't see any way for that role to be filled better.

      2. Teiwaz Silver badge

        Re: I've used a lot of terminals...

        I fervently believe that gui development has been horrifically backsliding over the last few decades, with developers apparently more obsessed with what they can take out to make the thing look nicer, than what they should put in to make it work better.

        Couldn't agree more - I see a lot of forum threads all over descend into arguments over the minutiae of proposed spacing regimes - and this on modern ui layouts which appear more blank space than content.

    2. Nick Ryan Silver badge

      Re: I've used a lot of terminals...

      What happened to progress?

      An entire sub-industry grew where it promoted form over function, user interfaces become less useful and omit many of the key and most important factors in good user interfaces. Not that there were that many good user interface designers in the first place, but with the vast growth in developers (of very varying competences) there has not been a similar growth in user interface designers. Nor database designers/developers either. This largely explains much of the mess the software industry is in.

      As for vinyl over digital - the perceived snobbery of this is where it comes from. That and mainstream digital services which genuinely output worse quality products for technical reasons. For example, digital TV picture quality often being usually somewhat worse than analogue equivalent broadcasts due to bandwidth restrictions and the commercial need to cram more channels into the same limited bandwidth, thus reducing the quality of most of them.

      1. Mystic Megabyte
        Stop

        Re: I've used a lot of terminals...@Nick

        My elderly neighbours are both technically illiterate but listen to Radio 3 and 4 on their DAB radio. When I mentioned to them that I might buy a DAB radio they said, "Don't, they're crap!".

        1. jelabarre59 Silver badge

          Re: I've used a lot of terminals...@Nick

          When I mentioned to them that I might buy a DAB radio they said, "Don't, they're crap!".

          That was Techmoan's impression as well.

          1. werdsmith Silver badge

            Re: I've used a lot of terminals...@Nick

            I have a DAB radio, a really old one from the early 2000s. Roberts Gemini 49. It’s excellent.

      2. yoganmahew

        Re: I've used a lot of terminals...

        @Nick

        "An entire sub-industry"

        And what they build can only be changed in timescales measured in eons. So much for a new option to do something different hacked up in a day, now it is weeks of lead time and a release cycle away.

        Or do we have to live with that worst of both worlds "enter additional parameters in this box" and then the GUI does a flipping CLI command under the hood :|

        1. Nick Ryan Silver badge

          Re: I've used a lot of terminals...

          Yep, far too much "modern" software is cobbled together in a manner too well reflected in this onligatory XKCD: https://xkcd.com/2054/ (Data Pipelines)

    3. Xalran
      Pint

      Re: I've used a lot of terminals...

      Personally the TTY ruled them all.

      Typing stuff, seeing it printed on the sheet of dot matrix compatible paper ( with the typing errors that can't be corrected ) and then seeing the system answer being printed on the same paper after you hit return is unforgettable.

      1. karlkarl Silver badge

        Re: I've used a lot of terminals...

        I think every developer should try it at least one. It was woefully wasteful of paper but honestly I would much rather use it even today than one of the typical web browser IDEs that the cool (albeit misguided) kids are using.

        For example the ex command:

        :%s/^M//g

        Would still work. Cloud IDE's just assume your line endings are whatever "they" use. I am also fairly sure that the typical Cloud IDE developer doesn't quite know that different line endings exist...

        Again, if it didn't kill so many damn trees, the paper is really nice on your eyes too XD

  10. codemonkey

    Come back...

    Coral 66, all is forgiven.

  11. OSYSTEM

    Note for everyone: There is full serial console support in Windows Server...

    Just hook up your VT100s and Teletypes and have at it. :-D

    Powershell also supported.

    https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/bootcfg-ems

    https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/boot-parameters-to-enable-ems-redirection

    VMs also

    https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/serial-console-windows

    (For the TTYs you may have to use a baud rate converter. Although I haven't tried, I suspect that neither the line driver nor the hardware will go low enough for a TTY.)

    1. karlkarl Silver badge

      Re: Note for everyone: There is full serial console support in Windows Server...

      Many modern hypervisors use serial to manage VMs. For example OpenBSD's vmm and for a while Byhve too.

      A server operating system would be an absolute joke if it didn't provide serial access. The Windows SAC is there... but like most other Microsoft solutions is pretty weak.

      Debugging kernel panics is also fairly reliant on serial connection. Not everyone wants to just stare at a BSOD all day and do nothing about it.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2020