I've pretty much always just used xterm. It "just works". I think I've read some things written in the early 90s that it was considered "bloated", which is funny now...
This is one thing i don't get. All that old X stuff ... A lot of it is still usable. You can run a similar setup that one might have in the late 90s or early 2000s and it's unobtrusive, fast. I've run fvwm on my workstation for a while now. Was using WindowMaker long past its prime. There's no reason not to.
I've proposed X talks at a few conferences. Modern X is a fairly black art but has some really nice features.
They've been 100% rejected. Linux conferences seem to only care about things like containers and automation these days.
X is like emacs. Doing it well is hard but there's a lot of power and flexibility under that hood if you spend the rather significant effort to discover it.
Its 40th birthday is coming up. Like JavaScript, CSS and PostScript, it's an imperfect system with compromises that gets the job done.
I'm probably just going to do the talk proposals as a write-up.
«only care about things like containers and automation these days»
In all fairness these seems to me the reason Linux has become more popular, rather than lets call it the “black arts” of Linux. However those with extensive knowledge of Linux seem to be highly in demand (scandinavia) because of the popularity of Kubernetes. And lets be honest, kubernetes is best operated by “hackers/makers/tinkerers” :)
It's one of the current commercial applications with arbitrage opportunities on the skills front, the other big one being AI.
The education and conference industry are driven by those deltas because that's where the lucrative jobs are
These things tend to fall in on themselves. Ten years ago for instance, large scale data stores were the rage. Everyone was rolling out petabyte solutions for megabyte problems. This went on for years before people realized it was absurd.
You're finally starting to see this in containers. It's container overload for really simple problems - like hiring earthmovers and cement mixers when your construction job is installing a bookshelf.
People want to expand their resume and use their current job as a stepping stone but they're also creating messes by using inappropriate tools.
Not sure Kubernetes hype is going down anytime soon, what is the alternative? A bunch of windows servers in a cluster? Good luck with that. One of the problems is that k8s tutorials often end up installing a silly app, and then yes… k8s is overkill for that. But autodeploying infrastructure from a repository with a private registry including other readily available tools for metrics and secrets is a big feat.
I'm having to deal with multiple applications that are essentially an API that consolidate responses from a couple of other services.
Each one is it's own container, with all the baggage that comes along with configuring your helm charts, managing egress, dealing with people who want to manage security with IP address references, etc.
Considering how simple a lot of these things are they should be a serverless function until the point is reached where there is a strategic advantage to the overhead of managing K8s.
I would say that >50% will never reach that stage and all that it is adding is overhead of configuration, and overhead of managing the container security.
Nomad[1] is one alternative that gives you the same infra-as-code warm and fuzzies but isn't a behemoth like k8s. It's simple to deploy, simple to operate and unless you're truly scaling big, it probably does everything you need.
I'm sure there are others in the same league that I don't know about. Maybe I'm just getting old but I'll never understand the rush to use k8s in teams of <100 developers.
Xwindow system is fantastic in its design. One have to put the mindset when X window system was designed CPU, memory was very expensive so the best thing was to share resources with colleauges.
Thus in the 80s Dos, digital eqipment Wax mainframes, 90s you had PCs with spinning disks running Windows.
X and here is the power of allows you to run graphical windows created from another computer. Much like you can use ssh and pipewire to commect to remote hosts and send sound over the network. X allows you to send graphical windows over the network.
"Network Transparency:
X was designed to work seamlessly over a network, allowing applications (clients) running on one machine to display their GUI on another machine's screen (the server). This feature enables users to work with remote applications as if they were running locally."
Moden operating systems still dont quite have the render remote GUI operating system windows like local
Applications. Yes there is server side rendering of web apps but not for whole native operating system windows.
There is beaty in the design philosophy of Xwindows.
But network transparency has not been true since forever — unless you are using XMotif, almost every framework renders using the GPU, so you end up transporting a bunch of pixel data slowly over the wire — VNCs are much better at this problem then the naive approach.
There is a beauty to its design, but it longer fits the current model - if you are really looking for the legacy of its design, it would probably be the web — thin clients rendering based on short instructions emitted by remote computers.
> so you end up transporting a bunch of pixel data slowly over the wire — VNCs are much better at this problem then the naive approach
This technically correct caveat, which keeps coming up, is technically correct, but IMHO misses the point. This limited form of network transparency (it's not like pixels are slowly pushed out-of-band, you're still doing that over X) is not the most suitable solution to this problem, but how fast you're pushing frames isn't the only relevant metric.
This is slow in principle but still fast enough for most local networks. But more importantly, unlike with any VNC out there:
* It takes zero time to set up. If you have SSH setup on the server, all you need to turn it into a poor man's version of VNC is to flip the X forwarding flag. There are no additional packages to install and no services to manage besides what you're probably already using (SSH).
* It doesn't introduce an additional account management layer (no vncpasswd madness, no syncing between AD and VNC accounts and dealing with the breakage that happens when that inevitably breaks, no cloud credentials). Account and key management are easy (and you're probably doing it already!). If you need to change laptops, you just change laptops and take the keys with you -- it still takes zero time to setup.
* Even though you're just slowly pushing pixels over the wire, remote applications remain manageable by the local window manager. You don't Alt-Tab between your windows and a window with all your other windows or deal with wonky attempts to use a "rootless" VNC display mode (e.g. different keyboard maps)
Pushing pixels is certainly slow but, if you're doing it over a contemporary local network, it's fast enough and in my obviously subjective experience a way better than any VNC I've used. X-based (-ish) solutions like xpra or x2go, which still mostly push pixels, slowly, are so much better it's not even funny. Not good, mind you, there hasn't been a good experience in this field in forever, but still much closer to seamlessly using local and remote applications than any cross-platform VNC around.
> if you're doing it over a contemporary local network, it's fast enough and in my obviously subjective experience a way better than any VNC I've used.
Windows Remote Desktop configured to use h.264 hardware encoding is light years better than any VNC or remote X Windows I've ever used. Everything looks perfect, reacts instantly at 60 fps, and doesn't use more bandwidth than streaming a movie - even if you're playing a movie.
Fullscreen it's actually like being at the other computer and it's unparalleled by any Mac or Linux built-in screen sharing.
> And when h.264 hardware encoding is not available ?
It's still orders of magnitude better than X over network, in my personal experience.
I used to watch videos over RDP served from a 300MHz Pentium II with a graphics card from back when having hardware MPEG2 decoding was special. Even today using X applications from my Ryzen 1600X server on my Ryzen 3900X desktop over a direct 40G ethernet link is jankier than RDP was 20 years ago.
X's network transparency is occasionally really useful, but there are newer and better ways to solve this problem. The way it does things made sense for the world it was developed in where asking the host to maintain a framebuffer would have been a massive waste of resources, but those resources are now plentiful.
First, you can simply not use trash frameworks and get better results.
But more importantly, drawing pixels is just one part of a gui and focusing on that without considering the other parts hurts. I've been testing input devices on remote X lately: using programs on my desktop on an old laptop with a touchscreen and a drawing tablet and all kinds of other gadgets. It has different input methods than the client computer. They all just work remotely too, with full capability. Things like copy/paste and drag+drop just working between windows, regardless of where they are running, and integration with local window management is a huge benefit, you can forget these random programs actually run somewhere else. It feels like there's no barrier.
Yes, XTerm is my main terminal, it works and it has nice options, especially the popup menus for changing font size on the fly.
>This is one thing i don't get. All that old X stuff
No kidding, if people really read and understood the manual for xmessage(1), you will quickly see it has no competitor in what people call "modern". I use it a lot in many interactive shell scripts.
>But boy are there a lot of X haters.
yes and getting worse and worse with wayland and desktop.org, the bane of X. I use X and once I cannot use fvwm (I use that too) on Linux, I am off to a BSD.
>No kidding, if people really read and understood the manual for xmessage(1), > you will quickly see it has no competitor in what people call "modern". I use it a lot in many interactive shell scripts.
amen. could someone show me a simple gui message popup in ventura. i am sure it exists but have not been able to locate.
I don’t see a lot of X haters, it’s just a legacy system which is no longer actively maintained, so it makes sense that there isn’t as much interest in it.
Since there are valid use cases it doesn’t support as they found it too hard to implement due to its architecture, it is definitely not finished. For example mixed-DPI setups.
The problem with replacements like gnome-terminal is that they sometimes don't work. E.g. when you fire up a terminal while connected through a remote session you get issues with dbus, which of course sucks.
I wish there was an image viewer like xterm, because my usual viewer, eog, also has dbus issues frequently.
You mean like xli or xloadimage? Or something slightly more modern, like geeqie, gthumb, or mirage? Or if you want something larger, “display” from Imagemagick?
Thanks for the suggestions. However, they all have issues:
xli - doesn't support zooming with mouse wheel
xloadimage - doesn't support zooming with mouse wheel
geeqie - has UI rendering issues (not all text visible); uses dbus
gthumb - uses dbus
mirage - core dumped on me (Ubuntu 22.04 package, remote X session)
display - doesn't support zooming with mouse wheel
My images are usually too large to fit on a screen 1:1, so zooming is essential.
I just tried. It starts with the wrong aspect ratio. I can fix it by pressing "a". And "." and "," can be used for zooming. But a major drawback for me is that on Ubuntu I need to use snap to install it. Also, I have to set the XAUTHORITY variable to make it work over a remote X11 connection.
Surprised noone has mentioned sxiv, it is brilliant in (I guess) the same way people like xterm.
Really minimalistic but at the same time quite powerful under the hood. All normal operations have quick vim-inspired shortcuts (and scroll to zoom) and if you want to get advanced you can trigger scripts to do some heavy-lifting.
Not for everyone but when it fits it is brilliant.
If sxiv isn't your thing and you want something minimalistic, maybe have a look at feh (don't know if it has scroll to zoom).
Ok, I tried sxiv. It works locally, but when I invoke it over a remote X11 connection, I get a blank screen.
I also tried feh. It simply hangs when I invoke it with a png file over a remote X11 connection.
If you are starting to wonder whether there is something wrong with my setup: I can run other applications like xterm, xeyes, gimp, just fine over a remote X11 connection.
Do you have an indexed color display instead of a truecolor display or something? In that case it would make sense that modern programs have problems with it while older programs work. What does “xdpyinfo” say?
I like X, but many people saying X is enough are coding on a crappy hardware and crappy screen in a bitmap font and browsing the web through Lynx.
There is more to computing than 80s tech, and if one's opinion is that anything after the 80s is useless, then they're blind and biased.
I loved WindowMaker too, two decades ago, but I enjoy 2023 computing in 2023. And WindowMaker is already more advanced than fvwm or twm or any other DE that pairs well with xterm (you know, those that still use X11 fontspec strings instead of a modern font stack).
Wayland is a buggy mess, but I like hardware video acceleration, resizing windows without artifacts, compositing and one day VR, you know, technology from last decade, thank you very much.
> I loved WindowMaker too, two decades ago, but I enjoy 2023 computing in 2023
What do you use now? Most things I've seen after that generation of WMs kind of suck. Newer tiled WMs are good but that's kind of a different category.
> hardware video acceleration, resizing windows without artifacts, compositing
They all suck. I use GNOME, KDE is terribly buggy, I'd like to use Sway but it's still shit with hidpi screens (because of a missing feature in xwayland, go figure. KDE and GNOME have a hacky workaround, not Sway because no one of its devs has a screen with more than 96 dpi apparently)
In fact, tiled WMs are 90s tech, I want scrollable tiling WMs, and they are niche or pretty much unknown. See PaperWM or Cardboard
Re: hardware accel on X. I have been using Linux full time since 1999, yet I keep hearing people trying to convince me whatever crap we had before Mozilla WebRender on Wayland was hardware acceleration. Having VLC use VDPAU when opening media files is not full desktop hardware acceleration.
It has taken until Wayland to be able to move and resize windows without artefacts and lag. Stuff Windows and macOS have had since 2010. Let alone accelerated rendering of web pages and YouTube.
Occasionally, I have switched back to XTerm on my Linux systems and it’s always been fine. Good performance, good compatibility (everything runs correctly in XTerm), what else do you need?
- Tabs
- Clickable URLs
Otherwise, XTerm is solid. The source code is a bit of a nightmare.
I used to have a script that I bound to right-click instead of xdg-open. In addition to opening URLs, it also extracted the current directory from xterm's title so that I could open files with the mouse as well. I called it plumb (after the Plan 9 tool).
Unfortunately I lost the script and am not interested in rewriting it, but maybe it gives you some ideas. You could dispatch any action you want based on patterns in the selection.
I get tabs from my window manager (fluxbox), but not sure if that lacks some magical functionality you might get from it being built-in to the application. I rarely use it though, rather organizing things by whole virtual workspaces instead.
The funny(ironic) thing is. tabs as a desktop metaphor belong to the window manager.. however tabs, as implemented, were a revolt against window manager tabs.
If I understand history correctly, with the meteoric rise in popularity of our modern day terminal(the web browser) people were wanting to run more and more browsers at the same time. as the existing desktop manager state of the art(probably windows 95) was coming up short when dealing with the number of windows people wanted open the browser manufacture Netscape said fine, we will do it our self, this is where my memory gets fuzzy, I forget if it was an early firefox(phoenix anyone) the full mozilla browser or netscape proper(6 ish timeframe) that invented tabs, but they were and still are a very popular way control your many many browser windows you had open.
Really in the wrong layer however, it should be your desktop manager that provides tabs, not the application, and some do, but it is not a common thing what with the way DM tabs fight application tabs.
I remember when Phoenix got tabs, it was a killer feature for me because I was using some environment which didn't handle tabs itself (KDE and Windows). It was great not having to deal with a ridiculous amount of window buttons in the task bar.
But now, we've come full circle. I'm using i3 and adore its tabbed windows feature. However, it's basically impossible to disable tabs in current browsers. Firefox has some extensions [0], which combined with some custom css to hide the tab bar kinda sorta work if you're ok with a janky experience. For Chrome, I haven't found anything.
I am not sure that it was first, but Opera was the first browser that I remember having tabs. Outside of browsers, I think UltraEdit was the first application that I remember having tabs.
Most non-tui programs being run in terminals don't operate that way though, and tui stuff resizes just fine. ps, for example, only outputs text to fill the terminal size and truncates the overflow (which is why it's not safe to grep). Not reflowing makes a lot sense when compared to the complication and bugs reflowing would bring.
Tried with SCO OpenServer (old UNIX) and modern Fedora, with Konsole and XTerm. Neither 'ps' in either terminal truncates output to fit the terminal. What 'ps' on what OS did that?
Some Googling indicates that on Solaris, 'ps' would default to 80 characters wide before truncating, apparently ignoring the size of the terminal. However even that apparently did not apply when piping; it would output the full line in that case.
It really is until you settle on a larger terminal size by default (I use 100x25 or 100x50 usually, sometimes 132x25/50 for lots of output.) I still miss it though. Don't know why they never added it, for example it's got a whole Tektronix emulator built-in so bloat and extra work are no excuses.
Some people are happy with TMux but it introduces some compatibility problems (TMux itself contains a terminal emulator, and not everything works correctly in TMux), and half the point of tabs is being able to organize them how you please—if you want move a tab to a new window, you can do that.
I think you'll be pleasantly surprised if you look into what tmux is actually capable of. It's extremely customizable, featureful, and well-documented. All of the complaints you've raised in this thread can actually be solved with a bit of configuration.
> TMux itself contains a terminal emulator, and not everything works correctly in TMux
tmux doesn't merely contain a terminal emulator. Rather, it is a terminal emulator. All terminal emulators have slight differences in behavior and tmux is no exception. But since tmux is actively developed, I haven't personally encountered any deal breaking issues.
Colleague uses tmux. Every couple months one of his tmux sessions crashes, and he loses everything that ran in it. Meanwhile I can't remember screen ever crashing on me. Don't see why I should ever take that risk.
tmux never crashed on me this past decade either. So unless you're telling me that some computer science breakthrough has made screen crash-proof, I don't see why I should avoid tmux and lose many of the features I rely on.
It's just anecdotal evidence. Maybe it's because he's running arch and gets all the buggy beta versions, I don't know, but other than that, maybe that breakthrough is called "being mostly a finished product that has been around for way longer"?
Interesting! I usually have tmux in every terminal. I like that it keeps the session around even if I do something dumb like accidentally close my terminal.
It is cool that the ecosystem is flexible enough to fit our basically opposite preferences.
My terminal will stop me from closing the terminal if there’s a program running. I’ve also encountered a few problems with tmux from time to time—certain shortcuts stop working in weird, hard-to-diagnose ways, if a program is being run through tmux, or through some combination of ssh + tmux.
Depending on what terminal you use, this is likely to be related to the remote host missing the right termcap files and therefore there's no way for tmux to know how to do certain things.
One of the nice things about xterm is this basically never happens.
One of my systems has that confirmation dialogue enabled, it is pretty annoying IMO, I don’t want to have to reach for my mouse just to close a terminal. (I’ll disable it at some point, it is a system that I mostly just remote in to anyway, so it isn’t a daily annoyance).
There’s a shortcut in Vim that my tmux config gets in the way of. Ctrl-a, increment a number. This is a weird shortcut to me, though, actually I’m happy tmux over-writes it!
I have my terminal set up so the window won’t close without prompting.
I also like being able to copy-paste things out of terminals, and Tmux makes it a bit difficult. I know how to use the scrollback in Tmux but it’s just so much easier to use the scrollback in a GUI terminal editor.
I think what you’re describing is more habitual than the strengths and weaknesses of different solutions. Which is fine but the discussion needs to be framed that way.
People disagreeing with me but that fact that we’ve had a dozen people propose a dozen different ways to do the same thing, that alone should be evidence enough that what we are arguing over is personal preference rather than “x can’t do y”.
Having been a Linux (and unix before that) user for decades now, I’ve seen people argue over vi vs emacs, KDE vs GNOME, GTK vs Qt, GPL vs BSD and so on and so forth. They make all sorts of well reasoned arguments but it almost always just boils down to personal preference at the end of the day. Yet it’s amazing how many people think that their preferences are unequivocal facts.
Question to all commenters who ask for tabs: all modern desktop environments offer powerful window management, which includes navigating between windows of the same application, hiding inactive windows, etc. What's so good about having different documents/sessions in tabs instead of separate windows?
My terminal tabs get titles that I can see. My terminal tab shortcuts are consistent with other apps like browsers. I have workflows that depend on me creating a new tab with a bunch of envvars set and having those envvars replicated to any pane/split I create within that tab.
I use tabbed layout for grouping some things in i3/sway/hyprland like chat apps. It works well but those are things I just open once and don't think about again. Terminals are opened and closed constantly and I don't want to have to think about, or fix, new window positioning. A new tab in the existing window is going to be exactly where I expect it to be and have no impact on the positioning of any other window.
I actually mostly use separate windows in a web browser, in order to utilize the normal window manager functions (like arranging windows side by side by keyboard as needed), and never quite understood the appeal of tabs. I would understand it more if tabs were a window manager-level feature.
I think it depends on how tabs are implemented; browser tabs are temporary hold spaces for me, further context within a workspace that I'm exploring. Maybe it's separate research pages for a specific topic, some scratch space, etc.
Real browser tabs I like because if something ends up becoming a new main focus, I drag it to its own window and now it becomes its own workspace with its satellites tacked onto the window as tabs. I can close/re-open them pretty fast with browser history, and it becomes very easy for me to quickly jump in/out of mental work spaces.
However, what I cannot stand are non-browser native tabs that are becoming (?) standard in most web apps. It is very restricting in my opinion and defeats the point of tabs, and instead ends up cluttering the space far too much. The big CRMs are a perfect example of this as it slows down everything so much for me as everything is trapped in a single window, it's very difficult to isolate or preserve tabs, and you lose access to the history.
Terminal on MacOS introduced tabs some time ago and the paradigm still doesn't sit right with me. More or less it's unobtrusive enough (and I enjoy that Apple at least preserves certain accessibility options while shuffling tabs around), but I just can't quite get to the same head-space with Terminal as I can with browsers, probably because CLI is much more concise by nature and has some already pretty good systems in place for multitasking from a single window.
I think windows can map to tabs and shortcuts to bookmarks, so a browser could disappear inside a window manager easily, the concept exists already but I think it could be explored better. If the window manager allows for tabs, programs would not have to implement it.
So, the author is surprised xterm can be configured to mimic most modern terminals, though it lacks some basic conveniences like text reflow.
What's the point? Why not use another terminal then? It has low latency, but it's not an order of magnitude faster than any other GPU accelerated terminal, so I don't get the point of choosing a subpar product that is 10% faster.
I did, it's noticeable, but not enough for me to switch from the convenience of nice antialiasing and desktop integration.
I use Black Box [1] from Flatpak because it has great design and smart copy (Ctrl-C does both copy and SIGINT depending on the context), which is more important to me than shaving a few ms latency. These days a lot of terminal work is done with `eat` from Emacs [2], which is even slower than Blackbox.
I tried to switch from XTerm to GNOME Terminal. It went well for a while, and better Unicode and emoji display was nice, but then a new version of GNOME Terminal came out which broke the ability to use the Meta keys for sending an ESC prefix; it is now hard-coded to only accept the Alt keys to do that. So I had to switch back to XTerm.
xterm is very good. It's only now that I've moved to Linux on the desktop that I found better with wezterm (for tabs mostly) and foot (for a quick quaketerm).
wezterm is now becoming my favorite: it's not just very fast and responsive, but it supports sixels and has many little "details" I need like ligatures, telling you when a font doesn't support some unicode character, font fallbacks to maximize unicode coverage, and a very active community that can help you with whatever may not be clear from reading the documentation alone (I'm lua-challenged lol)
As for tabs in xterm, and a few other nice defaults I recommend the config I made during my last foray with Linux on the desktop: https://github.com/csdvrx/cutexterm
Also try 'mlterm', it has sixel graphics support enabled by default. While XTerm supports sixels, many distributions don't enable it by default.
Then, if you have 'libsixel-bin' installed you can run e.g. 'img2sixel hamster.jpg', and there you go, a photo is displayed in the terminal, inline with the text.
And 'mlterm' lets you adjust the text line spacing, even negatively, so you don't have to edit the fonts to get it the way you want.
That’s the standard almost everywhere though isn’t it? I’ve always configured the word separators in my editors and terminal emulators. And double/triple click also works everywhere for selecting word/line/block
Wezterm has word boundary config, same for clicks, though not sure about configuring word boundaries per number of clicks (and it has rudimentary support for semantic zones so you can easily select you command instead of the whole line with prompt)
Way back years ago I remember the xterm vs rxvt debates, I tried both and just stuck with xterm. These day you have to change the fonts and a few of the other settings to make it look pretty but it just feels so much faster than all the 'modern' terms that are defaults in distros
Nice to update ~/.Xresources with a bit more sane config. I fixed my xterm background and some colors (background, cursor) in addition.
However, it renders much more slower than kitty in this simple test:
timeout 2 find /
Since that is likely a good use case or test for performance, I don't see further use trying to make xterm usable for me. It's a good terminal, but more modern takes are faster and have more features.
Rant: One annoying feature I always disable though are those cursed hyperlinks. Terminals don't need hyperlinks.
When you are comparing performance to kitty, are they both scrolling line by line (xterm's default), or jumping as with the xterm jumpScroll or fastScroll option?
I've been very happy with using rxvt-unicode with its various add-ons: 1) urxvt-selection: customize the double click selection behavior; 2) urxvt-matcher: hyperlink any text and customize behavior when you click the link (e.g. you can customize any compile error, when click on the filename with line number, open a new tmux tab and open the file at the given line);
For those looking for a minimal VT100 terminal emulator without the legacy baggage of Xterm, I highly recommend checking out Suckless Software’s st: https://st.suckless.org/
Though iirc, if input latency is a concern, I recall st not excelling at that. I think foot is another minimal terminal emulator which promises better latency and performance. I personally use kitty, partly for native Wayland support and partly because GPU offloading seems like a fine idea on a desktop machine. Alacritty is another popular terminal emulator that has GPU acceleration.
St performs differently based on OS. When tested separately, "linux-st" seems to be at least as responsive as Alacritty, while on Mac OS it's the slowest by far:
All that said I currently use Alacritty because benchmarks are not everything and I much prefer Alacritty's font rendering (aside from missing ligature support).
xterm is one of the few terminals that supports titeInhibit functionality to disable the alternate screen at the terminal level. Yes, you can disable it through termcap hacks and application configurations, but it's nice to just set it in one place and have it apply to all the machines I ssh to, etc...
I understand the idea behind the alternate screen, but it really annoys me to have something on the screen (like a man page or editor session) and then have it gone while I'm trying to do my next thing (like type a command based on a man page).
But, I'm addicted to wezterm's keyboard-driven copy&paste and tmux+mosh-like functionality.
Three XTERM features I would have liked to see mentioned would be the Sixel, ReGIS and GIN legacy graphics modes. I just wish they didn't interfere with UTF8 support (and maybe they no longer do?).
I used xterm back in the day and I'm willing to concede that maybe it's gotten better, but the way I remember it is I switched to more capable terminals just as soon as I possibly could.
The way this person describes opening URLs via shell piping and xargs looks insecure to me. There have been exploits around these kinds of things in the past.
This is one thing i don't get. All that old X stuff ... A lot of it is still usable. You can run a similar setup that one might have in the late 90s or early 2000s and it's unobtrusive, fast. I've run fvwm on my workstation for a while now. Was using WindowMaker long past its prime. There's no reason not to.
But boy are there a lot of X haters.