Building Plasma 5

KDE Plasma 5 is a collection of packages based on top of KDE Frameworks 5 and QML. It has been derived from the monolithic KDE 4 desktop. They implement the KDE Display Environment (Plasma 5).

本パッケージは LFS-8.0 において正しくビルドでき動作することが確認されています。

The instructions below build all of the Plasma 5 packages in one step by using a bash script.

Package Information

Plasma 5 Dependencies

Required

GTK+-2.24.31, GTK+-3.22.18, KDE Frameworks-5.34.0, libpwquality-1.4.0, libxkbcommon-0.7.2, Mesa-17.1.6 built with Wayland-1.14.0, NetworkManager-1.8.0, PulseAudio-10.0, Python-2.7.13, qca-2.1.1 (built with qt5), taglib-1.11.1, and xcb-util-cursor-0.1.3

Recommended

Optional

GLU-9.0.0, IBus-1.5.16, Xorg Synaptics Driver-1.9.0, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, and socat (for pam_kwallet)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/kf5

Downloading KDE Plasma5

The easiest way to get the KDE Plasma5 packages is to use a single wget to fetch them all at once:

url=http://download.kde.org/stable/plasma/5.10.0/
wget -r -nH -nd -A '*.xz' -np $url

The options used here are:
  -r            recurse through child directories
  -nH           disable generation of host-prefixed directories
  -nd           do not create a hierarchy of directories
  -A '*.xz'     just get the *.xz files
  -np           don't get parent directories

Setting Package Order

The order of building files is important due to internal dependencies. Create the list of files in the proper order as follows:

cat > plasma-5.10.0.md5 << "EOF"
385dedd91c52692248582590afb1fada kde-cli-tools-5.10.0.tar.xz
97251f0737fedeb8e718da52fb2e3c4f kdecoration-5.10.0.tar.xz
93cf21d6485c2207b01a36493687021a libkscreen-5.10.0.tar.xz
4dc7f5d5fd0fb1c78ba0d7442c643439 libksysguard-5.10.0.tar.xz
c3ee9712d1b5e76c60e520369d8d0203 breeze-5.10.0.tar.xz
e3abfe588d5d606c1bd9feb57296f2df breeze-gtk-5.10.0.tar.xz
3234d0bbfbf2ca277e835c25b8c8e347 kscreenlocker-5.10.0.tar.xz
76ac64277d4e0329baa4b119dbe1d872 oxygen-5.10.0.tar.xz
f4fdc03dded336fb79dcb1d41198f12b kinfocenter-5.10.0.tar.xz
eeb495ac4971114e4c378f749b307d5a ksysguard-5.10.0.tar.xz
ca95a965a3a165c1fdaa6db8b33efa8d kwin-5.10.0.tar.xz
15a6eb395aae2b2c12eed4ebb0806853 systemsettings-5.10.0.tar.xz
b58e8037c09011abf1e868df1d5bc401 plasma-workspace-5.10.0.tar.xz
c0cd10543a62358d73060747e950c19b bluedevil-5.10.0.tar.xz
d65869affd1204d8056efca6a20fd37b kde-gtk-config-5.10.0.tar.xz
53ff209275740023066ddcf3f930ddce khotkeys-5.10.0.tar.xz
cf6a4611f2c35a32e2571dc13ea0a348 kmenuedit-5.10.0.tar.xz
b34337a7849c39b5b9710ce4ec06ecd7 kscreen-5.10.0.tar.xz
82847e071a55f526150f3b945d9cd13e kwallet-pam-5.10.0.tar.xz
50a1816d7d70246a9c7bcc08cfe6a014 kwayland-integration-5.10.0.tar.xz
83a93dbc26f874e8da5b5b5f61a53450 kwrited-5.10.0.tar.xz
2a49140e706662d4543d2ab43ed833f0 milou-5.10.0.tar.xz
976e21025c3a18331ba450f304c68720 plasma-nm-5.10.0.tar.xz
7c6186fb1356fe457f4c8ab9e68ee343 plasma-pa-5.10.0.tar.xz
d7cc2d1c45442672bb528cbcfb3e7b0c plasma-workspace-wallpapers-5.10.0.tar.xz
3a2ba731b5668c806ab40e2efe285ef2 polkit-kde-agent-1-5.10.0.tar.xz
7acf9ead83f2ed6f676115351a41742a powerdevil-5.10.0.tar.xz
d1edc632e923a66c578b0b301221efb1 plasma-desktop-5.10.0.tar.xz
93fd41d84118483582bf2d2cfe39d8d4 kdeplasma-addons-5.10.0.tar.xz
e6658da2bb79caedeba733c0c1fcfc95 kgamma5-5.10.0.tar.xz
f90500aaf1f2ee90cd2d248d646bf44f ksshaskpass-5.10.0.tar.xz
#bc5650a67220f5ec2c7556635a4e15b7 plasma-sdk-5.10.0.tar.xz
00e5f4bec1a304d756e87e9c52269306 sddm-kcm-5.10.0.tar.xz
814f9ecc0299de76d722de7020c19bd5 user-manager-5.10.0.tar.xz
1070622fea6faa5952b724028c14bc7d discover-5.10.0.tar.xz
#330e2a7c084a432aed63d0a31c54df1e breeze-grub-5.10.0.tar.xz
#0059b846bb6236adad2e5b5d0df3c2d6 breeze-plymouth-5.10.0.tar.xz
a35ae2e6c7ef48234841b416769a17ac kactivitymanagerd-5.10.0.tar.xz
24c9a41664ffa89768df14005335e7bc plasma-integration-5.10.0.tar.xz
182f5a883551ab5a789cf8afd3212d64 plasma-tests-5.10.0.tar.xz
#480568df95a0d73829e9b3478c130917 plymouth-kcm-5.10.0.tar.xz
6e3f734d83271fa7a28176faf9649688 xdg-desktop-portal-kde-5.10.0.tar.xz
EOF
[注記]

