glfs/lxqt/desktop/pre-install.xml

235 lines
7.3 KiB
XML
Raw Normal View History

2023-06-18 00:37:23 +08:00
<?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;
]>
<sect1 id="lxqt-pre-install" xreflabel="LXQt Pre-Install">
<?dbhtml filename="pre-install.html"?>
<title>LXQt Desktop Pre-Install Instructions</title>
<indexterm zone="lxqt-pre-install">
<primary sortas="g-lxqt-pre-install">LXQt Pre-Install</primary>
</indexterm>
2023-06-20 12:26:59 +08:00
2023-06-18 00:37:23 +08:00
<para>
LXQt can be installed in /usr or /opt/lxqt.
</para>
<sect2>
<title>Installing in /usr</title>
<para>
Installing in <filename class="directory">/usr</filename> creates
a simpler setup. Run:
</para>
<screen><userinput>export LXQT_PREFIX=/usr</userinput></screen>
<para>
Either add that to your own <filename>.bash_profile</filename>
so that it will still be set if you build the packages over a
period of time, or else add it to the system profile as the
2023-06-23 12:14:37 +08:00
&root; user:
2023-06-18 00:37:23 +08:00
</para>
<screen role="root"><userinput>cat &gt; /etc/profile.d/lxqt.sh &lt;&lt; "EOF"
<literal># Begin LXQt profile
export LXQT_PREFIX=/usr
# End LXQt profile</literal>
EOF</userinput></screen>
<para>
There is no other configuration needed to install LXQt in
<filename class="directory">/usr</filename>.
</para>
</sect2>
<sect2>
<title>Installing in /opt/lxqt</title>
<para>
Installing in <filename class="directory">/opt/lxqt</filename> may
simplify upgrading to a later version of LXQt.
</para>
<para>
Some variables need to be defined in your system profile, as the
2023-06-23 12:14:37 +08:00
&root; user:
2023-06-18 00:37:23 +08:00
</para>
2023-06-25 05:05:59 +08:00
<screen role="root"><userinput>install -vdm755 /opt/lxqt/{bin,lib}
2023-06-18 00:37:23 +08:00
cat &gt; /etc/profile.d/lxqt.sh &lt;&lt; "EOF"
<literal># Begin LXQt profile
export LXQT_PREFIX=/opt/lxqt
pathappend /opt/lxqt/bin PATH
pathappend /opt/lxqt/share/man/ MANPATH
pathappend /opt/lxqt/lib/pkgconfig PKG_CONFIG_PATH
pathappend /opt/lxqt/lib/plugins QT_PLUGIN_PATH
2023-06-24 12:29:12 +08:00
export CMAKE_PREFIX_PATH=$LXQT_PREFIX
# End LXQt profile</literal>
2023-06-18 00:37:23 +08:00
EOF
cat &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
2023-06-20 12:26:59 +08:00
<literal># Begin Qt5 changes for LXQt
2023-06-18 00:37:23 +08:00
pathappend $QT5DIR/plugins QT_PLUGIN_PATH
# End Qt5 changes for LXQt</literal>
EOF</userinput></screen>
<para>
Expand your <filename>/etc/ld.so.conf</filename> file:
</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; "EOF"
2023-06-20 12:26:59 +08:00
<literal># Begin LXQt addition
2023-06-18 00:37:23 +08:00
/opt/lxqt/lib
# End LXQt addition
</literal>
EOF</userinput></screen>
<para>
Before starting to install the packages in the following pages, remember
to execute:
</para>
<screen><userinput>source /etc/profile</userinput></screen>
<para>
Some packages from the KF5 bundle and lxqt packagesinstall files into
files in /usr/share, but look in $LFS_PREFIX/share. In order to have
applications find these files, create a symlink between these directories.
Run the following commands as the &root; user:
2023-06-18 00:37:23 +08:00
</para>
<screen role="root"><userinput>source /etc/profile &amp;&amp;
install -v -dm755 $LXQT_PREFIX &amp;&amp;
ln -sfv /usr/share $LXQT_PREFIX</userinput></screen>
2023-06-18 00:37:23 +08:00
<!--install -v -dm755 $LXQT_PREFIX/share/icons &amp;&amp;-->
2023-06-18 00:37:23 +08:00
<tip>
<para>
Sometimes, the installation paths are hardcoded into installed files.
This is the reason why <filename class="directory">/opt/lxqt</filename>
is used as installation prefix instead of <filename
class="directory">/opt/lxqt-&lxqt-version;</filename>. After installing
<application>LXQt Desktop</application>, you may rename the directory
and create a symlink:
</para>
<screen role="root"><userinput>mv /opt/lxqt{,-&lxqt-version;}
ln -sfv lxqt-&lxqt-version; /opt/lxqt</userinput></screen>
<para>
Later on, you may want to install other versions of <application>LXQt
Desktop</application>. To do that, just remove the symlink and use
<filename class="directory">/opt/lxqt</filename> as the prefix again.
Which version of <application>LXQt Desktop</application> you use
depends only on where the symlink points. No other reconfiguration will
be needed.
</para>
</tip>
</sect2>
<sect2>
<title>Notes about building LXQt dependencies</title>
<para>
<application>LXQt</application> obviously needs <xref linkend="qt5"/>,
but not all Qt5 modules and dependencies are necessary. Since the aim
of <application>LXQt</application> is to be light weight, it may be
interesting to cut down the Qt5 overhead, and to build only parts of it.
To build Qt and LXQT dependencies, the proposed order is the following:
</para>
<procedure>
<step>
<para>
Build <xref linkend="linux-pam"/>, <xref linkend="shadow"/>,
and <xref linkend="sudo"/>, with their dependencies
</para>
</step>
<step>
<para>
Build the whole <xref linkend="x-window-system"/> chapter, with
Wayland support, and replacing twm vith <xref linkend="openbox"/>
(and its required dependencies). Some Xorg applications and fonts
may be omitted, but with a negligible impact on build time and size
</para>
</step>
2023-06-18 00:37:23 +08:00
<step>
<para>
Build required Qt dependencies, and some of the recommended or
optional dependencies, namely:
<xref linkend="dbus"/>,
2023-06-20 12:26:59 +08:00
<xref linkend="double-conversion"/>,
<xref linkend="libjpeg"/>,
<xref linkend="libxkbcommon"/>, and
<xref linkend="shared-mime-info"/>
2023-06-18 00:37:23 +08:00
</para>
</step>
<step>
<para>
Build the required parts of <xref linkend="qt5"/>. To skip all
2023-06-21 11:04:28 +08:00
modules but the those needed for LXQt, do:
2023-06-18 00:37:23 +08:00
</para>
<screen role="nodump"><userinput>ls -Fd qt* | grep / | sed 's/^/-skip /;s/qt//;s@/@@' > tempconf
2023-06-21 11:04:28 +08:00
sed -i '/base/d;/tools/d;/x11extras/d;/svg/d;/declarative/d;/wayland/d' tempconf
2023-06-18 00:37:23 +08:00
./configure &lt;book flags&gt; $(cat tempconf)</userinput></screen>
<para>
The time needed to complete the Qt installation is thus reduced to
around 6 SBU
</para>
</step>
<step>
<para>
Build miscellaneous dependencies (with their required ones):
<xref linkend="libexif"/>,
<xref linkend="libstatgrab"/>,
2023-06-22 12:42:18 +08:00
<xref linkend="lm_sensors"/>,
<xref linkend="menu-cache"/>,
2023-06-18 00:37:23 +08:00
<phrase revision="sysv">
<xref linkend="pm-utils"/>,
</phrase>
2023-06-22 12:42:18 +08:00
<xref linkend="polkit"/>,
<xref linkend="pulseaudio"/>, and
<xref linkend="upower"/>.
2023-06-18 00:37:23 +08:00
</para>
</step>
<step>
<para>
Build KDE frameworks dependencies:
<xref linkend="extra-cmake-modules"/>,
2023-06-21 11:04:28 +08:00
<xref linkend="libdbusmenu-qt"/>,
<xref linkend="plasma-wayland-protocols"/>, and
2023-06-22 12:42:18 +08:00
<xref linkend="polkit-qt"/>.
2023-06-18 00:37:23 +08:00
</para>
</step>
<step>
<para>
Finally, build some desktop utilities:
<xref linkend="xdg-utils"/> (needs only xmlto),
2023-06-22 12:42:18 +08:00
<xref linkend="xdg-user-dirs"/>, and
<xref linkend="oxygen-icons5"/> or other sets of icons.
2023-06-18 00:37:23 +08:00
</para>
</step>
</procedure>
</sect2>
</sect1>