source: kde/plasma5/plasma-all.xml@ f29eb8a

10.0 10.1 11.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since f29eb8a was f29eb8a, checked in by DJ Lucas <dj@…>, 5 years ago

Enabled user session support in DBus (systemd only) and use real path for PID file and system socket, Added sed command to differentiate between Plasma sessions on Xorg and Wayland in display managers.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18533 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 14.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter 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 plasma5-download-http "http://download.kde.org/stable/plasma/&plasma5-version;">
8 <!ENTITY plasma5-download-ftp " ">
9 <!ENTITY plasma5-md5sum "See Below">
10 <!ENTITY plasma5-size "116 MB">
11 <!ENTITY plasma5-buildsize "971 MB (307 MB installed)">
12 <!ENTITY plasma5-time "37 SBU">
13]>
14
15<sect1 id="plasma5-build" xreflabel="Plasma-&plasma5-version;">
16 <?dbhtml filename="plasma-all.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy: bdubbs $</othername>
20 <date>$Date: 2015-09-24 16:44:04 -0500 (Thu, 24 Sep 2015) $</date>
21 </sect1info>
22
23 <title>Building Plasma 5</title>
24
25 <indexterm zone="plasma5-build">
26 <primary sortas="a-kf5">KDE Plasma 5</primary>
27 </indexterm>
28
29 <para>KDE Plasma 5 is a collection of packages based on top of KDE Frameworks
30 5 and QML. It has been derived from the monolithic KDE 4 desktop.
31 They implement the KDE Display Environment (Plasma 5).</para>
32
33 &lfs80_checked;
34
35 <para>The instructions below build all of the Plasma 5 packages in one
36 step by using a bash script.</para>
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>Download (HTTP): <ulink url="&plasma5-download-http;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download (FTP): <ulink url="&plasma5-download-ftp;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download MD5 sum: &plasma5-md5sum;</para>
48 </listitem>
49 <listitem>
50 <para>Download size: &plasma5-size;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated disk space required: &plasma5-buildsize;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated build time: &plasma5-time;</para>
57 </listitem>
58 </itemizedlist>
59
60 <bridgehead renderas="sect3">Plasma 5 Dependencies</bridgehead>
61
62 <bridgehead renderas="sect4">Required</bridgehead>
63 <para role="required">
64 <!--<xref linkend="fontforge"/>,-->
65 <xref linkend="gtk2"/>,
66 <xref linkend="gtk3"/>,
67 <xref linkend="kf5-frameworks"/>,
68 <xref linkend="libpwquality"/>,
69 <xref linkend="libxkbcommon"/>,
70 <xref linkend="mesa"/> built with <xref linkend="wayland"/>,
71 <xref linkend="NetworkManager"/>,
72 <xref linkend="pulseaudio"/>,
73 <xref linkend="python2"/>,
74 <xref linkend="qca"/> (built with qt5),
75 <xref linkend="taglib"/>, and
76 <xref linkend="xcb-util-cursor"/>
77 </para>
78
79 <bridgehead renderas="sect4">Recommended</bridgehead>
80 <para role="recommended">
81 <xref linkend="libdbusmenu-qt"/>,
82 <xref linkend="libcanberra"/>,
83 <xref linkend="libinput"/>,
84 <xref linkend="linux-pam"/>,
85 <xref linkend="lm_sensors"/>,
86 <xref linkend="oxygen-icons5"/>, and
87 <xref linkend="pciutils"/>
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="glu"/>,
93 <xref linkend="xorg-synaptics-driver"/>,
94 <ulink url="http://distributions.freedesktop.org/wiki/AppStream">appstream-qt</ulink>,
95 <ulink url="https://github.com/ibus/ibus/wiki">ibus</ulink>,
96 <ulink url="https://www.kdevelop.org/">KDevPlatform</ulink>,
97 <ulink url="http://gpsd.berlios.de">libgps</ulink>,
98 <ulink url="https://github.com/libhybris/libhybris">libhybris</ulink>,
99 <ulink url="http://sourceforge.net/projects/libraw1394/">libraw1394</ulink>,
100 <ulink url="https://bitbucket.org/godsme/mockcpp">mockcpp</ulink>,
101 <ulink url="https://www.freedesktop.org/software/PackageKit/releases/">packagekit-qt</ulink>,
102 <ulink url="http://qalculate.sourceforge.net">Qalculate</ulink>,
103 <ulink url="https://launchpad.net/qapt">Qapt</ulink>,
104 <ulink url="https://github.com/osiam/osiam">SCIM</ulink>, and
105 <ulink url="http://www.dest-unreach.org/socat/">socat (for pam_kwallet)</ulink>
106 </para>
107
108 <para condition="html" role="usernotes">User Notes:
109 <ulink url="&blfs-wiki;/kf5"/></para>
110
111 <sect2>
112 <title>Downloading KDE Plasma5</title>
113
114 <para>
115 The easiest way to get the KDE Plasma5 packages is to use a single
116 <command>wget</command> to fetch them all at once:
117 </para>
118
119<screen><userinput>url=http://download.kde.org/stable/plasma/&plasma5-version;/
120wget -r -nH --cut-dirs=3 -A '*.xz' -np $url</userinput>
121<literal>
122The options used here are:
123 -r recurse through child directories
124 -nH disable generation of host-prefixed directories
125 --cut-dirs=3 remove three levels of directories when saving
126 -A '*.xz' just get the *.xz files
127 -np don't get parent directories</literal></screen>
128
129 </sect2>
130
131 <sect2>
132 <title>Setting Package Order</title>
133
134 <para>
135 The order of building files is important due to internal dependencies.
136 Create the list of files in the proper order as follows:
137 </para>
138
139<screen><userinput>cat &gt; plasma-&plasma5-version;.md5 &lt;&lt; "EOF"
140<literal>73bc77af6f711c06d6d3f1ef45f10160 kde-cli-tools-5.9.2.tar.xz
141626a33ac01151206d3253e8c29d435ad kdecoration-5.9.2.tar.xz
142c9b35833c8d7c393d1bbb3dabc70f0d5 libkscreen-5.9.2.tar.xz
14378dc80f2ea85bc819a232a8aa8179c69 libksysguard-5.9.2.tar.xz
1445c276dcbe1d9ed7884246a34f6a3707a breeze-5.9.2.tar.xz
145f31d99fffcf1d8b339ae4a9cfec67856 breeze-gtk-5.9.2.tar.xz
146153146a388091bf167ada1f436394d11 kscreenlocker-5.9.2.tar.xz
14754e1676160447f7c8bc56b62242809d2 oxygen-5.9.2.tar.xz
14809c1336a19629f9f2b64885b4104d23e kinfocenter-5.9.2.tar.xz
149abc2bb29f5e72c04840f24085b84a48c ksysguard-5.9.2.tar.xz
15035a815b1de64c4feb1670d21b85484e3 kwin-5.9.2.tar.xz
151d711cf51ca3b21f1bed3ec367d6fbea8 systemsettings-5.9.2.tar.xz
1520ab5467630ac11bcfe9d134449811641 plasma-workspace-5.9.2.tar.xz
1539b5ea9445306520190a54e1e72b25d81 bluedevil-5.9.2.tar.xz
154f5a8d06f99eacb828d5476001f21481c kde-gtk-config-5.9.2.tar.xz
155f9949eee01af23cf7e5c940ae24e815a khotkeys-5.9.2.tar.xz
1560183785beb44a066907c4d7a0025ba00 kmenuedit-5.9.2.tar.xz
1578c4d6b9c36d8943a4c6d29313285d5d6 kscreen-5.9.2.tar.xz
15877c383d9f4f38d962b0bfaf97740fc00 kwallet-pam-5.9.2.tar.xz
159bd8b2ccb3feef5556e54134c48dcb4cd kwayland-integration-5.9.2.tar.xz
1601eb7128d2133ba378e2d816a75241f40 kwrited-5.9.2.tar.xz
161f060f64201f77190902ceb0b2970a854 milou-5.9.2.tar.xz
162fe07081e243c21a881e74811e21e5699 plasma-nm-5.9.2.tar.xz
163843b66f9c01373a5f9e706bb0ed6857f plasma-pa-5.9.2.tar.xz
16496b3bce05e95880f2d971f0e50ddc997 plasma-workspace-wallpapers-5.9.2.tar.xz
1653b83e658f8a3d8ca163f7f386204f7c8 polkit-kde-agent-1-5.9.2.tar.xz
1660fbed265a6e2ddc201951d686c60a6c9 powerdevil-5.9.2.tar.xz
167189bca8e52a9aa49e07979a73c2027ea plasma-desktop-5.9.2.tar.xz
1687d5bcc25bb81464e4d0a48cfcd88e4d0 kdeplasma-addons-5.9.2.tar.xz
1690bd92b511f5cf038e3d2cdb3603079e1 kgamma5-5.9.2.tar.xz
1706f7b588292a1a9b8dcf9b71bb14d7db2 ksshaskpass-5.9.2.tar.xz
171#db4a5d3fba916641d011fce81cd62491 plasma-sdk-5.9.2.tar.xz
172e9b418da105db2afd0174d4c0055e82b sddm-kcm-5.9.2.tar.xz
17354aa86277d27b2a7d10945375f46e781 user-manager-5.9.2.tar.xz
174fc31095f62beb97e5794190f37f9723d discover-5.9.2.tar.xz
175#4eff8049e19ca87cab6c94d208089f62 breeze-grub-5.9.2.tar.xz
176#6ff3b8b9d178c17f7b760d5da34b4eb7 breeze-plymouth-5.9.2.tar.xz
177e64bd0bc6d95847e24b37335c4071483 kactivitymanagerd-5.9.2.tar.xz
178777a8590c34777d0e9f5c40a6226b91a plasma-integration-5.9.2.tar.xz
1799bcb2aa6e73acc860389c0dfac76c242 plasma-tests-5.9.2.tar.xz</literal>
180EOF</userinput></screen>
181
182 <note><para>The breeze-grub and breeze-plymouth packages above are both for
183 customized support of <ulink
184 url="https://www.freedesktop.org/wiki/Software/Plymouth/">Plymouth</ulink>
185 which is designed to be run within an initial ram disk during boot (see
186 <xref linkend="initramfs"/>). The plasma-sdk package is optional and used
187 for software development.</para></note>
188
189 </sect2>
190
191 <sect2 role="installation">
192 <title>Installation of Plasma5</title>
193
194 &as_root;
195
196 <para>
197 First, start a subshell that will exit on error:
198 </para>
199
200<screen><userinput>bash -e</userinput></screen>
201
202 <para>
203 Install all of the packages by running the following
204 commands:
205 </para>
206
207<screen><userinput>while read -r line; do
208
209 # Get the file name, ignoring comments and blank lines
210 if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
211 file=$(echo $line | cut -d" " -f2)
212
213 pkg=$(echo $file|sed 's|^.*/||') # Remove directory
214 packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory
215
216 tar -xf $file
217 pushd $packagedir
218
219 mkdir build
220 cd build
221
222 cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
223 -DCMAKE_BUILD_TYPE=Release \
224 -DBUILD_TESTING=OFF \
225 -Wno-dev .. &amp;&amp;
226
227 make
228 as_root make install
229 popd
230
231<!-- some packages end up with files owned by root in $packagedir,
232 so use as_root for removing -->
233 as_root rm -rf $packagedir
234 as_root /sbin/ldconfig
235
236done &lt; plasma-&plasma5-version;.md5
237
238exit
239
240cd $KF5_PREFIX/share/plasma/plasmoids
241
242for j in $(find -name \*.js); do
243 as_root ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/
244done</userinput></screen>
245
246 </sect2>
247
248 <sect2 role="commands">
249 <title>Command Explanations</title>
250
251 <para>
252 <command>ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/</command>:
253 Create symbolic links so qml files can find needed javascript modules.
254 </para>
255
256 </sect2>
257
258 <sect2 role="configuration">
259 <title>Configuring Plasma</title>
260
261 <sect3>
262 <title>Linux PAM Configuration</title>
263
264 <para>
265 If you built Plasma with the recommended <application>Linux
266 PAM</application> support, create necessary configuration files by
267 running the following commands as the <systemitem
268 class="username">root</systemitem> user:
269 </para>
270
271<screen role="root"><userinput>cat &gt;&gt; /etc/pam.d/kde &lt;&lt; "EOF"
272# Begin /etc/pam.d/kde
273
274auth requisite pam_nologin.so
275auth required pam_env.so
276
277auth required pam_succeed_if.so uid &gt;= 1000 quiet
278auth include system-auth
279
280account include system-account
281password include system-password
282session include system-session
283
284# End /etc/pam.d/kde
285EOF
286
287cat &gt; /etc/pam.d/kde-np &lt;&lt; "EOF"
288# Begin /etc/pam.d/kde-np
289
290auth requisite pam_nologin.so
291auth required pam_env.so
292
293auth required pam_succeed_if.so uid &gt;= 1000 quiet
294auth required pam_permit.so
295
296account include system-account
297password include system-password
298session include system-session
299
300# End /etc/pam.d/kde-np
301EOF
302
303cat &gt; /etc/pam.d/kscreensaver &lt;&lt; "EOF"
304# Begin /etc/pam.d/kscreensaver
305
306auth include system-auth
307account include system-account
308
309# End /etc/pam.d/kscreensaver
310EOF</userinput></screen>
311 </sect3>
312 </sect2>
313
314 <sect2 role="starting">
315 <title>Starting Plasma5</title>
316
317 <para revision="sysv">
318 You can start <application>Plasma5</application> from runlevel 3, using
319 <xref linkend="xinit"/>, or from runlevel 5, using a Display Manager,
320 such as <xref linkend="sddm"/>.
321 </para>
322
323 <para revision="systemd">
324 You can start <application>Plasma5</application> from a TTY, using
325 <xref linkend="xinit"/><!--, or from a graphical display manager, such as
326 <xref linkend="sddm"/>-->.
327 </para>
328
329 <para>
330 To start <application>Plasma 5</application> using <xref linkend="xinit"/>,
331 run the following commands:
332 </para>
333
334<screen revision="sysv"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
335<literal>ck-launch-session dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde</literal>
336EOF
337
338startx</userinput></screen>
339
340<screen revision="systemd"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
341<literal>dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde</literal>
342EOF
343
344startx</userinput></screen>
345
346 <para>
347 The X session starts on the first unused virtual terminal, normally vt7.
348 You can switch to another vt<emphasis>n</emphasis> simultaneously
349 pressing the keys Ctrl-Alt-F<emphasis>n</emphasis>
350 (<emphasis>n</emphasis>=1, 2, ...). To switch back to the X session,
351 normally started at vt7, use Ctrl-Alt-F7. The vt where the command
352 <command>startx</command> was executed will display many messages,
353 including X starting messages, applications automatically started with
354 the session, and eventually, some warning and error messages. You may
355 prefer to redirect those messages to a log file, which not only will keep
356 the initial vt uncluttered, but can also be used for debugging purposes. This
357 can be done starting X with:
358 </para>
359
360 <screen><userinput>startx &amp;&gt; ~/x-session-errors</userinput></screen>
361
362 <note revision="sysv">
363 <para>
364 You may wish to drop consolekit and/or dbus-launch, e.g., just using
365 startkde in ~/.xinitrc. However some capabilities such as mounting or
366 umounting file systems from a file manager will not be possible, or the
367 reboot option may be absent or inoperative, among other problems.
368 </para>
369 </note>
370 <para>
371 When shutting down or rebooting, the shutdown messages appear on the vt
372 where X was running. If you wish to see those messages, simultaneously
373 press keys Alt-F7 (assuming that X was running on vt7).
374 </para>
375
376 <para>If you intend to start <application>Plasma</application> using a
377 display manager such as <xref linkend="sddm"/>, there will be two entries
378 for <application>Plasma</application>, one for use with
379 <application>Xorg</application>, and another for
380 <application>Wayland</application>. Modify the
381 <application>Xorg</application> entry with the following command, as the
382 <systemitem class="username">root</systemitem> user, so that you can
383 differentiate between the two:</para>
384
385<screen><userinput role="root">sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop</userinput></screen>
386
387
388 </sect2>
389
390 <sect2 role="content">
391 <title>Contents</title>
392
393 <segmentedlist>
394 <segtitle>Installed Programs</segtitle>
395 <segtitle>Installed Libraries</segtitle>
396 <segtitle>Installed Directories</segtitle>
397
398 <seglistitem>
399 <seg>
400 There are too many plasma programs (50 in /opt/kf5/bin) to list
401 separately here.
402 </seg>
403 <seg>
404 There are too many plasma libraries (39 in /opt/kf5/lib) to list
405 separately here.
406 </seg>
407 <seg>
408 There are too many plasma directories (over 1000 in /opt/kf5) to
409 list separately here.
410 </seg>
411 </seglistitem>
412 </segmentedlist>
413
414 </sect2>
415
416</sect1>
417
Note: See TracBrowser for help on using the repository browser.