{"id":10682,"date":"2025-05-19T03:00:00","date_gmt":"2025-05-19T07:00:00","guid":{"rendered":"https:\/\/www.both.org\/?p=10682"},"modified":"2025-05-18T19:27:54","modified_gmt":"2025-05-18T23:27:54","slug":"a-brief-history-of-the-linux-desktop","status":"publish","type":"post","link":"https:\/\/www.both.org\/?p=10682","title":{"rendered":"A brief history of the Linux desktop"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"10682\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div>\n<p class=\"wp-block-paragraph\">I first discovered Linux in 1993 when I was an undergraduate student. I \u201cgrew up\u201d on DOS, and the Unix systems in our campus computer lab were both familiar (because of the command line interface) and more powerful (multitasking and more tools). I wanted something similar for my computer at home, and eventually found this \u201cLinux\u201d operating system, which was just like the \u201cBig Unix\u201d systems on campus, but it included source code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the early days, people often copied a working Linux system from someone else. In 1992, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Softlanding_Linux_System\">Softlanding Linux System<\/a> (SLS) was the first Linux <em>distribution<\/em>. It installed the operating system as <em>packages<\/em> so you could choose what packages and package groups you wanted to install. I installed SLS 1.03 in May 1993.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Back then, Linux needed only 2 MB of memory to boot up and use the command line, or 4 MB if you wanted to compile programs. If you wanted to run the X Window System, you needed 8 MB of memory. That meant my \u2019386 computer had <em>just<\/em> enough memory to run Linux with X.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like many people in the 1990s, I ran Linux in a \u201cdual boot\u201d configuration, so I could use a boot menu to selectively start up my computer with either Linux or DOS (or later, Windows 95) By the time Windows 98 came out in 1998, I didn\u2019t need Windows anymore, and I went \u201call in\u201d with Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since that first experiment with Linux, I have used Linux on my desktop. That\u2019s 32 years since I first installed Linux, and 27 years running Linux exclusively. I\u2019ve watched Linux \u201cgrow up\u201d over the years, especially with the graphical desktops. Let\u2019s look back on a <em>brief history<\/em> of the Linux desktop:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"x-and-window-managers\">X and window managers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first graphical environments for Linux weren\u2019t really <em>desktop<\/em> systems. Instead, you ran the X Window System with a <em>window manager<\/em> on top of it. X provided the basic components for a graphical user interface, such as using the mouse, and the window manager actually <em>managed<\/em> the different program windows that ran inside X.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <em>de facto<\/em> window manager in 1993 was TWM, which dates back to 1998. TWM was quite simple and provided basic window management, but it did the job, and matched the TWM system running on the SunOS systems in our campus computer lab:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/twm.webp\" alt=\"TWM running on SLS 1.05, showing xterm, xclock, and emacs\" class=\"wp-image-10694\"\/><figcaption class=\"wp-element-caption\">TWM running on SLS 1.05, showing xterm, xclock, and emacs<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Another early window manager was the Open Look Virtual Window Manager (OLVWM). Developed by Sun Microsystems, Open Look was also ported to other Unix-like systems. And as a <em>virtual<\/em> window manager, OLVWM supported multiple <em>work spaces<\/em>. That meant you could use one work space for your terminal and editor so you could write and compile programs, another work space for your email, and so on.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/olvwm.webp\" alt=\"OLVMW running on SLS 1.05, showing xterm and the work space selector\" class=\"wp-image-10693\"\/><figcaption class=\"wp-element-caption\">OLVMW running on SLS 1.05, showing xterm and the work space selector<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As Linux grew in popularity, others created new window managers that improved the \u201cdesktop\u201d experience. One of these early Linux window managers was FVWM, which also supported virtual work spaces. FVWM also had a more modern look than TWM or OLVWM, and initially looked like the Common Desktop Environment with the Motif widgets from \u201cBig Unix\u201d systems:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/fvwm.webp\" alt=\"FVWM running on SLS 1.05, showing xterm and a file manager\" class=\"wp-image-10684\"\/><figcaption class=\"wp-element-caption\">FVWM running on SLS 1.05, showing xterm and a file manager<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Modern Linux users might think that these early desktops are quite plain, but it\u2019s important to remember they were similar to other graphical environments of the day. Until 1995, Windows had a similar interface. Windows used simple window controls, and used a <em>program manager<\/em> to launch new applications:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/win311.webp\" alt=\"Windows 3.11 showing the Program Manager and Notepad editor\" class=\"wp-image-10696\"\/><figcaption class=\"wp-element-caption\">Windows 3.11 showing the Program Manager and Notepad editor<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In August 1995, Microsoft released Windows 95 and changed the desktop interface, at least on PC. I didn\u2019t like Windows 3, but I thought Windows 95 was okay. And most importantly, Windows 95 was a proper <em>desktop<\/em> system\u2014and you could even put <em>icons on the desktop<\/em>. That seems like a small thing now, but it was a big deal at the time:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/win95.webp\" alt=\"Windows 95 showing the desktop and Notepad editor\" class=\"wp-image-10695\"\/><figcaption class=\"wp-element-caption\">Windows 95 showing the desktop and Notepad editor<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The Windows 95 interface was much easier to use than previous versions of Windows, and even other Linux window managers. Not to be outdone, Linux developers updated the FVWM window manager to mimic the Windows 95 interface. FVWM95 wasn\u2019t a <em>desktop<\/em> but it looked like one, including a version of the \u201cStart\u201d menu and a task bar that showed the programs you were running:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/fvwm95.webp\" alt=\"FVWM95 on the original Red Hat Linux 5.2\" class=\"wp-image-10685\"\/><figcaption class=\"wp-element-caption\">My version of FVWM95 has some graphical hiccups now, but it worked fine on the original Red Hat Linux 5.2<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">FVWM95 and other window managers were improving, but none were really an integrated desktop. Linux applications that used a graphical user interface under X might use different \u201cgraphical tool kits\u201d so might look and operate completely differently to each other. And you couldn\u2019t copy and paste between applications, except with the plain text \u201ccopy\/paste\u201d feature provided by the underlying X Window System. What Linux really needed was a do-over with an integrated desktop environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-first-linux-desktop\">The first Linux desktop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In 1996, Matthias Ettrich wanted to have an easy-to-use desktop for Linux. And more importantly, he wanted to make everything <em>integrated<\/em> like a proper desktop environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that\u2019s how the K Desktop Environment got started. The <strong>K<\/strong> is for \u201cKool,\u201d but the \u201cKDE\u201d name was also meant to be a play on the Common Desktop Environment (CDE) name. Finalized in July 1998, KDE 1.0 was a big step forward for Linux on the desktop:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"499\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/kde1.webp\" alt=\"K Desktop Environment (KDE) version 1.0\" class=\"wp-image-10689\"\/><figcaption class=\"wp-element-caption\">K Desktop Environment (KDE) version 1.0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, Linux had a true desktop with application integration and more modern desktop icons. KDE\u2019s design was not dissimilar from Windows 95. You had a kind-of task bar along the bottom of the screen that provided the equivalent of Windows 95\u2019s Start menu as well as several application shortcuts. KDE also supported virtual desktops, which were cleverly labeled One, Two, Three, and Four. Running applications were represented via buttons in a separate task bar at the top of the screen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately, not everyone was happy with KDE. To abstract the GUI from the system, KDE used Trolltech\u2019s Qt toolkit library. Trolltech allowed Qt to be used at no charge in free software applications but charged a fee to use it in commercial or proprietary applications. And that was not aligned with the Free Software movement. This caused problems for some Linux distributions: should they include KDE, or default to an older but all-free-software graphical interface?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In response, Miguel de Icaza and Federico Mena started work in 1997 on a new Linux desktop. The new project was dubbed GNOME, for GNU Network Object Model Environment. GNOME aimed to be completely Free Software and used a different toolkit, called GTK, from the GIMP image editor. GTK literally stood for GIMP Tool Kit. When GNOME 1.0 was finally released in 1999, Linux had another modern desktop environment.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"522\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/gnome1.webp\" alt=\"GNOME version 1.0\" class=\"wp-image-10686\"\/><figcaption class=\"wp-element-caption\">GNOME version 1.0<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The \u201cKDE versus GNOME\u201d rivalry continued for some time, focused around Free Software issues with the Qt license. By 1999, Trolltech re-released the Qt library under a new public license, the Q Public License (QPL). But the new license carried its own baggage: the QPL only applied to Qt\u2019s use in open source software projects, not commercial projects. This meant the QPL was not compatible with the GNU General Public License (GNU GPL). This licensing issue would remain until Trolltech re-re-released the Qt library under the GNU GPL version 2 in 2000.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-linux-desktop-grows-up\">The Linux desktop grows up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After that, the Linux desktop continued to mature. And while other desktop environments appeared, GNOME and KDE got most of the attention.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Over time, both KDE and GNOME had made significant strides, yet brought only incremental changes to the user interface. For example, KDE 2 and 3 continued to rely on a task bar concept at the bottom of the screen but incorporated the buttons for running applications. One of KDE\u2019s most visible changes was the addition of the Konqueror browser, which first appeared in KDE 2.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/kde2.webp\" alt=\"KDE 2.2.2 (2001) showing the Konqueror browser\" class=\"wp-image-10690\"\/><figcaption class=\"wp-element-caption\">KDE 2.2.2 (2001) showing the Konqueror browser<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/kde3.png\" alt=\"KDE 3.2.2 (2004) on Fedora Core 2 showing the Konqueror file manager, using a Fedora Core 2 theme\" class=\"wp-image-10691\"\/><figcaption class=\"wp-element-caption\">KDE 3.2.2 (2004) on Fedora Core 2 showing the Konqueror file manager, using a Fedora Core 2 theme<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">GNOME 2 also used a task bar concept but split the bar into two: a task bar at the top of the screen to launch applications and respond to desktop alerts, and a task bar at the bottom of the page to show running applications. I liked to refer to the two task bars as \u201cthings you can do\u201d (top) and \u201cthings are you doing\u201d (bottom). In addition to the streamlined user interface, GNOME also added an updated file manager called Nautilus, developed by Eazel.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/gnome2.png\" alt=\"GNOME 2.6.0 (2004) on Fedora Core 2 showing the Nautilus file manager, using a Fedora Core 2 theme\" class=\"wp-image-10687\"\/><figcaption class=\"wp-element-caption\">GNOME 2.6.0 (2004) on Fedora Core 2 showing the Nautilus file manager, using a Fedora Core 2 theme<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Over time, KDE and GNOME have taken different paths. Both provide a feature-rich, robust, and modern desktop environment, but with different user interface goals. KDE 4.6 (January 2011) and KDE 4.7 (July 2011) provided a more traditional desktop metaphor and continued to rely on the task bar concept. But GNOME 3 (2011) completely changed gears with a new desktop concept. GNOME 3 aimed to create a simpler, more streamlined desktop experience, removing the task bar entirely in favor of an \u201cActivities\u201d overview that showed all open applications as separate windows.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/05\/kde4.webp\" alt=\"KDE 4.6 showing the Gwenview image viewer\" class=\"wp-image-10692\"\/><figcaption class=\"wp-element-caption\">KDE 4.6 showing the Gwenview image viewer<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"linux-on-the-desktops\">Linux on the desktop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Having your choice of desktop environments means users can pick the environment that meets their needs. While Linux has other desktop systems to use, the two most popular Linux desktops today are KDE and GNOME. Their current versions are both very mature and packed with features. Both KDE and GNOME try to simplify and streamline the Linux desktop experience, but in different ways.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GNOME continues to aim for a minimal appearance, removing all distracting user interface elements so users can focus on their work. KDE takes a more familiar approach with the task bar, adding other visual improvements around improved widget handling and icons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the same time, you don\u2019t completely lose out on compatibility. Every major Linux distribution provides compatibility libraries, so you can run applications from, say, KDE while running GNOME. This is immensely useful when an application you really want to use is written for the other desktop environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I don\u2019t see this changing anytime soon. And I think that\u2019s a good thing. No matter what desktop you use, you have a modern desktop with great integration. And above all, this means Linux has the best feature in free software: choice.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Image credits:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GNOME 1.0 &#8211; <em>Red Hat Software<\/em><\/li>\n\n\n\n<li>GNOME 3.0 &#8211; <em>with permission from GNOME<\/em> (2019)<\/li>\n\n\n\n<li>KDE 1.0, KDE 2.2.2, KDE 4.6 &#8211; <em>with permission from KDE<\/em> (2019)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Let\u2019s look back on a brief history of the Linux desktop.<\/p>\n","protected":false},"author":33,"featured_media":10692,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[106,5],"tags":[316,91],"class_list":["post-10682","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-history","category-linux","tag-history","tag-linux"],"modified_by":"Jim Hall","_links":{"self":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/10682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10682"}],"version-history":[{"count":2,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/10682\/revisions"}],"predecessor-version":[{"id":10697,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/10682\/revisions\/10697"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/media\/10692"}],"wp:attachment":[{"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}