Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2020-03

The Problem with the Linux Desktop

14 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Anthony Walter

On Linux ...

I was looking at the Unity tray icon code I submitted a while back and it had stopped working on my desktop environment. I was also looking for a way to track user log off events, monitor clipboard history, and how to register a global hot key.

The sheer scattering of different systems, libraries, and what not that I needed to search through to find solutions which are typically as simple as a single function on a single document site with Windows prompted me to write this brief diatribe:

The Problem with the Linux Desktop
<https://www.getlazarus.org/linux-vs-windows/>

<https://www.getlazarus.org/linux-vs-windows/>
I also posted that page to the r/linux
<https://www.reddit.com/r/linux/comments/fpt3ib/the_problem_with_the_linux_desktop/?>, and am likely to get down voted there, but if anyone wants to chime in, feel free. It might make use both feel better.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200327/b7ea00ac/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote 6 lines
On Linux ... I was looking at the Unity tray icon code I submitted a while back and it had stopped working on my desktop environment. I was also looking for a way to track user log off events, monitor clipboard history, and how to register a global hot key.

Haha :-)

This is an age-old discussion. Echo of the late 90-ies last century.

You're reasoning windows centric, where everything is centrally controlled. (same for Mac) This gives a certain amount of stability, but you are at the mercy of the controlling instance.

You will therefor always be disappointed when using linux desktop, which is about liberty, choice and variety, and which lacks this stability or unity.

The latter implies that when developing, you are also forced to make a choice;
what platforms to support and what not. Gnome, KDE, XFDE etc.

If you don't like that, stay away from Linux desktop.

Michael.

Reply by email

Marco van de Voort
to Michael Van Canneyt

Op 2020-03-27 om 09:27 schreef Michael Van Canneyt via lazarus:

Show quoted text 14 lines
This is an age-old discussion. Echo of the late 90-ies last century. You're reasoning windows centric, where everything is centrally controlled. (same for Mac) This gives a certain amount of stability, but you are at the mercy of the controlling instance. You will therefor always be disappointed when using linux desktop, which is about liberty, choice and variety, and which lacks this stability or unity.

If you have rose coloured glasses, maybe.  Linux desktop is a proving and experimentation ground for those same big companies that mainly care for linux as a server. They also govern a lot of the direction, by simply shifting manpower.

Their touch is less prominent, but so is their commitment, as you've noticed.  Moreover they don't really cultivate an eco system for other programmers as much as e.g. Microsoft does.

The latter implies that when developing, you are also forced to make a choice; what platforms to support and what not. Gnome, KDE, XFDE etc.

And preferably deliver the platform of your choice with your application.  The model to download applications and install on a random distro+version simply doesn't exist on Linux.

If you don't like that, stay away from Linux desktop.

While I largely agree, this reply simply assumes that the culture of laisez faire and low backwards compatibility is an universal open source trait. While that is a common link, I'm not so far as to say it is mandatory thing.

Reply by email

Anthony Walter
to Michael Van Canneyt: Haha :-) This is an age-old discussion. Echo of the late 90-ies last century. You're…

Michael,

I've been using the Linux desktop as my primary OS since 2006. I had dabbled in in before, but typically went back to windows when my networking had troubles.

That said, I want Linux to be better. Yes I understand your points, but please understand even when you choose an environment like Gnome vs KDE, even they break things or don't provide all the tools you need. that is the frustrating part, when an environment either breaks something like tray icons or provides little to no assistance in completing some requirement, such as hit testing a window for transparent pixels, or registering a global hotkey.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200327/80926d98/attachment.html>

Reply by email

Michael Van Canneyt
to Marco van de Voort: Op 2020-03-27 om 09:27 schreef Michael Van Canneyt via lazarus: If you have rose coloured…
Marco van de Voort wrote 7 lines
> > If you don't like that, stay away from Linux desktop. > While I largely agree, this reply simply assumes that the culture of laisez faire and low backwards compatibility is an universal open source trait. While that is a common link, I'm not so far as to say it is mandatory thing.

I didn't mean to imply such a conclusion.

I just observe it and think it is simply a fact.
If it hasn't changed in 20+ years, I doubt it ever will.

Whether this fact is good or bad is a personal appreciation.

I can only repeat: if you don't like it, stay away. No sense in getting frustrated.

Michael.

Reply by email

