14 ms·
VTM: A Text-Based Desktop Environment
- cientifico 6y agoTip: If you want to escape from any ssh session you can press this sequence: 1. <Enter> Press Enter. 2. ~ Press Tilde. 3. . Press dot. This disconnects from the remote host. If you want more: `man ssh` and look for "ESCAPE CHARACTERS"
- afranchuk 6y agoI think the sequence is "<Enter>~.". I use it often.
- cientifico 6y agoThanks. Corrected.
- 411111111111111 6y agowhy not use the logout shortcurt ^d ? this abort sequence is so much move involved vs just ^c ^d -ing
- EE84M3i 6y agoThis shortcut works even if the remote side isn't responding to ^c and/or ^d. It's handled by the local client. The two primary use cases I've found it useful are when I accidentally wedge the remote box by using up all of some resource or when some other event causes my network connection to hang and I don't want to wait for a timeout.
- 411111111111111 6y agoyeah, i was specifically confused about him having to use it often. it is sometimes useful, like when you're connected to the demo site and cba to figure out how to disconnect. but such situation are so rare that i was confused about the remark how often he uses it.
- EE84M3i 6y agoI use it pretty often because I have SSH sessions that get messed up from (dis)connecting my VPN and I'm impatient.
- Ignacy-s 6y agoIf you do the first connection with mosh instead of ssh, it will survive vpn/wifi/4g roaming and even system hibernation. Assuming that first hop is a vps in the cloud with a stable connection, you can literally wake your pc from hibernation and once you get any Internet access, mosh will happily restore your "ssh" session for you. mosh.org: >Mosh will log the user in via SSH, then start a connection on a UDP port between 60000 and 61000. Needs at least a couple of ports in that range open, because old sessions tend to block ports until they are cleaned.
- EE84M3i 6y agoI use mosh for personal stuff. My work does not allow mosh.
- rusk 6y agoC^D instructs the server to disconnect you. With these tilde commands you are issuing client side instructions.
- rusk 6y agoYou can do ? instead of . and it will tell you what else it can do. Client side escape sequences. Handy to know!
- cycomanic 6y agoThis looks quite cool, but I don't think it's open source? I can't find any source code in the repository, there's just a single file called not_ready_yet.
- deleted 6y ago[deleted]
- lokl 6y agoThe source might not be there, yet, but the MIT License is in the repo.
- trenchgun 6y agoIt is probably not ready yet.
- _emacsomancer_ 6y agoI was at least hoping to see information about the language(s) used.
- mysterydip 6y agoGlad to see someone made this to save me the time! I've wondered if a TUI could replace some desktops for low end or embedded systems, or something to use on remoting into a datacenter etc.
- z3t4 6y agoDrawing text is the most expensive in a GUI.
- Phil-bitplex 6y agoTrue in the general case - but a fixed size font drawn in a grid over the screen? There's a lot you can to do make it very cheap
- qayxc 6y agoThat's only true for TrueType Fonts in graphical mode. In text-mode, characters are "drawn" by simply writing their ASCII code point into VRAM and writing another byte (two 4-bit values really) in an additional "attribute" buffer to set the foreground and background colour. Programmers can swap out the default character set to provide their own typeface and graphical characters for use as window borders, shadows, etc. (S)VGA text-mode is as cheap as it gets in terms of computational complexity.
- ezoe 6y agoCome on. We had long past the ASCII only era.
- FlyMoreRockets 6y agoASCII is eternal
- dividedbyzero 6y agoTell that to the French, Germans, Russians, Chinese, Japanese, Koreans, Spanish, Norwegians, etc. pp.
- 7thaccount 6y agoIs this running on top of Windows and just replaces the GUI?
- ktpsns 6y agoNope, I guess this is a Linux or at least platform-independent command line interface program. You are probably confused by the powershell which seems to be available for multiple platforms nowadays, see https://aka.ms/pscore6 https://aka.ms/pscore6
- moron4hire 6y agoThere's also a window claiming to be Windows' CMD. As I can't figure out how to enter text in any of these windows (I'm assuming it's disabled, otherwise CHAOS) I can't tell if it's just a vestigial window of if it's a true output. The topics on the Github repo list both Linux and Windows. The Readme calls itself "aka Monotty Desktop". That makes me think they may have written the code for the Mono runtime, so I'm expecting it's C#. I had played around with a similar idea in C# some months back, though I was targeting only Windows because it took P-Invoking into some Win32 APIs to get most of the functionality.
- cstross 6y agoPowershell. But Microsoft ported Powershell to run on UNIX/Linux, so ...
- moron4hire 6y agoI know the difference between PowerShell and CMD. And I know Microsoft ported PowerShell to Linux. You're not paying attention. Command Prompt is also on display: https://dice.netxs.online/cloud/vtm/mde_banner.png https://dice.netxs.online/cloud/vtm/mde_banner.png
- 7thaccount 6y agoYep, I'm in the same boat as you. Part of it just looked like Linux running Powershell, but CMD threw me off.
- Yuioup 6y agoTried to connect with Juice SSH on mobile and it looked quite ... abstract.
- mpweiher 6y agoAlso with Terminal.app from macOS...very..er..."colorful". https://www.dropbox.com/s/q52w26jsyv086hn/Screen%20Shot%202020-08-22%20at%2015.17.28.png https://www.dropbox.com/s/q52w26jsyv086hn/Screen%20Shot%2020...
- reaperducer 6y agoLooks fun like that on iOS Prompt, too. Must be looking for ANSI instead of VT100. Mismatched emulator modes reminds me of BBS days.
- sfgweilr4f 6y agoSame with PuTTY on Windows. Its certainly colorful.
- lehi 6y agoEmulating stacked translucency in a terminal is pretty interesting.
- dankamongmen 6y agonotcurses takes this to its logical extreme: https://nick-black.com/dankwiki/index.php/Notcurses#Transparency.2FContrasting https://nick-black.com/dankwiki/index.php/Notcurses#Transpar... check it out in notcurses-demo -- pretty crazy stuff
- nsxwolf 6y agoIt looks like DESQView for MS-DOS.
- jmclnx 6y agoI really liked DESQView, too bad the industry had to move to GUIs :(
- smusamashah 6y agoThis is amazing. Has there been anything like this before?
- GrumpyNl 6y agoYep, around 1990
- Stratoscope 6y ago1985. https://en.wikipedia.org/wiki/IBM_TopView https://en.wikipedia.org/wiki/IBM_TopView I had just started working at Gupta Technologies at the time, and for a short while we seriously considered developing for TopView instead of Windows.
- reaperducer 6y agoAshton-Tate did it with Framework in 1984. Though my memory is that it goes back a few years earlier to Valdocs on CP/M machines, but I can’t find any pictures on the intarwebs.
- Stratoscope 6y agoFramework was pretty great! My partner and I were working on some similar ideas at the time, and we got together with the Framework team to compare notes and brainstorm. The thing that stuck in my mind when Robert Carr took us on a tour of their office was the printer lab. It was a full size conference room with floor-to-ceiling shelves on every wall stacked with printers. Because back in those days, if you wanted to sell a DOS application that could print anything more than plain text, you had to write your own drivers for every printer you wanted to support. Ouch! I've sometimes thought that the real innovation in Windows 1.0 was having systemwide printer drivers so every app didn't have to provide their own.
- mightybyte 6y agoOh yeah. I'm going to date myself here, but I was just going to say this reminds me a lot of Borland Turbo C++ way back in the day. They had this thing called Turbo Vision for building text UIs. It seemed super cool back then. https://en.wikipedia.org/wiki/Turbo_Vision https://en.wikipedia.org/wiki/Turbo_Vision
- edwinyzh 6y agoIt's very cool!
- ape4 6y agoI just ssh-ed in, there are multiple users, its crazy!
- blarglechien 6y agosame, but I will come back later to actually try it. Right now it's displaying a bunch of colors and strobing really hard. Not sure what's happening.
- LukeShu 6y agoTry a different terminal. It does that for me in URxvt, but works fine in xterm.
- globuous 6y agoInsane. Well done brother ;)
- submeta 6y agoI came here expecting an article about my beloved Emacs ;)
- maxpro 6y agosame here. didn't know there are other DEs besides Emacs
- mr_spothawk 6y agothis is the maximalism that i come to hackernews to find.
- jdormit 6y agoMight as well dive all the way in: https://github.com/ch11ng/exwm https://github.com/ch11ng/exwm
- ajarmst 6y agoStumpwm would probably be attractive as well, because Lisp. http://stumpwm.github.io/ http://stumpwm.github.io/
- ravar 6y agoserious question about exwm, how do you deal with a broken .emacs, and what about when you hang emacs?
- ajarmst 6y agoSame as any other WM (although I don't actually use exwm). Enable ssh for troubleshooting or use boot flags to boot to console.
- stjohnswarts 6y agoI would suggest keeping around some versions :) I use git for this very reason locally when I'm futzing with settings, it's immeasurably handy for experimenters and config file junkies.
- ChrisMarshallNY 6y agoReminds me of the first edition of MS Windows. A lot of firmware systems still do their "windowing" like this.
- agumonkey 6y agoI like that, a lot. For the low bandwidth only.
- 29athrowaway 6y agoThe source code is just a file named "not ready yet". How is this open source?
- Shared404 6y agoPretty sure that MIT doesn't mean that they have to put the code in a repo. Have you tried emailing them? Edit: Presumably they plan to put the code in a repo, but it's not ready yet.
- emilfihlman 6y agoThe demo doesn't seemt to work on putty
- moron4hire 6y agoWorked fine for me in PuTTY.
- sfgweilr4f 6y agoWhat settings? Mines more like an abstract color art piece but not so much a desktop environment.
- forgotpwd16 6y agoSame on urxvt. Probably requires true color support. I had the same issue with browsh, a text front-end to Firefox.
- msla 6y agoOh, if only there were a way to solve this problem which was well-tested and widely-deployed! https://invisible-island.net/ncurses/ https://invisible-island.net/ncurses/
- JdeBP 6y agoThat gained 24-bit RGB colour support in version 6.1, released in 2018. It's not quite as widely deployed as you may have thought. * https://stackoverflow.com/a/36163656/340790 https://stackoverflow.com/a/36163656/340790
- moron4hire 6y agoIDK, Default? I'm on PuTTY 0.73. I haven't changed anything since I installed it.
- 6y ago
- bobuk 6y agoLooks like a modern version of twin https://github.com/cosmos72/twin https://github.com/cosmos72/twin
- exikyut 6y agoHa, you beat me by a minute :D I agree!
- exikyut 6y agoReminds me of https://en.wikipedia.org/wiki/Twin_(windowing_system) https://en.wikipedia.org/wiki/Twin_(windowing_system), https://github.com/cosmos72/twin/ https://github.com/cosmos72/twin/
- Abishek_Muthian 6y agoI've been thinking about such text-based DE for custom Raspberry Pi nano based smartphone. Reason being, common mobile apps are not going to arrive for Linux and Nano is not powerful enough to run web browsers anyways; So why not a text-based DE or even just a console which enables basic communication features and Lynx for browsing? It would be great if we could get some GPU juice from Pi for text rendering in such environment like how iTerm2 does on macOS.
- ajford 6y agoAre you talking about a Pi Zero? That can totally run a desktop environment and browser. Especially something light like XFCE or Enlightenment.
- Abishek_Muthian 6y ago>Pi Zero? Correct, sorry brain fart. >That can totally run a desktop environment and browser. Especially something light like XFCE or Enlightenment Even regular sized Pi struggle with web browsing on a standard browser (Firefox/Chromium), I know that it largely has to do with the web pages themselves being memory hogs, but then again a similar specced Chromebook x86 doesn't hang while browsing(Same web page/Same no of Tabs); I think it largely has to do with browsers not getting optimised for ARM architecture on Linux. I had the same issue with XFCE i.e. browsers hang after sometime, as for Enlightenment 3rd party apps didn't work last time I tried with Pi3[1] has the situation changed now? [1]https://abishekmuthian.com/getting-smoother-desktop-experience-on-raspberry-pi/ https://abishekmuthian.com/getting-smoother-desktop-experien...
- jefurii 6y agoI love the lines connecting all the windows to a single point. Helps with the spatial relationships.
- throwawayForMe2 6y agoAlong with DESQView and IBM’s TopView as already mentioned, this reminded me of the first version of PC Smalltalk put out by Digitalk that was called “Smalltalk Methods”. It was a character based windowed Smalltalk. This was quickly followed with the full bit mapped windowed Smalltalk/V. I believe all of this was when MS Windows still only had tiled windows without overlap.
- peterisza 6y agoFloating windows are worse than tiling imho
- person_of_color 6y agoUntil you want to work with media/creative apps.
- raintrees 6y agoThis reminds me of the DOS menuing system we used to install on clients' computers several decades ago. Cannot remember the name, may have to dig out my old 5 1/4" floppy collection binder I used to always carry with me if not remembering starts to drive me crazy... That system remapped the function keys to launch batch files or call up sub-menus... Easiest way (at the time) to "customize" peoples' computers for them...
- otoburb 6y agoVDOS/Norton Commander[1] jumps to mind when I read your description, except that was more popular when everybody was migrating to 3.5" floppies. [1] https://en.wikipedia.org/wiki/Norton_Commander https://en.wikipedia.org/wiki/Norton_Commander
- stjohnswarts 6y agoIt was very common on some of the old vt220(etc) terminals to have menus and windows and such. However I never saw anything like this :) . Can't imagine those 9600 baud terminals having fun with all of this haha
- nocman 6y agolike Borland Sidekick? https://en.wikipedia.org/wiki/Borland_Sidekick https://en.wikipedia.org/wiki/Borland_Sidekick
- raintrees 6y agoAh, SideKick... TSR hell days... No, went and looked through my little 5 1/4 binder, not sure I still have the menu utility... But for those of you who were doing this back in 1991, here is a list of the utils I carried on 5 1/4": Gibson's SpinRite MS-DOS 6.22 pcAnywhere 5.0 PKUnzip 2.04G Everex - The Edge Utility (BIOS settings app) Easy Data 286 Setup for 10-12MHz Laser Digital Phoenix Setup Wyse Tech - Setup & Test IBM Diags PC/AT Utron Inc - Neat 286 Setup Disk Misc. Novell files QEMM 386 5.10 Brief 2.0 SuperStor V2.04 XTreeGold Mountain Tape (tape backup) Norton Utils 5.0 ProComm Plus Intel Satisfaction MicroHouse IDE Diagnose DOS 5.0 DOS 3.3 Checkit 3.0 Scan80, Clean80, CPAV Norton Antivirus LapLink III And somewhere in my office I still have the multiple boxes of 3 1/2" disks, both the 10 disks boxes, and bigger 100 Disk box, that saw a lot of wear and tear in my backpack - I skateboarded to clients around Santa Cruz, so everything had to fit into my backpack at the time.
- dec0dedab0de 6y agoI love things like this. Is it not released yet? A glance at the repo from my phone looks like there is no code yet. Does anyone remember Tandy Deskmate?
- city41 6y agoHere is a nice quick tour of Deskmate: https://www.youtube.com/watch?v=mYHtojsaRkY&t=9m47s https://www.youtube.com/watch?v=mYHtojsaRkY&t=9m47s
- ajarmst 6y agoThe width of the display used in the screenshot appears to be less than 150 characters. Why would you add the clutter and distraction of transparent windows with frame decorations in such a limited environment? 30% of the real estate is consumed by elements that don't present any information to the user. On a modern display, this could far more productively be replaced with (1) any number of tiling WMs with console terminals in the panes (I use stumpwm for this), or---and you don't even need a GUI/WM for these---tmux or screen, or even emacs -nw, which give you a much more configurable and robust text-only environment. My normal working environment is a pretty heavily customized tmux (including powerline and full 256-color/unicode support) running on a machine that doesn't even have a GUI installed. (I do cheat a bit by using kmscon---or fbcon in the past---to get colour and font support on linux vttys.).
- chrisseaton 6y agoThings like borders may be empty of content but that doesn’t mean they don’t help you see and understand other content more easily.
- ajarmst 6y agoAgreed. But using an entire character-width for that purpose is extravagant in this example (use of background colour would be better. Right now, some of those windows are !0% border). In a larger area, you can use unicode or even the drawing characters in MS 8-bit ASCII for a single-pixel hairline plus padding for both windows' text). I guess my take is that this is sacrificing an awful lot of real-estate to simulate overlapping windows, which is a feature of dubious utility in a pure text environment. "Users expect them" is probably the most common and egregious excuse for bad UX design, but I do understand why.
- egypturnash 6y agoThe demo video (https://www.youtube.com/watch?v=fLumnSctakY&feature=youtu.be https://www.youtube.com/watch?v=fLumnSctakY&feature=youtu.be) reveals that this is not just a traditional window manager for a static screen, it's got a much larger virtual canvas that the display can scroll around in. So there's a LOT more space to make an aesthetic decision for big, character-wide window frames. Seriously go watch the video, this thing feels like it's got a foot in the realm of UI roads not taken like Raskin's zoomable UI, text-mode is maybe more just a way to keep their focus on thinking about the interactions without having to worry about drawing a bunch of pretty widgets.
- didip 6y agoI am curious, how does it render images/videos?
- mixmastamyk 6y agoYes it does have some support, though the resolution is low.
- ashton314 6y agoI once built something like this. There’s a Perl library[1] that lets you control windows, dialogues, etc. My grasp on concepts like asynchronous programming, callbacks, process IO, etc. was nascent at best, so naturally this UI that I built was pretty terrible. I learned a ton though! [1]: https://metacpan.org/pod/Curses::UI https://metacpan.org/pod/Curses::UI
- beojan 6y agoNot just Perl. Curses is what most TUIs on *nix are built in. It's a C library with a few different implementations.
- deltron3030 6y agoIsn't it similar to the rio windowing system from Plan 9?.
- forgotpwd16 6y agorio is a graphical interface so not really. It is more like acme itself but with floating windows and translucency.
- rudolfwinestock 6y agoRelated: The MGR Window System https://hack.org/mc/mgr/ https://hack.org/mc/mgr/ “MGR provides each client window with: curses-like terminal control functions, graphics primitives such as line and circle drawing; facilities for manipulating bitmaps, fonts, icons, and pop-up menus; commands to reshape and position windows; and a message passing facility enabling client programs to rendezvous and exchange messages.” Essentially, each window was a souped up ASCII terminal with extra escape sequences which implemented primitive graphics. It competed with X-Windows on low-end workstations during the 1980s. Discussion: https://news.ycombinator.com/item?id=18742611 https://news.ycombinator.com/item?id=18742611
- ilaksh 6y agoLove it! I have a strange desire to try to make that work in WASM over HTTP/2 and hack in MGR server hyperlinks.
- sitkack 6y ago+1 SVG over HTTP/2 in Wasm with WebGL1 (for compat)
- microcolonel 6y agoI wonder how hard it would be to write an MGR terminal emulator today.
- cmrdporcupine 6y agoI suspect a lot easier with modern graphics libraries and so on Not sure I'd bother with MGR itself, but instead do something similar. It's not as compelling now that we don't do much over serial links anymore. The modern day version of this really is the browser/HTML. I remember being intrigued at the time by the idea of using this protocol over a MUD (telnet / TCP socket carrying text) connection.
- cmrdporcupine 6y agoRan this on my Atari ST for a bit back in 1990 or so. And then again on my 486 running early Linux a couple years later. It's a really neat idea. But it was of limited use as not many applications were made for it.
- colordrops 6y agoWhat's the point of overlapping windows in text? Seems that tmux already fits the bill for this use case.
- Skunkleton 6y agoIts good to see experiments like this. Maybe this project won't be the next big thing, but maybe it will give someone an idea of what the next big thing should be.
- wintorez 6y agoAh, this reminds me of Turbo Pascal days :)
- woutr_be 6y agoJust note that VTM is the main commercial TV station in Belgium, and the name is most likely trademarked there as well.
- blickentwapft 6y agoIt’s funny when Microsoft comes to the Linux world it feels the urge to make it windowy, rather than learning the Linux text CLI paradigm.
- jasonm23 6y agoEmacs
- dang 2y agoOriginal link (vtm.netxs.online) turned malicious so we put an archive copy at the top.