注記

The breeze-grub, breeze-plymouth, and plymouth-kcm packages above are all for customized support of Plymouth which is designed to be run within an initial ram disk during boot (see initramfs について項). The plasma-sdk package is optional and used for software development.

Installation of Plasma5

[注記]

注記

複数のパッケージを一つのスクリプトを使って一気にインストールする場合には、ルートユーザーとして実行することが必要となります。 その場合には、以下に示す3つの方法のいずれかを採用することになります。

  1. スクリプトの実行自体をルートユーザーにより行う。(ただし推奨はしません。)

  2. Sudo-1.8.20p2 パッケージの sudo コマンドを利用する。

  3. su -c "コマンド 引数" の形 (クォーテーションが必要) を利用する。 この場合はコマンドの実行の都度、ルートパスワードの入力が必要になります。

この状況を取り扱う一つの手法として、以下のような bash スクリプトにより適切な方法を自動的に選択する方法が考えられます。 一度コマンドをセットしておけば、再びセットする必要はありません。

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

First, start a subshell that will exit on error:

bash -e

Install all of the packages by running the following commands:

while read -r line; do

    # Get the file name, ignoring comments and blank lines
    if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
    file=$(echo $line | cut -d" " -f2)

    pkg=$(echo $file|sed 's|^.*/||')          # Remove directory
    packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory

    tar -xf $file
    pushd $packagedir

       mkdir build
       cd    build

       cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
             -DCMAKE_BUILD_TYPE=Release         \
             -DBUILD_TESTING=OFF                \
             -Wno-dev ..  &&

        make
        as_root make install
    popd


    as_root rm -rf $packagedir
    as_root /sbin/ldconfig

done < plasma-5.10.0.md5

exit

cd $KF5_PREFIX/share/plasma/plasmoids

for j in $(find -name \*.js); do
  as_root ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/
done

Command Explanations

ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/: Create symbolic links so qml files can find needed javascript modules.

Configuring Plasma

Linux PAM Configuration

If you built Plasma with the recommended Linux PAM support, create necessary configuration files by running the following commands as the root user:

cat >> /etc/pam.d/kde << "EOF"
# Begin /etc/pam.d/kde

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     include        system-auth

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde
EOF

cat > /etc/pam.d/kde-np << "EOF"
# Begin /etc/pam.d/kde-np

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     required       pam_permit.so

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde-np
EOF

cat > /etc/pam.d/kscreensaver << "EOF"
# Begin /etc/pam.d/kscreensaver

auth    include system-auth
account include system-account

# End /etc/pam.d/kscreensaver
EOF

Starting Plasma5

You can start Plasma5 from runlevel 3, using xinit-1.3.4, or from runlevel 5, using a Display Manager, such as sddm-0.14.0.

To start Plasma 5 using xinit-1.3.4, run the following commands:

cat > ~/.xinitrc << "EOF"
ck-launch-session dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde
EOF

startx

The X session starts on the first unused virtual terminal, normally vt7. You can switch to another vtn simultaneously pressing the keys Ctrl-Alt-Fn (n=1, 2, ...). To switch back to the X session, normally started at vt7, use Ctrl-Alt-F7. The vt where the command startx was executed will display many messages, including X starting messages, applications automatically started with the session, and eventually, some warning and error messages. You may prefer to redirect those messages to a log file, which not only will keep the initial vt uncluttered, but can also be used for debugging purposes. This can be done starting X with:

startx &> ~/x-session-errors
[注記]

注記

You may wish to drop consolekit and/or dbus-launch, e.g., just using startkde in ~/.xinitrc. However some capabilities such as mounting or umounting file systems from a file manager will not be possible, or the reboot option may be absent or inoperative, among other problems.

When shutting down or rebooting, the shutdown messages appear on the vt where X was running. If you wish to see those messages, simultaneously press keys Alt-F7 (assuming that X was running on vt7).

If you intend to start Plasma using a display manager such as sddm-0.14.0, there will be two entries for Plasma, one for use with Xorg, and another for Wayland. Modify the Xorg entry with the following command, as the root user, so that you can differentiate between the two:

sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop

Contents

Installed Programs: There are too many plasma programs (50 in /opt/kf5/bin) to list separately here.
Installed Libraries: There are too many plasma libraries (39 in /opt/kf5/lib) to list separately here.
Installed Directories: There are too many plasma directories (over 1000 in /opt/kf5) to list separately here.

最終更新日: 2015-09-24 16:44:04 -0500