not sure about the last part…..
As for most of us, my daily (work) life consists of using multiple devices and with the addition of CoVid-19 the homeoffice introduced a number more of them. So what are we dealing with here?
I have a PC at work, that runs Windows10, I have a PC at home, that runs Ubuntu, I, until one of their batteries blew up, had two Thinkpads for working remotely both running Ubuntu, one has now been replaced by a M1 MacBook Air. Two tablets, an iPad Air 3 and the JingPad A1 and two phones, an iPhone that I use during work with two sims and a Gigaset GS290 running /e/-OS only with my private sim in it, which I use in my spare time.
Oh, I also own a PinePhone Braveheart edition that I sometimes pull out and play around with, this device shows promise, but just as the JingPad A1 is no where near production ready for me.
No, I didn’t put this list here to brag about how many devices I have, I’d like to have less, but to make sure, that those who read this know, that when I say something bad about any OS, it is not because I have no experience with it, but because I use it, on a somewhat daily basis and somethings frustrate me, with each of them.
My first intention for this post was to make a list of the used ones in terms of usability according to me and to put my favorite (Linux) on top of the list and just rant about the others (no not really), but to be honest each has it’s ups and downs and none is perfect.
As an example take a look at Mac OS on the MacBook Air M1. OSX is based on Unix and puts Windows to shame in terms of stability and so do my Linux machines.
My work PC is a well spected machine running W10 and uses a bluetooth headset for me to use VoIp. Dependably, every day at around 14:30 something in the W10 OS dies and the only way to route Audio to that headset without rebooting the PC during the work day is to keep the settings app in the system audio part open, not minimized, open. My college hast the exact same machine, headset and software stack as I have and never has that issue. Nothing in the logs, just plain old windows strangeness.
My Linux Machines and my MacBook never had anything like that going on and they are not rebooted on a daily basis. And I use more than one audio device on those.
But have you ever tried to do anything with a Mac like changing the system theme? Let me spare you the trouble, Apple won’t allow you to do that. No problem on Linux and some what troublesome on Windows, but yet possible, but not recommended by me, just gives you troubles in the long run.
But then again, Windows has its upsides as well, take Remote Desktop for example, there is nothing on Linux or Mac that comes even close to the perfection in working remotely that is MS Remote Desktop. It does everything, Audio routing, bidirectional, smart cards, printers you name it and all of that much faster than any alternative on the same bandwidth.
And Linux? Well, it is stable, you can customize it to your liking, really make it your own, there is no other OS, that you can tailor to what you need more than Linux, but the second you get mailed an excel file with something libre office can’t stomach you are out of luck, maybe OnlyOffice can do the job, but that has scaling issues, bad ones, and don’t get me started on anything Adobe related. Linux in general is the best operating system out there if you are on a pc, but if you need to work with anyone who is not a Linux and free software user, you are going to have issues, some solvable, some not.
And if you are not on a PC, say a tablet or a phone good luck.
Different story on servers though, is Microsoft still trying? Haven’t heard from them for a while and Apple has given up the Mac Server a while ago….
Coming back to the headline
Something that became more and more clear to me, while using all of these devices was how frustrating it is to have different software stacks and more so to have operating systems that just would not allow you to run software not approved by the manufacturer. (Everything Apple, in case you are wondering).
And even if a program is available on every os, like Firefox for example, it is not the same on every device. Firefox on iOS is just Safari with a different UI style.
If people tell me that one of the biggest issues of Linux is its fragmentation, I have to laugh pretty hard, because, yes, Linux is fragmented, but if you zoom out a bit and take a look at the bigger picture, you will see how good things actually are on linux compared to the mess the rest of the world is. (No, not talking about MS teams again, I have slain that dragon btw….).
I will give you a concrete example here. Thunderbird. No, I know, not available on Android and iOS, but let’s just forget about those toy operating systems and focus on the proper OSes made for grownups, Linux, Mac and Windows. (Alphabetical order, though, funny enough also order of preference).
No offense meant, but please show me how you get the same amount of work done on Android or iOS as I do on either of the other three and I will say that Android or iOS are not just toys, no, using social media is not work.
Thunderbird is available on everyone of them and it works. But it is not the same. Not every add-on works on every OS, for example there is a tool to export your mails and attachments to pdf and the attachments to files. Does not work on OS-X. Add-on to just save the Attachments as Files in a different folder? Works well on Linux, crashes on Windows after reaching a certain file size. Mac? Actually never tried, because I was frustrated already. Why? Because at the time of writing this blog post, I can’t make Thunderbird on my Mac put the signature at the correct position when replying to a mail, although I use the same settings as on Linux and Windows.
So yes, same program on all three of them, but not an equal on all three of them.
Where are we now, fraternité? Not sure devices can be brotherly, but when on the same network, they work together without taking each other down, somewhere in the middle?
Égalité? As I have shown by the example of Thunderbird, devices and OSes are not equal, some don’t get software at all and others don’t get the same functionality.
Liberté? Well, I currently use 5 operating systems, only one of them is truly free, one somewhat and the rest are devices I bought, but someone else is telling me what I am allowed to do with them. So no, not free at all.
In case you are wondering:
- Truly free: Linux
- Somewhat free: /e/-OS
- Not free at all: iOS, MacOS, Windows
So where are we at? I used a headline that is the motto of the french revolution, stating 3 things I told you are not what is currently happening in computing.
Another pointless rant then from a frustrated programmer sitting in his dark cave shouting at the world?
No, not at all.
I recently stated on fosstodon.org (please join, we are a nice bunch of free software enthusiasts) that the window management on Mac was utter chaos and also the full screen mode was shit (and I stand by that) and there is no way to just maximize a window. But I got a reply from @email@example.com that I could also just run X11 applications on the Mac and they would behave correctly.
Use the force Luke
Once I heard that, my brain made a connection it hadn’t made before, if X11 applications could run on OSX, that meant, X-Forwarding in SSH would also work on OSX and that meant, I would be able to get everything that runs on Linux to run on my Mac, the same software version. Turns out, also on Windows thanks to WSL2.
So just as with the french revolution, liberation and equality would come, although being an older idea, in my case the for me long forgotten X-forwarding and in theirs Ancient Greeces and the idea that democracy would not suck….
What exactly are we talking about here?
As some of you might have noticed, what is doing the displaying part in Linux is a program called the X11-Server. And as it turns out it is not called server by accident. X11 was designed in a way that allows the graphical output to be routed to a different machine than it is run on, thus displaying the UI of a program on a client machine while the core runs on a host. You know, a server.
Naturally I went and gave my new theory a try and yes, it works!
The force, or in this case, free software, helped me liberate a couple of devices. But free software really is the equivalent of the force, or magic if you are more the Harry Potter crowd, in our time, so, am I a Jedi now?
So what is really needed here?
No, you don’t need to be a Jedi, but:
First a Linux distribution of your choice as an application host, I went with Ubuntu 20.04 LTS
Second open-ssh in my case installed via: sudo apt install openssh-server
Third a package called xauth, pre-installed on my system
Fourth in “/etc/ssh/sshd_config” the line with “X11Forwading yes” must be enabled (no # in front of it)
If you needed to enable that restart you ssh server!
On a current Linux guest you now are done, just open up a terminal, rund “ssh -X user@IPAdress” and once connected enter the name of the application you want to run. It will open with a little delay on your client.
If you are on a Mac, head to quartz.org and download and install the application. Afterwards you need to re-login, but I recommend rebooting, adding a new display server to your system does a lot and I am from the point in time where adding a printer to you system was hard work, so….
Anyway open the XQuartz program on you machine and then ssh into the remote server using the same command as above and launch your applications.
On windows, as soon as you got WSL2 working ssh-ing into the remote machine and running the program should work the same as on Linux, since you are basically just running a fancy VM.
Where we are at
We are at Égalité, that’s where we are at!
Somewhat at least. Using X-Forwarding just removes the issues of having different versions of applications on different operating systems, because in the back end you are just using one OS and that serves the same application to you clients. As long as that OS in the back end is Linux of course.
But for me, that is not an issue, Linux is my main OS, it has everything I need to get my work done and I only got the Mac for its batterylife and by using X Forwarding on the Mac, I skipped past setting everything up I need to work, instead, I just added a wireguard config for vpn, ssh into my main pc an use whatever application I installed there, just displayed on the Mac while on the move.
So, no downsides you ask? Sadly there are, Linux to Linux this is as fast as a Bugatti Chiron with the gas pedal pushed to the metal, but on OS-X there is a certain delay when using firefox, not on stuff like gedit and thunderbird though, which I don’t just get yet, but will investigate further. But I have a theory, the later ones are just GUI with little to none external content, while firefox mainly is external content (aka websites) pushed through the ssh connection. Not sure why it is faster on a linux client though. But this might also be related to the MacBook Air being an Arm based machine and Rosetta2 (the compatibility layer between x86 and Arm) doing a poor job here.
But what about the other OSes you use????
Well, as far as I can tell at this point there is a X11 Server for iOS called Mocha X11, I used the light version that is limited to 5 Minutes per session, but honestly, if the paid version isn’t any faster it is not worth your money, I spent the better part of my 5 minutes waiting for gedit to start, passing any characters to it took its time and it is nowhere near to the Linux or Mac speeds. Launching Firefox is a hopeless endeavour, once it launches, you have little to no time to enter an url and if you are lucky it will load prior to your 5 minutes being over. You are most likely better off rdp-ing into a windows machine and then ssh-ing into a linux box to run X11 applications on you iOS device than trying this.
And Android you ask? (/e/-OS is Android just without the google spyware). I didn’t get it to work there at all, although Android is just Linux with a
little lot less freedom, maybe or more likely something I have done wrong or it might be related to /e/-OS not using Goole Apps in the back, but a no go for me so far.
Why then this post?? You did not achieve anything at all!!!!!!
Did I? I ran gedit on a Mac and an iPad, not super fast, but I did, Thunderbird was on native speed on the Mac, but it was the Linux version and every Add-On worked. Having a full Firefox on the iPad, although slow, beats Safari and the iOS version of Firefox and also shows, that you can run just about program on that thing, even if Apple tries to lock it down.
And, might I point your attention to the first part of this post? “Oh, I also own a PinePhone Braveheart edition that I sometimes pull out and play around with, this device shows promise, but just as the JingPad A1 is no where near production ready for me.”
Why is that might you ask. Well because there is a lot of software that does not run on ARM based linux yet, but does run on x86 Linux. And guess what, X-Forwarding takes care of that problem really well. Attach a monitor and keyboard to you PinePhone and ssh into an Ubuntu VM and you can run anything on that little phone, just as if you where sitting in front of a PC, there are no limitations anymore.
This is what Apple and Google promised to us in the beginning, a computer you can fit into your pocket, just that this time, what you are carrying around with you is not a receiver for ads, but a terminal connected to your machine that, at your command, can do what ever your actual PC can do without any limitations.
This eliminates just about everything, why host a file in a cloud, if you can just remotely launch your file browser, why use webmail, if thunderbird is everywhere you are, why use sync services for your browser, if every browser you use is the same one?
This, at the current time, is just a very enthusiastic post of someone who rediscovered a technology that has been around for ages but for the first time considered its potential.
I set up an application server for me this weekend and installed all the things I need, for the next couple of weeks, I will try to run everything through that machine and see where it goes.
But it sure has the potential to free all devices and make them equal, still not sure about the brotherly part….