Michael Van Canneyt
to Anthony Walter: I've been using the Linux desktop as my primary OS since 2006. I had dabbled in in…
Anthony Walter wrote 13 lines
Michael, I've been using the Linux desktop as my primary OS since 2006. I had dabbled in in before, but typically went back to windows when my networking had troubles. That said, I want Linux to be better. Yes I understand your points, but please understand even when you choose an environment like Gnome vs KDE, even they break things or don't provide all the tools you need. that is the frustrating part, when an environment either breaks something like tray icons or provides little to no assistance in completing some requirement, such as hit testing a window for transparent pixels, or registering a global hotkey.

I understand it is frustrating, and I'm not trying to minimize this.

But I see it as an inescapable consequence of not having central "management".

If you want Linux to be better:
In order for the linux desktop to become better, I think the only approach is to have a strictly centralized "management".

As I see it, the linux kernel has such strict management (or at least stricter), and it thrives.

The first thing this strict management should enforce is: backwards compatibility must be high in the list of standards to adhere to.

A reasonably vanilla application built on Windows 95 will still run today. I doubt many linux applications built in - say - 1997 will pass that test.

The whole delphi VCL counts on this backwards compatibility. In an Apple world, embarcadero would have bancrupted quickly, I suppose :(

In this sense, Lazarus does a good job: it provides this backwards compatibility across platforms, if you stick to the LCL.

I open a lot of projects from 10 years ago for the upcoming Lazarus book: they still compile and work :-)

Michael.

Reply by email

Marco van de Voort
to Michael Van Canneyt: I didn't mean to imply such a conclusion. I just observe it and think it is simply a fact.

Op 2020-03-27 om 10:52 schreef Michael Van Canneyt via lazarus:

Show quoted text 5 lines
I didn't mean to imply such a conclusion. I just observe it and think it is simply a fact. If it hasn't changed in 20+ years, I doubt it ever will.

Good, then we agree, and I wouldn't hold my breath while waiting this to change either :-)

With the only remark that delivering some old stable with KDE/QT for 5 year intervals and then workaround as many know issues in your app is maybe a doable workaround (it was 10 years ago, not sure about now). But even then the result is subpar compared to Windows.

Reply by email

Juha Manninen
to Anthony Walter: On Linux ... I was looking at the Unity tray icon code I submitted a while back and it…

On Fri, Mar 27, 2020 at 10:09 AM Anthony Walter via lazarus <

Show quoted text 5 lines
wrote: I was looking at the Unity tray icon code I submitted a while back and it had stopped working on my desktop environment.

David Bannon, forum name dbannon, made a version for GTK3 based on your work. You may know that already but anyway...
Maybe you can join forces for a solution that works on many desktops. It requires maintenance yes, but Linux desktops have some standards. The situation is not completely hopeless.

Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200327/7460964e/attachment.html>

Reply by email

Anthony Walter
to Juha Manninen

Juha,

I saw someone had had modifications and unfortunately it caused the appindicator to stop working on my desktop. I rolled back the version to my last check in and it worked again. I also found that on the Cinnamon desktop you can add a systray applet and the old Gtk2 style tray icons work, albeit in a separate applet contain in your panel.

I have a few projects I am working on in addition to my tutoring of kids. I want to work on the Lazarus Gtk3 widgset and get it working enough to compile and run Lazarus with it. I have soem changes to it already that made some stuff work a lot better, but I haven't worked on the Gtk3 widgetset for about 8 months. When I do I try to coordinate with David.

Thanks, Anthony.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200327/4bc2c315/attachment.html>

Reply by email

Sven Barth
to leledumbo

leledumbo via lazarus schrieb am So., 29.
März 2020, 05:48:

Show quoted text 7 lines
> The model to download applications and install on a random distro+version simply doesn't exist on Linux. Snap, AppImage, Flatpak are purposely targeting this. It's partially successful, but as with many things in Linux, they're competing instead of working together.

And if there's a security problem in one of the used libraries you need to update all these containers instead of just updating the library - if the provider of the container even provides an updated container. Yay. Not. -.-

Regards,
Sven

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200329/d8647cac/attachment.html>

Reply by email

Anthony Walter
to Teresa Williams: An HTML attachment was scrubbed... URL: <http://lists.lazarus-ide.org/pipermail/lazarus/at…

Teresa, thank you for your considered opinion.

I agree with most of what you said, but with regards to the option of moving back to Windows, for me that is a non starter. I don't use Linux rather than Window because of some technical benefit. The primary reason I use Linux because I don't want to worry around my privacy being compromised, either from malware or viruses which are a big problem with Windows or from software vendors themselves be it Microsoft telemetry or other spying features that now a days so commonly bundled with 1st, 2nd, and 3rd part software on Windows. These problems are pretty much non existent on Linux.

