mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-10 04:54:44 +08:00
Several packages add unneeded .desktop files in /usr/share/xsessions/. These then show up in display managers and can confuse users. This change moves them out of the way. Also document that lxdm does not support wayland based desktop sessions.
287 lines
9.1 KiB
XML
287 lines
9.1 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY gnome-session-download-http
|
|
"&gnome-download-http;/gnome-session/&gnome-43;/gnome-session-&gnome-session-version;.tar.xz">
|
|
<!ENTITY gnome-session-download-ftp
|
|
"&gnome-download-ftp;/gnome-session/&gnome-43;/gnome-session-&gnome-session-version;.tar.xz">
|
|
<!ENTITY gnome-session-md5sum "02ae90bc41fd06e780169b760fb55670">
|
|
<!ENTITY gnome-session-size "476 KB">
|
|
<!ENTITY gnome-session-buildsize "12 MB">
|
|
<!ENTITY gnome-session-time "0.1 SBU">
|
|
]>
|
|
|
|
<sect1 id="gnome-session" xreflabel="gnome-session-&gnome-session-version;">
|
|
<?dbhtml filename="gnome-session.html"?>
|
|
|
|
|
|
<title>gnome-session-&gnome-session-version;</title>
|
|
|
|
<indexterm zone="gnome-session">
|
|
<primary sortas="a-gnome-session">gnome-session</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to GNOME Session</title>
|
|
|
|
<para>
|
|
The <application>GNOME Session</application> package contains
|
|
the <application>GNOME</application> session manager.
|
|
</para>
|
|
|
|
&lfs113_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&gnome-session-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&gnome-session-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &gnome-session-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &gnome-session-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &gnome-session-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &gnome-session-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">GNOME Session Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<phrase revision="sysv"><xref role="runtime" linkend="elogind"/>,</phrase>
|
|
<xref linkend="gnome-desktop"/>,
|
|
<xref linkend="json-glib"/>,
|
|
<xref linkend="mesa"/>,
|
|
<phrase revision="systemd"><xref role="runtime" linkend="systemd"/>,</phrase>
|
|
and <xref linkend="upower"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="xmlto"/>, and
|
|
<xref linkend="libxslt"/> with
|
|
<xref linkend="DocBook"/> and
|
|
<xref linkend="docbook-xsl"/> (to build the documentation)
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/gnome-session"/>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of GNOME Session</title>
|
|
|
|
<para>
|
|
When running GNOME under <xref linkend="wayland"/>, environment settings
|
|
are not imported for the user using the system profile. The Wayland
|
|
developers are currently undecided on a standard method to provide system
|
|
environment settings for user sessions. To work around this limitation,
|
|
execute the following command to make
|
|
<command>gnome-session</command> use a login shell:
|
|
</para>
|
|
|
|
<screen><userinput>sed 's@/bin/sh@/bin/sh -l@' -i gnome-session/gnome-session.in</userinput></screen>
|
|
|
|
|
|
<para revision="sysv">
|
|
Adapt meson.build so that gnome-session can build without systemd:
|
|
</para>
|
|
|
|
<screen revision="sysv"><userinput remap="pre">sed -i "/ systemd_dep/,+3d;/if enable_systemd/a \ systemd_userunitdir = '/tmp\'" meson.build</userinput></screen>
|
|
|
|
<para>
|
|
Install <application>GNOME Session</application> by
|
|
running the following commands:
|
|
</para>
|
|
|
|
<screen revision="sysv"><userinput>mkdir build &&
|
|
cd build &&
|
|
|
|
meson --prefix=/usr \
|
|
--buildtype=release \
|
|
-Dsystemd_journal=false \
|
|
.. &&
|
|
ninja</userinput></screen>
|
|
|
|
<screen revision="systemd"><userinput>mkdir build &&
|
|
cd build &&
|
|
|
|
meson --prefix=/usr --buildtype=release .. &&
|
|
ninja</userinput></screen>
|
|
|
|
<para>
|
|
This package does not come with a test suite.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ninja install</userinput></screen>
|
|
<!-- For some reason, there are I/O errors with the DTD @ freedesktop
|
|
that causes error messages to flood stdin. -->
|
|
|
|
<para>
|
|
Move the documentation to a versioned directory:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>mv -v /usr/share/doc/gnome-session{,-&gnome-session-version;}</userinput></screen>
|
|
|
|
|
|
<para>This package creates two Xorg based .desktop files in the
|
|
/usr/share/xsessions/ directory. Only one is needed in a
|
|
BLFS system, so prevent the extra file showing up as an option
|
|
in a window manager. As the &root; user:</para>
|
|
|
|
<screen role="root"><userinput>mkdir -p /usr/share/xsessions/deprecated &&
|
|
mv -v /usr/share/xsessions/gnome.desktop /usr/share/xsessions/deprecated</userinput></screen>
|
|
|
|
<para revision="sysv">
|
|
Now, as the <systemitem class="username">root</systemitem> user,
|
|
remove systemd units that are useless on SysV systems:
|
|
</para>
|
|
|
|
<screen role="root" revision="sysv"><userinput>rm -rv /tmp/{*.d,*.target,*.service}</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/meson-buildtype-release.xml"/>
|
|
</sect2>
|
|
|
|
<sect2 role="starting">
|
|
<title>Starting GNOME</title>
|
|
|
|
<para>
|
|
The easiest way to start GNOME is to use a display manager.
|
|
<xref linkend="gdm"/> is the recommendend display manager.
|
|
</para>
|
|
|
|
<para>
|
|
It is also possible to start <application>GNOME</application> from the
|
|
command line. However, you must still have <xref linkend="gdm"/> installed
|
|
for some portions of the desktop to work. One reason to start from the
|
|
command line is if you want Wayland support on a system that has the
|
|
proprietary NVIDIA driver installed, since GDM will not show the Wayland
|
|
session type on such a system.
|
|
</para>
|
|
|
|
<para>
|
|
To start <application>GNOME</application> using
|
|
<xref role="nodep" linkend="xinit"/>, run the following commands:
|
|
</para>
|
|
|
|
<screen role="nodump"><userinput>cat > ~/.xinitrc << "EOF"
|
|
<literal>dbus-run-session gnome-session</literal>
|
|
EOF
|
|
|
|
startx</userinput></screen>
|
|
|
|
<para>
|
|
Alternatively, to start <application>GNOME</application> with Wayland
|
|
support, run the following command:
|
|
</para>
|
|
|
|
<screen role="nodump"><userinput>XDG_SESSION_TYPE=wayland dbus-run-session gnome-session</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
gnome-session, gnome-session-inhibit, and gnome-session-quit
|
|
</seg>
|
|
<seg>
|
|
None
|
|
</seg>
|
|
<seg>
|
|
/usr/share/doc/gnome-session-&gnome-session-version; and
|
|
/usr/share/gnome-session
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="gnome-session-prog">
|
|
<term><command>gnome-session</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to start up the <application>GNOME</application>
|
|
Desktop environment
|
|
</para>
|
|
<indexterm zone="gnome-session gnome-session-prog">
|
|
<primary sortas="b-gnome-session">gnome-session</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gnome-session-inhibit">
|
|
<term><command>gnome-session-inhibit</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to inhibit certain <application>GNOME</application>
|
|
Session functionality while executing the given command
|
|
</para>
|
|
<indexterm zone="gnome-session gnome-session-inhibit">
|
|
<primary sortas="b-gnome-session-inhibit">gnome-session-inhibit</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gnome-session-quit">
|
|
<term><command>gnome-session-quit</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to end the <application>GNOME</application> Session
|
|
</para>
|
|
<indexterm zone="gnome-session gnome-session-quit">
|
|
<primary sortas="b-gnome-session-quit">gnome-session-quit</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|