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.
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.