I also value the efficiency of Linux. I have all processing speed and file system the room I need on a 2008 Core2Duo, 4GB or RAM, and a 60GB SSD using Linux, even with the newest distros. On the latest Windows 10, not so much. Just getting the OS installed is about 30GB. And yes this is a big deal for me because I always have 10 or more of these laptops on hand and use them to teach my students basic computers usage, online safety, and programming. Even if I wasn't using these machine for teaching, they still make for great everyday computers when running Linux. Using them with the most recent Windows, not so much.

My complaints, as you expanded upon, center mostly around the fractured nature of the Linux desktop ecosystem. Even popular distros such as Ubuntu break things from release to release. Windows seems to always try to protect that backward compatibility, at least since they made the move to a true 32 bit OS. Of course with Windows upgrades some hardware is no longer supported (I can't use the Canon photo capture system on other than XP), but most of the time everything still works.

Thanks again for your considerate thoughts.
Anthony
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200329/341e91b4/attachment.html>

Reply by email

Kostas Michalopoulos
to Anthony Walter

IMO the problem of Linux desktop (or at least "a" problem) is the lack of backwards compatibility for pretty much anything above the X server (and now with Wayland some people want to compromise that too). If you stick with the X libraries, the C library (glibc is generally very good when it comes to backwards compatibility and one of the very few userland projects that do so) and kernel interfaces, you can have many years of stability. As an example check this screenshot:

https://i.imgur.com/YxGNB7h.png

This shows binaries from a GUI toolkit i wrote some time ago in C that only uses the Xlib (it can also optionally use Xft but it isn't required). The binaries were compiled in a (32bit, of course) RedHat Linux distribution from 1997 and worked just fine in a 64bit Debian distribution from 2018 showing more than two decades of binary backwards compatibility. Note that those binaries were *not* statically linked (which is what some suggest as a "solution") - they linked against the system provided C and X libraries.

But that is by only relying on X and C. Anything above that has the long term stability prospect of a sandcastle during a thunderstorm.

You can see that clearly with Lazarus' backends: the Gtk2 backend became stable long after the Gtk1 library was obsolete and the Gtk3 backend is still not capable to use the IDE itself when most Gtk development is already on Gtk4. Back in late 2000s, the Gtk1 backend used to be very stable and the Win32 backend used to be quite buggy but nowadays the Win32 backend is by far the most stable because over the years there wasn't any need to throw away all the work that was done since the Windows API is always backwards compatible whereas the Gtk library drops compatibility every major version.

The only big toolkit i can think of that remained stable over the years is Motif, but i think this is largely due to it not receiving any major updates. Well, Tk is probably also ABI stable, but i'm not sure if it is possible to use it without Tcl (Python bundles both just to access Tk).

It might be interesting to see if a backend for any of those can be made since they are likely to exist and be updated for the foreseeable future.

On Sun, Mar 29, 2020 at 11:41 AM Anthony Walter via lazarus <

Show quoted text 42 lines
wrote: Teresa, thank you for your considered opinion. I agree with most of what you said, but with regards to the option of moving back to Windows, for me that is a non starter. I don't use Linux rather than Window because of some technical benefit. The primary reason I use Linux because I don't want to worry around my privacy being compromised, either from malware or viruses which are a big problem with Windows or from software vendors themselves be it Microsoft telemetry or other spying features that now a days so commonly bundled with 1st, 2nd, and 3rd part software on Windows. These problems are pretty much non existent on Linux. I also value the efficiency of Linux. I have all processing speed and file system the room I need on a 2008 Core2Duo, 4GB or RAM, and a 60GB SSD using Linux, even with the newest distros. On the latest Windows 10, not so much. Just getting the OS installed is about 30GB. And yes this is a big deal for me because I always have 10 or more of these laptops on hand and use them to teach my students basic computers usage, online safety, and programming. Even if I wasn't using these machine for teaching, they still make for great everyday computers when running Linux. Using them with the most recent Windows, not so much. My complaints, as you expanded upon, center mostly around the fractured nature of the Linux desktop ecosystem. Even popular distros such as Ubuntu break things from release to release. Windows seems to always try to protect that backward compatibility, at least since they made the move to a true 32 bit OS. Of course with Windows upgrades some hardware is no longer supported (I can't use the Canon photo capture system on other than XP), but most of the time everything still works. Thanks again for your considerate thoughts. Anthony -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200331/624d4581/attachment-0001.html>

Reply by email