source: gnome/platform/gnome-session.xml@ d37d7c5

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since d37d7c5 was ddafabd, checked in by Pierre Labastie <pierre.labastie@…>, 13 months ago

SysV: Fix gnome-session so that it uses libelogind

The only thing to do is to set the systemd unit directory to
/tmp. When this is done, all the dependencies on systemd are
"required: false". So only what is found is used. libelogind
is found because libsystemd.pc is a symlink to libelogind.pc

  • Property mode set to 100644
File size: 10.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gnome-session-download-http
8 "&gnome-download-http;/gnome-session/&gnome-44;/gnome-session-&gnome-session-version;.tar.xz">
9 <!ENTITY gnome-session-download-ftp
10 "&gnome-download-ftp;/gnome-session/&gnome-44;/gnome-session-&gnome-session-version;.tar.xz">
11 <!ENTITY gnome-session-md5sum "0223353306fb2e5b84bd42e3fde905f0">
12 <!ENTITY gnome-session-size "476 KB">
13 <!ENTITY gnome-session-buildsize "12 MB">
14 <!ENTITY gnome-session-time "0.1 SBU">
15]>
16
17<sect1 id="gnome-session" xreflabel="gnome-session-&gnome-session-version;">
18 <?dbhtml filename="gnome-session.html"?>
19
20
21 <title>gnome-session-&gnome-session-version;</title>
22
23 <indexterm zone="gnome-session">
24 <primary sortas="a-gnome-session">gnome-session</primary>
25 </indexterm>
26
27 <sect2 role="package">
28 <title>Introduction to GNOME Session</title>
29
30 <para>
31 The <application>GNOME Session</application> package contains
32 the <application>GNOME</application> session manager.
33 </para>
34
35 &lfs113_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&gnome-session-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&gnome-session-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &gnome-session-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &gnome-session-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &gnome-session-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &gnome-session-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">GNOME Session Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <phrase revision="sysv"><xref linkend="elogind"/>,</phrase>
76 <xref linkend="gnome-desktop"/>,
77 <xref linkend="json-glib"/>,
78 <xref linkend="mesa"/>,
79 <phrase revision="systemd"><xref role="runtime" linkend="systemd"/>
80 (runtime),</phrase>
81 and <xref linkend="upower"/>
82 </para>
83
84 <bridgehead renderas="sect4">Optional</bridgehead>
85 <para role="optional">
86 <xref linkend="xmlto"/>, and
87 <xref linkend="libxslt"/> with
88 <xref linkend="DocBook"/> and
89 <xref linkend="docbook-xsl"/> (to build the documentation)
90 </para>
91
92 <para condition="html" role="usernotes">User Notes:
93 <ulink url="&blfs-wiki;/gnome-session"/>
94 </para>
95 </sect2>
96
97 <sect2 role="installation">
98 <title>Installation of GNOME Session</title>
99
100 <para>
101 When running GNOME under <xref linkend="wayland"/>, environment settings
102 are not imported for the user using the system profile. The Wayland
103 developers are currently undecided on a standard method to provide system
104 environment settings for user sessions. To work around this limitation,
105 execute the following command to make
106 <command>gnome-session</command> use a login shell:
107 </para>
108
109<screen><userinput>sed 's@/bin/sh@/bin/sh -l@' -i gnome-session/gnome-session.in</userinput></screen>
110
111<!--
112 <para revision="sysv">
113 Adapt meson.build so that gnome-session can build without systemd:
114 </para>
115
116<screen revision="sysv"><userinput remap="pre">sed -i "/ systemd_dep/,+3d;/if enable_systemd/a \ systemd_userunitdir = '/tmp\'" meson.build</userinput></screen>
117-->
118 <para>
119 Install <application>GNOME Session</application> by
120 running the following commands:
121 </para>
122
123<screen revision="sysv"><userinput>mkdir build &amp;&amp;
124cd build &amp;&amp;
125
126meson setup --prefix=/usr \
127 --buildtype=release \
128 -Dsystemd_journal=false \
129 -Dsystemduserunitdir=/tmp \
130 .. &amp;&amp;
131ninja</userinput></screen>
132
133<screen revision="systemd"><userinput>mkdir build &amp;&amp;
134cd build &amp;&amp;
135
136meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
137ninja</userinput></screen>
138
139 <para>
140 This package does not come with a test suite.
141 </para>
142
143 <para>
144 Now, as the <systemitem class="username">root</systemitem> user:
145 </para>
146
147<screen role="root"><userinput>ninja install</userinput></screen>
148<!-- For some reason, there are I/O errors with the DTD @ freedesktop
149 that causes error messages to flood stdin. -->
150
151 <para>
152 Move the documentation to a versioned directory:
153 </para>
154
155<screen role="root"><userinput>mv -v /usr/share/doc/gnome-session{,-&gnome-session-version;}</userinput></screen>
156
157
158 <para>
159 This package creates two Xorg based <filename>.desktop</filename> files
160 in the <filename class="directory">/usr/share/xsessions/</filename>
161 directory, and two Wayland based <filename>.desktop</filename> files in
162 the <filename class="directory">/usr/share/wayland-sessions/</filename>
163 directory. Only one is needed in each directory on a BLFS system, so
164 prevent the extra files showing up as options in a display manager. As
165 the &root; user:
166 </para>
167
168<screen role="root"><userinput>rm -v /usr/share/xsessions/gnome.desktop &amp;&amp;
169rm -v /usr/share/wayland-sessions/gnome.desktop</userinput></screen>
170<!--
171 <para revision="sysv">
172 Now, as the <systemitem class="username">root</systemitem> user,
173 remove systemd units that are useless on SysV systems:
174 </para>
175
176<screen role="root" revision="sysv"><userinput>rm -rv /tmp/{*.d,*.target,*.service}</userinput></screen>
177-->
178<!-- this part is not needed on systemd, since the dbus session is created
179by systemd-user.-->
180 <para revision="sysv">
181 The startup sequence of gnome-wayland needs to create a dbus session.
182 On SysV, this has to be added to the shipped
183 <filename>gnome-wayland.desktop</filename> file, which is written for
184 systemd. As the &root; user:
185 </para>
186
187<screen role="root" revision="sysv"><userinput>sed -e 's@^Exec=@&amp;/usr/bin/dbus-run-session @' \
188 -i /usr/share/wayland-sessions/gnome-wayland.desktop</userinput></screen>
189
190 </sect2>
191
192 <sect2 role="commands">
193 <title>Command Explanations</title>
194
195 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
196 href="../../xincludes/meson-buildtype-release.xml"/>
197
198 <para revision="sysv">
199 <parameter>-Dsystemd_journal=false</parameter>
200 and <parameter>-Dsystemduserunitdir=/tmp</parameter>: Allow building
201 with elogind support on a SysV based system.
202 </para>
203
204 </sect2>
205
206 <sect2 role="starting">
207 <title>Starting GNOME</title>
208
209 <para>
210 The easiest way to start GNOME is to use a display manager.
211 <xref linkend="gdm"/> is the recommended display manager.
212 </para>
213
214 <para>
215 It is also possible to start <application>GNOME</application> from the
216 command line. However, you must still have <xref linkend="gdm"/> installed
217 for some portions of the desktop to work. One reason to start from the
218 command line is if you want Wayland support on a system that has the
219 proprietary NVIDIA driver installed, since GDM will not show the Wayland
220 session type on such a system.
221 </para>
222
223 <para>
224 To start <application>GNOME</application> using
225 <xref role="nodep" linkend="xinit"/>, run the following commands:
226 </para>
227
228<screen role="nodump"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
229<literal>dbus-run-session gnome-session</literal>
230EOF
231
232startx</userinput></screen>
233
234 <para>
235 Alternatively, to start <application>GNOME</application> with Wayland
236 support, run the following command:
237 </para>
238
239<screen role="nodump"><userinput>XDG_SESSION_TYPE=wayland dbus-run-session gnome-session</userinput></screen>
240
241 </sect2>
242
243 <sect2 role="content">
244 <title>Contents</title>
245
246 <segmentedlist>
247 <segtitle>Installed Programs</segtitle>
248 <segtitle>Installed Libraries</segtitle>
249 <segtitle>Installed Directories</segtitle>
250
251 <seglistitem>
252 <seg>
253 gnome-session, gnome-session-inhibit, and gnome-session-quit
254 </seg>
255 <seg>
256 None
257 </seg>
258 <seg>
259 /usr/share/doc/gnome-session-&gnome-session-version; and
260 /usr/share/gnome-session
261 </seg>
262 </seglistitem>
263 </segmentedlist>
264
265 <variablelist>
266 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
267 <?dbfo list-presentation="list"?>
268 <?dbhtml list-presentation="table"?>
269
270 <varlistentry id="gnome-session-prog">
271 <term><command>gnome-session</command></term>
272 <listitem>
273 <para>
274 is used to start up the <application>GNOME</application>
275 Desktop environment
276 </para>
277 <indexterm zone="gnome-session gnome-session-prog">
278 <primary sortas="b-gnome-session">gnome-session</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="gnome-session-inhibit">
284 <term><command>gnome-session-inhibit</command></term>
285 <listitem>
286 <para>
287 is used to inhibit certain <application>GNOME</application>
288 Session functionality while executing the given command
289 </para>
290 <indexterm zone="gnome-session gnome-session-inhibit">
291 <primary sortas="b-gnome-session-inhibit">gnome-session-inhibit</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="gnome-session-quit">
297 <term><command>gnome-session-quit</command></term>
298 <listitem>
299 <para>
300 is used to end the <application>GNOME</application> Session
301 </para>
302 <indexterm zone="gnome-session gnome-session-quit">
303 <primary sortas="b-gnome-session-quit">gnome-session-quit</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 </variablelist>
309
310 </sect2>
311
312</sect1>
Note: See TracBrowser for help on using the repository browser.