mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-25 07:42:13 +08:00
c71450cdb0
Off to Applications in the morning
310 lines
10 KiB
XML
310 lines
10 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-44;/gnome-session-&gnome-session-version;.tar.xz">
|
|
<!ENTITY gnome-session-download-ftp
|
|
"&gnome-download-ftp;/gnome-session/&gnome-44;/gnome-session-&gnome-session-version;.tar.xz">
|
|
<!ENTITY gnome-session-md5sum "0223353306fb2e5b84bd42e3fde905f0">
|
|
<!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>
|
|
|
|
&lfs120_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 linkend="elogind"/>,</phrase>
|
|
<xref linkend="gnome-desktop"/>,
|
|
<xref linkend="json-glib"/>,
|
|
<xref linkend="mesa"/>,
|
|
<phrase revision="systemd"><xref role="runtime" linkend="systemd"/>
|
|
(runtime),</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>
|
|
|
|
</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 setup --prefix=/usr \
|
|
--buildtype=release \
|
|
-Dsystemd_journal=false \
|
|
-Dsystemduserunitdir=/tmp \
|
|
.. &&
|
|
ninja</userinput></screen>
|
|
|
|
<screen revision="systemd"><userinput>mkdir build &&
|
|
cd build &&
|
|
|
|
meson setup --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 <filename>.desktop</filename> files
|
|
in the <filename class="directory">/usr/share/xsessions/</filename>
|
|
directory, and two Wayland based <filename>.desktop</filename> files in
|
|
the <filename class="directory">/usr/share/wayland-sessions/</filename>
|
|
directory. Only one is needed in each directory on a BLFS system, so
|
|
prevent the extra files showing up as options in a display manager. As
|
|
the &root; user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>rm -v /usr/share/xsessions/gnome.desktop &&
|
|
rm -v /usr/share/wayland-sessions/gnome.desktop</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>
|
|
-->
|
|
<!-- this part is not needed on systemd, since the dbus session is created
|
|
by systemd-user.-->
|
|
<para revision="sysv">
|
|
The startup sequence of gnome-wayland needs to create a dbus session.
|
|
On SysV, this has to be added to the shipped
|
|
<filename>gnome-wayland.desktop</filename> file, which is written for
|
|
systemd. As the &root; user:
|
|
</para>
|
|
|
|
<screen role="root" revision="sysv"><userinput>sed -e 's@^Exec=@&/usr/bin/dbus-run-session @' \
|
|
-i /usr/share/wayland-sessions/gnome-wayland.desktop</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"/>
|
|
|
|
<para revision="sysv">
|
|
<parameter>-Dsystemd_journal=false</parameter>
|
|
and <parameter>-Dsystemduserunitdir=/tmp</parameter>: Allow building
|
|
with elogind support on a SysV based system.
|
|
</para>
|
|
|
|
</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 recommended 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>
|