git: 4d1de1c724 - main - Upgrade X11 and desktop chapters in the Handbook

From: Sergio Carlavilla Delgado <carlavilla_at_FreeBSD.org>
Date: Mon, 13 Feb 2023 19:50:07 UTC
The branch main has been updated by carlavilla:

URL: https://cgit.FreeBSD.org/doc/commit/?id=4d1de1c7246d147e1c428b542350695b8fedf84e

commit 4d1de1c7246d147e1c428b542350695b8fedf84e
Author:     Sergio Carlavilla Delgado <carlavilla@FreeBSD.org>
AuthorDate: 2023-02-13 19:40:50 +0000
Commit:     Sergio Carlavilla Delgado <carlavilla@FreeBSD.org>
CommitDate: 2023-02-13 19:40:50 +0000

    Upgrade X11 and desktop chapters in the Handbook
    
    Changes in X11:
    * Rewrite the chapter to reflect the current status of the graphics in FreeBSD
    * Remove old references to *really* old Intel drivers, old configurations, compiz, etc.
    * Move desktop environments instructions to Desktop Environments chapter
      right now desktop environments like KDE Plasma or GNOME are not tied to X11 since
      support also Wayland
    
    Changes in Desktop:
    * Upgrade instructions to install KDE Plasma, GNOME and XFCE
    * Add instructions to install MATE, Cinnamon and LXQT
    * Upgrade Firefox and Chromium sections
    * Add Iridium, Falkon, Epiphany, qutebrowser and Dillo
    * Add a new section with development tools: VS Code, Qt Creator, Vim,
      etc.
    * Upgrade Desktop office productivity section
    * Upgrade Document Viewers section
    * Upgrade Finance section
    
    Reviewed by:            arrowd@, jrm@, karels@, manu@, fernape@
    Differential Revision:  https://reviews.freebsd.org/D38143
---
 .../content/en/books/handbook/desktop/_index.adoc  | 1169 ++++++++++-----
 .../content/en/books/handbook/x11/_index.adoc      | 1553 +++++---------------
 2 files changed, 1205 insertions(+), 1517 deletions(-)

diff --git a/documentation/content/en/books/handbook/desktop/_index.adoc b/documentation/content/en/books/handbook/desktop/_index.adoc
index 09b108ac25..9f44263803 100644
--- a/documentation/content/en/books/handbook/desktop/_index.adoc
+++ b/documentation/content/en/books/handbook/desktop/_index.adoc
@@ -1,10 +1,10 @@
 ---
-title: Chapter 7. Desktop Applications
+title: Chapter 7. Desktop Environments
 part: Part II. Common Tasks
 prev: books/handbook/partii
 next: books/handbook/multimedia
-description: This chapter demonstrates how to install numerous desktop applications, including web browsers, productivity software, document viewers, and financial software
-tags: ["desktop", "browsers", "firefox", "chromium", "productivity", "calligra", "AbiWord", "LibreOffice", "GIMP", "Xpdf", "gv", "Geeqie", "ePDFView", "okular", "Finance", "GnuCash", "Gnumeric", "KMyMoney"]
+description: This chapter demonstrates how to install numerous desktop environments, including web browsers, productivity software, document viewers, and financial software
+tags: ["desktop", "KDE Plasma", "GNOME", "XFCE", "MATE", "Cinnamon", "LXQT", "browsers", "Firefox", "Chromium", "Iridium", "Falkon", "Konqueror", "Epiphany", "qutebrowser", "Dillo", "Links", "w3m", "Development tools", "Visual Studio Code", "Qt Creator", "Kdevelop", "Eclipse IDE", "Vim", "Neovim", "GNU Emacs", "Productivity", "LibreOffice", "Calligra", "AbiWord", "Viewers", "Okular", "Evince", "ePDFView", "Xpdf", "Finance", "KMyMoney", "GnuCash"]
 showBookMenu: true
 weight: 10
 path: "/books/handbook/"
@@ -12,7 +12,7 @@ aliases: ["/en/books/handbook/desktop-browsers/","/en/books/handbook/desktop-pro
 ---
 
 [[desktop]]
-= Desktop Applications
+= Desktop Environments
 :doctype: book
 :toc: macro
 :toclevels: 1
@@ -52,570 +52,1066 @@ endif::[]
 [[desktop-synopsis]]
 == Synopsis
 
-While FreeBSD is popular as a server for its performance and stability, it is also suited for day-to-day use as a desktop.
-With over {numports} applications available as FreeBSD packages or ports, it is easy to build a customized desktop that runs a wide variety of desktop applications.
-This chapter demonstrates how to install numerous desktop applications, including web browsers, productivity software, document viewers, and financial software.
+While FreeBSD is popular as a server for its performance and stability, it is also well suited for day-to-day use as a desktop.
+With over {numports} applications available in the FreeBSD ports tree, it is straightforward to build a customized desktop that can run a wide variety of desktop applications.
+This chapter demonstrates how to install popular desktop environments as well as desktop application such as web browsers, productivity software, document viewers, and financial software.
 
-[NOTE]
+Prerequisites:
+
+* Readers of this chapter should already understand how to either install either the crossref:x11[x11,X Window System] or crossref:wayland[wayland,Wayland] on FreeBSD.
+* Readers are instructed throughout this chapter to install official packages. Refer to the section on crossref:ports[ports-using,using the ports collection] to build customized packages from ports.
+
+[[desktop-environments]]
+== Desktop Environments
+
+This section describes how to install and configure some popular desktop environments on a FreeBSD system.
+A desktop environment can range from a simple window manager to a complete suite of desktop applications.
+
+.Supported desktop environments
+[options="header", cols="1,1,1"]
+|===
+| Name | License | Package
+
+| KDE Plasma
+| GPL 2.0 or later
+| x11/kde5
+
+| GNOME
+| GPL 2.0 or later
+| x11/gnome
+
+| XFCE
+| GPL, LGPL, BSD
+| x11-wm/xfce4
+
+| MATE
+| GPL 2.0, LGPL 2.0
+| x11/mate
+
+| Cinnamon
+| GPL 2.0 or later
+| x11/cinnamon
+
+| LXQT
+| GPL, LGPL
+| x11-wm/lxqt
+
+|===
+
+[[kde-environment]]
+=== KDE Plasma
+
+KDE Plasma is an easy-to-use desktop environment.
+This desktop provides a suite of applications with a consistent look and feel, a standardized menu and toolbars, keybindings, color-schemes, internationalization, and a centralized, dialog-driven desktop configuration.
+More information on KDE can be found at the link:https://kde.org/[KDE homepage].
+For FreeBSD-specific information, consult the link:https://freebsd.kde.org/[FreeBSD homepage at KDE].
+
+[[kde-meta-install]]
+==== Install KDE Plasma meta package
+
+To install the KDE Plasma meta package with KDE Frameworks, Plasma Desktop and Applications execute:
+
+[source,shell]
+....
+# pkg install kde5
+....
+
+[[kde-minimal-install]]
+==== Minimal KDE Plasma installation
+
+To install a minimal KDE Plasma execute:
+
+[source,shell]
+....
+# pkg install plasma5-plasma
+....
+
+[TIP]
 ====
-Users who prefer to install a pre-built desktop version of FreeBSD rather than configuring one from scratch should refer to https://ghostbsd.org[GhostBSD], https://www.midnightbsd.org[MidnightBSD] or https://nomadbsd.org[NomadBSD].
+This is installation is *really* minimal.
+Konsole must be installed separately executing:
+
+[source,shell]
+....
+# pkg install konsole
+....
 ====
 
-Readers of this chapter should know how to:
+[[kde-configuration]]
+==== Configure KDE Plasma
 
-* Install additional software using packages or ports as described in crossref:ports[ports,Installing Applications: Packages and Ports].
-* Install X and a window manager as described in crossref:x11[x11,The X Window System].
+KDE Plasma requires `/proc` to be mounted.
+Add this line to `/etc/fstab` to mount this file system automatically during system startup:
 
-For information on how to configure a multimedia environment, refer to crossref:multimedia[multimedia,Multimedia].
+[.programlisting]
+....
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+proc                    /proc           procfs  rw              0       0
+....
 
-[[desktop-browsers]]
-== Browsers
+KDE Plasma uses man:dbus-daemon[1] for a message bus and hardware abstraction.
+This application is automatically installed as dependencies of KDE Plasma.
 
-FreeBSD does not come with a pre-installed web browser.
-Instead, the https://www.FreeBSD.org/ports/[www] category of the Ports Collection contains many browsers which can be installed as a package or compiled from the Ports Collection.
+Enable D-BUS service in `/etc/rc.conf` to start at system boot:
 
-The KDE and GNOME desktop environments include their own HTML browser.
-Refer to crossref:x11[x11-wm,“Desktop Environments”] for more information on how to set up these complete desktops.
+[source,shell]
+....
+# sysrc dbus_enable="YES"
+....
 
-Some lightweight browsers include package:www/dillo2[], package:www/links[], and package:www/w3m[].
+To increase messages size execute:
 
-This section demonstrates how to install the following popular web browsers and indicates if the application is resource-heavy, takes time to compile from ports, or has any major dependencies.
+[source,shell]
+....
+sysctl net.local.stream.recvspace=65536
+sysctl net.local.stream.sendspace=65536
+....
 
-[.informaltable]
-[cols="1,1,1,1", frame="none", options="header"]
-|===
-| Application Name
-| Resources Needed
-| Installation from Ports
-| Notes
-
-|Firefox
-|medium
-|heavy
-|FreeBSD, Linux(R), and localized versions are available
-
-|Konqueror
-|medium
-|heavy
-|Requires KDE libraries
-
-|Chromium
-|medium
-|heavy
-|Requires Gtk+
-|===
+[[kde-start]]
+==== Start KDE Plasma
 
-=== Firefox
+Preferred KDE Plasma display manager is package:x11/sddm[].
+To install package:x11/sddm[] execute:
 
-Firefox is an open source browser that features a standards-compliant HTML display engine, tabbed browsing, popup blocking, extensions, improved security, and more.
-Firefox is based on the Mozilla codebase.
+[source,shell]
+....
+# pkg install sddm
+....
 
-To install the package of the latest release version of Firefox, type:
+Enable SDDM service in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# pkg install firefox
+# sysrc sddm_enable="YES"
 ....
 
-To instead install Firefox Extended Support Release (ESR) version, use:
+The keyboard language can be set in SDDM by running the following command:
 
 [source,shell]
 ....
-# pkg install firefox-esr
+# sysrc sddm_lang="es_ES"
 ....
 
-The Ports Collection can instead be used to compile the desired version of Firefox from source code.
-This example builds package:www/firefox[], where `firefox` can be replaced with the ESR or localized version to install.
+A second method to start KDE Plasma is by manually invoking man:startx[1].
+For this to work, the following line is needed in ~/.xinitrc:
 
 [source,shell]
 ....
-# cd /usr/ports/www/firefox
-# make install clean
+% echo "exec ck-launch-session startplasma-x11" > ~/.xinitrc
 ....
 
-=== Konqueror
+[[gnome-environment]]
+=== GNOME
 
-Konqueror is more than a web browser as it is also a file manager and a multimedia viewer.
-Supports WebKit as well as its own KHTML.
-WebKit is a rendering engine used by many modern browsers including Chromium.
+GNOME is a user-friendly desktop environment. It includes a panel for starting applications and displaying status, a desktop, a set of tools and applications, and a set of conventions that make it easy for applications to cooperate and be consistent with each other.
 
-Konqueror can be installed as a package by typing:
+[[gnome-meta-install]]
+==== Install GNOME meta pacakge
+
+To install the GNOME meta pacakge with GNOME Desktop and Applications execute:
 
 [source,shell]
 ....
-# pkg install konqueror
+# pkg install gnome
 ....
 
-To install from the Ports Collection:
+[[gnome-minimal-install]]
+==== Minimal GNOME installation
+
+To install the GNOME lite meta package with GNOME desktop slimmed down for only the basics execute:
 
 [source,shell]
 ....
-# cd /usr/ports/x11-fm/konqueror/
-# make install clean
+# pkg install gnome-lite
 ....
 
-=== Chromium
+[[gnome-configuration]]
+==== Configure GNOME
 
-Chromium is an open source browser project that aims to build a safer, faster, and more stable web browsing experience.
-Chromium features tabbed browsing, popup blocking, extensions, and much more.
-Chromium is the open source project upon which the Google Chrome web browser is based.
+GNOME requires `/proc` to be mounted.
+Add this line to `/etc/fstab` to mount this file system automatically during system startup:
+
+[.programlisting]
+....
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+proc                    /proc           procfs  rw              0       0
+....
+
+GNOME uses man:dbus-daemon[1] for a message bus and hardware abstraction.
+This application is automatically installed as dependencies of GNOME.
 
-Chromium can be installed as a package by typing:
+Enable D-BUS service in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# pkg install chromium
+# sysrc dbus_enable="YES"
 ....
 
-Alternatively, Chromium can be compiled from source using the Ports Collection:
+It is often desirable to also start all GNOME services.
+
+Enable GNOME services in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# cd /usr/ports/www/chromium
-# make install clean
+# sysrc gnome_enable="YES"
 ....
 
-[NOTE]
-====
-The executable for Chromium is [.filename]#/usr/local/bin/chrome#, not [.filename]#/usr/local/bin/chromium#.
-====
+[[gnome-start]]
+==== Start GNOME
 
-[[desktop-productivity]]
-== Productivity
+GNOME Display Manager is the preferred display manager for GNOME.
+GDM is installed as part of the GNOME package.
 
-When it comes to productivity, users often look for an office suite or an easy-to-use word processor.
-While some <<x11-wm,desktop environments>> like KDE provide an office suite, there is no default productivity package.
-Several office suites and graphical word processors are available for FreeBSD, regardless of the installed window manager.
+Enable GDM in `/etc/rc.conf` to start at system boot:
 
-This section demonstrates how to install the following popular productivity software and indicates if the application is resource-heavy, takes time to compile from ports, or has any major dependencies.
+[source,shell]
+....
+# sysrc gdm_enable="YES"
+....
 
-[.informaltable]
-[cols="1,1,1,1", frame="none", options="header"]
-|===
-| Application Name
-| Resources Needed
-| Installation from Ports
-| Major Dependencies
-
-|Calligra
-|light
-|heavy
-|KDE
-
-|AbiWord
-|light
-|light
-|Gtk+ or GNOME
-
-|The Gimp
-|light
-|heavy
-|Gtk+
-
-|Apache OpenOffice
-|heavy
-|huge
-|JDK(TM) and Mozilla
-
-|LibreOffice
-|somewhat heavy
-|huge
-|Gtk+, or KDE/ GNOME, or JDK(TM)
-|===
+A second method to start GNOME is by manually invoking man:startx[1].
+For this to work, the following line is needed in ~/.xinitrc:
 
-=== Calligra
+[source,shell]
+....
+% echo "exec gnome-session" > ~/.xinitrc
+....
 
-The KDE desktop environment includes an office suite which can be installed separately from KDE.
-Calligra includes standard components that can be found in other office suites.
-Words is the word processor, Sheets is the spreadsheet program, Stage manages slide presentations, and Karbon is used to draw graphical documents.
+[[xfce-environment]]
+=== XFCE
+
+XFCE is a desktop environment based on the GTK+, lightweight and provides a simple, efficient, easy-to-use desktop.
+It is fully configurable, has a main panel with menus, applets, and application launchers, provides a file manager and sound manager, and is themeable.
+Since it is fast, light, and efficient, it is ideal for older or slower machines with memory limitations.
+
+[[xfce-install]]
+==== Install XFCE
 
-In FreeBSD, package:editors/calligra[] can be installed as a package or a port.
-To install the package:
+To install the XFCE meta package execute:
 
 [source,shell]
 ....
-# pkg install calligra
+# pkg install xfce
+....
+
+[[xfce-configuration]]
+==== Configure XFCE
+
+XFCE requires `/proc` to be mounted.
+Add this line to `/etc/fstab` to mount this file system automatically during system startup:
+
+[.programlisting]
+....
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+proc                    /proc           procfs  rw              0       0
 ....
 
-If the package is not available, use the Ports Collection instead:
+XFCE uses man:dbus-daemon[1] for a message bus and hardware abstraction.
+This application is automatically installed as dependencies of XFCE.
+
+Enable D-BUS in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# cd /usr/ports/editors/calligra
-# make install clean
+# sysrc dbus_enable="YES"
 ....
 
-=== AbiWord
+[[xfce-start]]
+==== Start XFCE
 
-AbiWord is a free word processing program similar in look and feel to Microsoft(R) Word.
-It is fast, contains many features, and is user-friendly.
+package:x11/lightdm[] is a display manager that supports different display technologies and is a good choice as it is very lightweight, requires little memory usage, and has fast performance.
 
-AbiWord can import or export many file formats, including some proprietary ones like Microsoft(R) [.filename]#.rtf#.
+To install it execute:
 
-To install the AbiWord package:
+[source,shell]
+....
+# pkg install lightdm lightdm-gtk-greeter
+....
+
+Enable lightdm in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# pkg install abiword
+# sysrc lightdm_enable="YES"
 ....
 
-If the package is not available, it can be compiled from the Ports Collection:
+A second method to start XFCE is by manually invoking man:startx[1].
+For this to work, the following line is needed in ~/.xinitrc:
 
 [source,shell]
 ....
-# cd /usr/ports/editors/abiword
-# make install clean
+% echo '. /usr/local/etc/xdg/xfce4/xinitrc' > ~/.xinitrc
 ....
 
-=== The GIMP
+[[mate-environment]]
+=== MATE
 
-For image authoring or picture retouching, The GIMP provides a sophisticated image manipulation program.
-It can be used as a simple paint program or as a quality photo retouching suite.
-It supports a large number of plugins and features a scripting interface.
-The GIMP can read and write a wide range of file formats and supports interfaces with scanners and tablets.
+The MATE Desktop Environment is the continuation of GNOME 2.
+It provides an intuitive and attractive desktop environment using traditional metaphors.
 
-To install the package:
+[[mate-meta-install]]
+==== Install MATE meta package
+
+To install the MATE meta package with MATE Desktop with some extra applications such as text editor, archiver manager, etc. execute: 
 
 [source,shell]
 ....
-# pkg install gimp
+# pkg install mate
 ....
 
-Alternately, use the Ports Collection:
+[[mate-minimal-install]]
+==== Minimal MATE installation
+
+To install the MATE lite meta package with MATE desktop slimmed down for only the basics execute:
 
 [source,shell]
 ....
-# cd /usr/ports/graphics/gimp
-# make install clean
+# pkg install mate-base
 ....
 
-The graphics category (https://www.FreeBSD.org/ports/graphics/[freebsd.org/ports/graphics/]) of the Ports Collection contains several GIMP-related plugins, help files, and user manuals.
+[[mate-configuration]]
+==== Configure MATE
 
-=== Apache OpenOffice
+MATE requires `/proc` to be mounted.
+Add this line to `/etc/fstab` to mount this file system automatically during system startup:
 
-Apache OpenOffice is an open source office suite which is developed under the wing of the Apache Software Foundation's Incubator.
-It includes all of the applications found in a complete office productivity suite: a word processor, spreadsheet, presentation manager, and drawing program. 
-Its user interface is similar to other office suites, and it can import and export in various popular file formats.
-It is available in a number of different languages and internationalization has been extended to interfaces, spell checkers, and dictionaries.
+[.programlisting]
+....
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+proc                    /proc           procfs  rw              0       0
+....
 
-The word processor of Apache OpenOffice uses a native XML file format for increased portability and flexibility.
-The spreadsheet program features a macro language which can be interfaced with external databases.
-Apache OpenOffice is stable and runs natively on Windows(R), Solaris(TM), Linux(R), FreeBSD, and Mac OS(R) X.
-More information about Apache OpenOffice can be found at http://openoffice.org/[openoffice.org].
-For FreeBSD specific information refer to http://porting.openoffice.org/freebsd/[porting.openoffice.org/freebsd/].
+MATE uses man:dbus-daemon[1] for a message bus and hardware abstraction.
+This application is automatically installed as dependencies of MATE.
+Enable D-BUS in `/etc/rc.conf` to start at system boot:
 
-To install the Apache OpenOffice package:
+[source,shell]
+....
+# sysrc dbus_enable="YES"
+....
+
+[[mate-start]]
+==== Start MATE
+
+package:x11/lightdm[] is a display manager that supports different display technologies and is a good choice as it is very lightweight, requires little memory usage, and has fast performance.
+
+To install it execute:
+
+[source,shell]
+....
+# pkg install lightdm lightdm-gtk-greeter
+....
+
+Enable lightdm in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# pkg install apache-openoffice
+# sysrc lightdm_enable="YES"
 ....
 
-Once the package is installed, type the following command to launch Apache OpenOffice:
+A second method to start MATE is by manually invoking man:startx[1].
+For this to work, the following line is needed in ~/.xinitrc:
 
 [source,shell]
 ....
-% openoffice-X.Y.Z
+% echo "exec ck-launch-session mate-session" > ~/.xinitrc
 ....
 
-where _X.Y.Z_ is the version number of the installed version of Apache OpenOffice.
-The first time Apache OpenOffice launches, some questions will be asked and a [.filename]#.openoffice.org# folder will be created in the user's home directory.
+[[cinnamon-environment]]
+=== Cinnamon
+
+Cinnamon is a UNIX(R) desktop which provides advanced innovative features and a traditional user experience.
+The desktop layout is similar to Gnome 2.
+The underlying technology is forked from Gnome Shell.
+The emphasis is put on making users feel at home and providing them with an easy to use and comfortable desktop experience.
+
+[[cinnamon-install]]
+=== Install Cinnamon
 
-If the desired Apache OpenOffice package is not available, compiling the port is still an option.
-However, this requires a lot of disk space and a fairly long time to compile:
+To install the Cinnamon package execute:
 
 [source,shell]
 ....
-# cd /usr/ports/editors/openoffice-4
-# make install clean
+# pkg install cinnamon
 ....
 
-[NOTE]
-====
-To build a localized version, replace the previous command with:
+[[cinnamon-configuration]]
+==== Configure Cinnamon
+
+Cinnamon requires `/proc` to be mounted.
+Add this line to `/etc/fstab` to mount this file system automatically during system startup:
+
+[.programlisting]
+....
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+proc                    /proc           procfs  rw              0       0
+....
+
+Cinnamon uses man:dbus-daemon[1] for a message bus and hardware abstraction.
+This application is automatically installed as dependencies of Cinnamon.
+Enable D-BUS in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# make LOCALIZED_LANG=your_language install clean
+# sysrc dbus_enable="YES"
 ....
 
-Replace _your_language_ with the correct language ISO-code.
-A list of supported language codes is available in [.filename]#files/Makefile.localized#, located in the port's directory.
-====
+[[cinnamon-start]]
+==== Start Cinnamon
 
-=== LibreOffice
+package:x11/lightdm[] is a display manager that supports different display technologies and is a good choice as it is very lightweight, requires little memory usage, and has fast performance.
 
-LibreOffice is a free software office suite developed by http://www.documentfoundation.org/[documentfoundation.org].
-It is compatible with other major office suites and available on a variety of platforms.
-It is a rebranded fork of Apache OpenOffice and includes applications found in a complete office productivity suite: a word processor, spreadsheet, presentation manager, drawing program, database management program, and a tool for creating and editing mathematical formulæ.
-It is available in a number of different languages and internationalization has been extended to interfaces, spell checkers, and dictionaries.
+To install it execute:
 
-The word processor of LibreOffice uses a native XML file format for increased portability and flexibility.
-The spreadsheet program features a macro language which can be interfaced with external databases.
-LibreOffice is stable and runs natively on Windows(R), Linux(R), FreeBSD, and Mac OS(R) X.
-More information about LibreOffice can be found at http://www.libreoffice.org/[libreoffice.org].
+[source,shell]
+....
+# pkg install lightdm lightdm-gtk-greeter
+....
 
-To install the English version of the LibreOffice package:
+Enable lightdm in `/etc/rc.conf` to start at system boot:
 
 [source,shell]
 ....
-# pkg install libreoffice
+# sysrc lightdm_enable="YES"
+....
+
+A second method to start Cinnamon is by manually invoking man:startx[1].
+For this to work, the following line is needed in ~/.xinitrc:
+
+[source,shell]
+....
+% echo "exec ck-launch-session cinnamon-session" > ~/.xinitrc
+....
+
+[[lxqt-environment]]
+=== LXQT
+
+LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt technologies.
+It has been tailored for users who value simplicity, speed, and an intuitive interface.
+Unlike most desktop environments, LXQt also works fine with less powerful machines.
+
+[[lxqt-install]]
+==== Install LXQT
+
+To install the LXQT meta package execute:
+
+[source,shell]
+....
+# pkg install lxqt
 ....
 
-The editors category (https://www.FreeBSD.org/ports/editors/[freebsd.org/ports/editors/]) of the Ports Collection contains several localizations for LibreOffice.
-When installing a localized package, replace `libreoffice` with the name of the localized package.
+[[lxqt-configuration]]
+==== Configure LXQT
+
+LXQT requires `/proc` to be mounted.
+Add this line to `/etc/fstab` to mount this file system automatically during system startup:
+
+[.programlisting]
+....
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+proc                    /proc           procfs  rw              0       0
+....
+
+LXQT uses man:dbus-daemon[1] for a message bus and hardware abstraction.
+This application is automatically installed as dependencies of LXQT.
+
+Enable D-BUS in `/etc/rc.conf` to start at system boot:
+
+[source,shell]
+....
+# sysrc dbus_enable="YES"
+....
+
+[[lxqt-start]]
+==== Start LXQT
+
+Preferred LXQT display manager is package:x11/sddm[].
+To install package:x11/sddm[] execute:
+
+[source,shell]
+....
+# pkg install sddm
+....
+
+Enable SDDM service in `/etc/rc.conf` to start at system boot:
+
+[source,shell]
+....
+# sysrc sddm_enable="YES"
+....
+
+The keyboard language can be set in SDDM by running the following command:
+
+[source,shell]
+....
+# sysrc sddm_lang="es_ES"
+....
+
+A second method to start LXQT is by manually invoking man:startx[1].
+For this to work, the following line is needed in ~/.xinitrc:
+
+[source,shell]
+....
+% echo "exec ck-launch-session startlxqt" > ~/.xinitrc
+....
+
+[[desktop-browsers]]
+== Browsers
+
+This section describes how to install and configure some popular web browsers on a FreeBSD system,
+from full web browsers with high resource consumption to command line web browsers with reduced resource usage.
+
+.Supported browser
+[options="header", cols="1,1,1,1"]
+|===
+| Name | License | Package | Resources Needed
+
+| Firefox
+| MPL 2.0
+| package:www/firefox[]
+| Heavy
+
+| Chromium
+| BSD-3 and others
+| package:www/chromium[]
+| Heavy
+
+| Iridium browser
+| BSD-3 and others
+| package:www/iridium[]
+| Heavy
+
+| Falkon
+| MPL 2.0
+| package:www/firefox[]
+| Heavy
+
+| Konqueror
+| GPL 2.0 or later
+| package:x11-fm/konqueror[]
+| Medium
+
+| Gnome Web (Epiphany)
+| GPL 3.0 or later
+| package:www/epiphany[]
+| Medium
+
+| qutebrowser
+| GPL 3.0 or later
+| package:www/qutebrowser[]
+| Medium
+
+| Dillo
+| GPL 3.0 or later
+| package:www/dillo2[]
+| Light
+
+| Links
+| GPL 2.0 or later
+| package:www/links[]
+| Light
+
+| w3m
+| MIT
+| package:www/w3m[]
+| Light
+
+|===
+
+[[firefox]]
+=== Firefox
+
+Firefox is an open source browser that features a standards-compliant HTML display engine, tabbed browsing, popup blocking, extensions, improved security, and more.
+Firefox is based on the Mozilla codebase.
+
+To install the package of the latest release version of Firefox execute:
+
+[source,shell]
+....
+# pkg install firefox
+....
 
-Once the package is installed, type the following command to run LibreOffice:
+To instead install Firefox Extended Support Release (ESR) version execute:
 
 [source,shell]
 ....
-% libreoffice
+# pkg install firefox-esr
 ....
 
-During the first launch, some questions will be asked and a [.filename]#.libreoffice# folder will be created in the user's home directory.
+[[chromium]]
+=== Chromium
+
+Chromium is an open source browser project that aims to build a safer, faster, and more stable web browsing experience.
+Chromium features tabbed browsing, popup blocking, extensions, and much more.
+Chromium is the open source project upon which the Google Chrome web browser is based.
 
-If the desired LibreOffice package is not available, compiling the port is still an option.
-However, this requires a lot of disk space and a fairly long time to compile.
-This example compiles the English version:
+To install Chromium execute:
 
 [source,shell]
 ....
-# cd /usr/ports/editors/libreoffice
-# make install clean
+# pkg install chromium
 ....
 
 [NOTE]
 ====
-To build a localized version, `cd` into the port directory of the desired language.
-Supported languages can be found in the editors category (https://www.FreeBSD.org/ports/editors/[freebsd.org/ports/editors/]) of the Ports Collection.
+The executable for Chromium is [.filename]#/usr/local/bin/chrome#, not [.filename]#/usr/local/bin/chromium#.
 ====
 
-[[desktop-viewers]]
-== Document Viewers
+[[iridium]]
+=== Iridium browser
 
-Some new document formats have gained popularity since the advent of UNIX(R) and the viewers they require may not be available in the base system. 
-This section demonstrates how to install the following document viewers:
+Iridium is a free, open, and libre browser modification of the Chromium code base, with privacy being enhanced in several key areas.
+Automatic transmission of partial queries, keywords, metrics to central services is inhibited and only occurs with consent.
+
+To install Iridium execute:
+
+[source,shell]
+....
+# pkg install iridium
+....
+
+[[falkon]]
+=== Falkon
 
-[.informaltable]
-[cols="1,1,1,1", frame="none", options="header"]
+Falkon is a new-ish and very fast QtWebEngine browser.
+It aims to be a lightweight web browser available on all major platforms.
+Falkon has all standard functions you expect from a web browser.
+It includes bookmarks, history (both also in sidebar) and tabs.
+Beyond that, you block ads with a builtin AdBlock plugin, block Flash content with Click2Flash and edit the local CA Certificates database with an SSL Manager.
+
+To install Falkon execute:
+
+[source,shell]
+....
+# pkg install falkon
+....
+
+[[konqueror]]
+=== Konqueror
+
+Konqueror is more than a web browser as it is also a file manager and a multimedia viewer.
+Supports WebKit as well as its own KHTML.
+WebKit is a rendering engine used by many modern browsers including Chromium.
+
+To install Konqueror execute:
+
+[source,shell]
+....
+# pkg install konqueror
+....
+
+[[gnome-web-epiphany]]
+=== Gnome Web (Epiphany)
+
+Gnome Web (Epiphany) is a web browser designed to be as lightweight and fast as possible, at the expense of many of the features found in other browsers.
+
+To install Gnome Web (Epiphany) execute:
+
+[source,shell]
+....
+# pkg install konqueror
+....
+
+[[qutebrowser]]
+=== qutebrowser
+
+Qutebrowser is a keyboard-focused browser with a minimal GUI.
+It's based on Python and PyQt5 and free software, licensed under the GPL.
+It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.
+
+To install qutebrowser execute:
+
+[source,shell]
+....
+# pkg install qutebrowser
+....
+
+[[dillo]]
+=== Dillo
+
+Dillo aims to be a multiplatform alternative browser that's small, stable, developer-friendly, usable, fast, and extensible.
+This new, experimental version of Dillo is based upon FLTK toolkit, rather than GTK1, and has been substantially rewritten.
+
+To install Dillo execute:
+
+[source,shell]
+....
+# pkg install dillo2
+....
+
+[[links]]
+=== Links
+
+Lynx-like WWW browser with text and graphics modes with many features like displaying tables, menus, etc.
+
+To install Links execute:
+
+[source,shell]
+....
+# pkg install links
+....
+
+[[w3m]]
+=== w3m
+
+w3m is a pager/text-based web browser. It is a similar application to Lynx, but it has several features Lynx doesn't have like rendering tables and rendering frames.
+
+To install w3m execute:
+
+[source,shell]
+....
+# pkg install w3m
+....
+
+[[desktop-development]]
+== Development tools
+
+This section describes how to install and configure some popular development tools on a FreeBSD system.
+
+.Supported development tools
+[options="header", cols="1,1,1,1"]
 |===
-| Application Name
-| Resources Needed
*** 2293 LINES SKIPPED ***