Bygge Plasma 5

KDE Plasma 5 er en samling pakker basert på toppen av KDE Rammeverk 5 og QML. De implementerer KDE Skjermmiljø (Plasma 5).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Instruksjonene nedenfor bygger alle Plasma 5 pakkene i et trinn ved å bruke et bashskript.

Pakkeinformasjon

Plasma 5 Avhengigheter

Påkrevd

GTK+-3.24.41, KDE Frameworks-5.115.0, kuserfeedback-1.3.0, libpwquality-1.4.5, libqalculate-4.9.0, libxcvt-0.1.2, libxkbcommon-1.6.0, Mesa-24.0.1 bygget med Wayland-1.22.0, NetworkManager-1.44.2, pipewire-1.0.3, PulseAudio-17.0, qca-2.3.8, sassc-3.6.2, taglib-2.0, og xcb-util-cursor-0.1.4

Anbefalt

Anbefalt (kjøretid)

Valgfri

AppStream-1.0.1 (bygget med -qt=true), GLU-9.0.3, ibus-1.5.29, qtwebengine-5.15.17, Xorg Synaptics Driver-1.9.2, KDevPlatform, libgps, libhybris, libraw1394, packagekit-qt, Qalculate, Qapt, SCIM, og socat (for pam_kwallet)

[Note]

Note

qtwebengine-5.15.17 er nødvendig for aura nettleseren. Den er også valgfritt for to andre pakker: libksysguard og kdeplasma programtillegg. Hvis QtWebEngine installeres senere, bare disse to pakkene må bygges om. Dette tillater en mer komplett visning i systemmonitorapplikasjonen.

Nedlaste KDE Plasma5

Den enkleste måten å få KDE Plasma5 pakkene på er å bruke en singel wget for å hente dem alle på en gang:

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

Alternativene som brukes her er:
  -r            gjentakelse gjennom undermapper
  -nH           deaktiver generering av vertsprefikserte mapper
  -nd           ikke lag et hierarki av mapper
  -A '*.xz'     bare hent *.xz filene
  -np           ikke hent overordnede kataloger

Angi Pakkerekkefølge

Rekkefølgen på byggefiler er viktig på grunn av interne avhengigheter. Lag listen over filer i riktig rekkefølge som følger:

cat > plasma-5.27.10.md5 << "EOF"
a1361a811dc93389d0ce771d1ff82c3a  kdecoration-5.27.10.tar.xz
1f491e823bc83df650d04d5d9948da45  libkscreen-5.27.10.tar.xz
571aa0c18a14ee74f3081f96f73a7f9d  libksysguard-5.27.10.tar.xz
541d1b06db3b707a7a73df1526f37b44  breeze-5.27.10.tar.xz
9acdc232ea675b761e7386837f25f420  breeze-gtk-5.27.10.tar.xz
54562594af547614648cded522c3e747  layer-shell-qt-5.27.10.tar.xz
c44cfe3ba7fb03fc30b2ae305f16ed79  kscreenlocker-5.27.10.tar.xz
171949dd2dfc3b2325c959389694860a  oxygen-5.27.10.tar.xz
0ef8d9f18707712fc4bcccf59138f2c7  kinfocenter-5.27.10.tar.xz
e4e4409af71c4f5a67aa35c04f6b2bc7  kwin-5.27.10.tar.xz
5c2ff5158503e983207e700ce513e929  plasma-workspace-5.27.10.tar.xz
46001c7671f7ff2f08ca0dd9c3cdbf3f  plasma-disks-5.27.10.tar.xz
820566ae6effedbdd208a78e0031bf67  bluedevil-5.27.10.tar.xz
490bd81c915f332b65631b87b6eaa49d  kde-gtk-config-5.27.10.tar.xz
7cade9cfce3ef14f14f55cd7a50fd7cf  khotkeys-5.27.10.tar.xz
e98c999e6ee7f9bbe775d4e512368420  kmenuedit-5.27.10.tar.xz
24bc4ed3ad5587bd05591aafd758df2c  kscreen-5.27.10.tar.xz
3ab1c88cf91f0fb46ae3395d57709e12  kwallet-pam-5.27.10.tar.xz
53d59d76b3dfac5f755d607798b08f85  kwayland-integration-5.27.10.tar.xz
d7a9f2999352e91d504d52ad65336d9b  kwrited-5.27.10.tar.xz
8a51e19d58acebb89a919b7377d8bc83  milou-5.27.10.tar.xz
0e11c62c2a23d161b5b8cbe6e87517bc  plasma-nm-5.27.10.tar.xz
02657d8fd46384f75ffe9c504f7c97b4  plasma-pa-5.27.10.tar.xz
5c1cbd459e786deb16d5615748114bfa  plasma-workspace-wallpapers-5.27.10.tar.xz
17302ca60f68e13e85bc24a4ec873622  polkit-kde-agent-1-5.27.10.tar.xz
cc39dc5777614bd89ae96d38008dc7c9  powerdevil-5.27.10.tar.xz
2417bb974152d4f2274ebe3b7b524ca8  plasma-desktop-5.27.10.tar.xz
f51521902f0665349c0fa012590a1eec  kgamma-5.27.10.tar.xz
e95d6813c180b078be4bf40550791e26  ksshaskpass-5.27.10.tar.xz
#8c52fad441ffe43969458ae71b6a2f26  plasma-sdk-5.27.10.tar.xz
1af573d08dd99879f27c5a2b55b02bc9  sddm-kcm-5.27.10.tar.xz
#560ac5c60112e18bb44c46eec3563d7d  discover-5.27.10.tar.xz
#3af40cfe47213087d2a8c89132ff004d  discover-5.27.10.1.tar.xz
#2cd0a4e1e3e89197e18f48d893c0f2d6  breeze-grub-5.27.10.tar.xz
#fe7bb4efec17206a9faceb9cfe35fbf5  breeze-plymouth-5.27.10.tar.xz
5bbb5c7a2985f8d7b8816a35d517d333  kactivitymanagerd-5.27.10.tar.xz
c1810c7d54842028fb5968097add5538  plasma-integration-5.27.10.tar.xz
#75bedf5da4b7497a18238011d12bec26  plymouth-kcm-5.27.10.tar.xz
440dd7cb1f43d7d86862a1165b48c4f2  xdg-desktop-portal-kde-5.27.10.tar.xz
657984f8356578253e1911c8d35041f6  drkonqi-5.27.10.tar.xz
912db896afe71a8283e36037b4bba79e  plasma-vault-5.27.10.tar.xz
e03d33ca8a9905df3c2901cef5512a14  plasma-browser-integration-5.27.10.tar.xz
30797f3809675e61542518f9b15be2c3  kde-cli-tools-5.27.10.tar.xz
1319f82a4043456a4cb99cfcc2ba90fe  systemsettings-5.27.10.tar.xz
2861104cf1e31393d9cd87701042d3aa  plasma-thunderbolt-5.27.10.tar.xz
#79ffc86387c7024bd834b349fba9b79f  plasma-nano-5.27.10.tar.xz
#802d5a3cd34f5ec3825c21905f0ed9db  plasma-mobile-5.27.10.tar.xz
1f4875f2cf9c0d949961aa9ad6635e6f  plasma-firewall-5.27.10.tar.xz
b6648b45d9824b565dda1f100e7d83a6  plasma-systemmonitor-5.27.10.tar.xz
8e46e5afde739a6361b1838f71eb182d  qqc2-breeze-style-5.27.10.tar.xz
fd93592f9895c5c09f4c0db771c1710a  ksystemstats-5.27.10.tar.xz
4f55bb4490751abb23046165d68e8ca7  oxygen-sounds-5.27.10.tar.xz
#6300c88c07debeb60760dede52a791ee  aura-browser-5.27.10.tar.xz
00afc45528267a5e2ec11b47b8a7779b  kdeplasma-addons-5.27.10.tar.xz
7f432fbb0d205d6e30714e731f91a459  kpipewire-5.27.10.tar.xz
5f37a2e3acf00a0616e13d86ed225d7f  plank-player-5.27.10.tar.xz
f3a08cefe61643273a9e06cfd6b2746a  plasma-bigscreen-5.27.10.tar.xz
a69142a27ab62c583fa5d4d4577427ff  plasma-remotecontrollers-5.27.10.tar.xz
#16e67ca215d44ec59130214ca6e13e80  flatpak-kcm-5.27.10.tar.xz
#4ef3e1d988e5edfa8ee20f9373a82680  plasma-welcome-5.27.10.tar.xz
EOF
[Note]

Om Kommenterte ut Pakker

Breeze-grub, breeze-plymouth og plymouth-kcm pakkene ovenfor er alle for tilpasset støtte av Plymouth som er designet for å kjøres på en innledende ram-disk under oppstart (se the section called “Om initramfs”). plasma-sdk pakken er valgfri og brukes til programvareutvikling. plasma-nano pakken brukes til innebygde systemer. plasma-mobile pakken gir telefonfunksjonalitet for plasma. Aura nettleserpakken krever qtwebengine-5.15.17. discover pakken krever AppStream-1.0.1 for å bygges med -Dqt=true-bryteren. discover-5.27.10.1 versjonen av pakken er en oppdatering til forrige versjon. plasma-welcome pakken krever ekstern pakke kaccounts-integration. Flatpack-kcm pakken er for å administrere støtte for flatpack applikasjoner.

Installasjon av Plasma5

[Note]

Note

Når du installerer flere pakker i et skript, installasjonen må gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.15p5 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

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

export -f as_root

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

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.27.10.md5

exit

Hvis du ikke satte $KF5_PREFIX til /usr, lage symbolkoblinger for å tillate skjermbehandlere å finne Plasma, og for å tillate XDG Desktop Portal å bli oppdaget:

as_root install -dvm 755 /usr/share/xsessions              &&
cd /usr/share/xsessions/                                   &&
[ -e plasma.desktop ]                                      ||
as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop &&
as_root install -dvm 755 /usr/share/wayland-sessions       &&
cd /usr/share/wayland-sessions/                            &&
[ -e plasmawayland.desktop ]                               ||
as_root ln -sfv $KF5_PREFIX/share/wayland-sessions/plasmawayland.desktop
as_root install -dvm 755 /usr/share/xdg-desktop-portal     &&
cd /usr/share/xdg-desktop-portal/                          &&
[ -e kde-portals.conf ]                                    ||
as_root ln -sfv $KF5_PREFIX/share/xdg-desktop-portal/kde-portals.conf
as_root install -dvm 755 /usr/share/xdg-desktop-portal/portals &&
cd /usr/share/xdg-desktop-portal/portals                       &&
[ -e kde.portal ]                                              ||
as_root ln -sfv $KF5_PREFIX/share/xdg-desktop-portal/portals/kde.portal

Ubrukelige systemd enheter er installert i $KF5_PREFIX/lib. Fjern dem nå (som root):

rm -rf $KF5_PREFIX/lib/systemd

Konfigurere Plasma

Linux PAM Konfigurasjon

Hvis du bygget Plasma med den anbefalte Linux PAM støtten, opprett nødvendige konfigurasjonsfiler ved å kjøre følgende kommandoer som root bruker:

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

Starte Plasma5

Du kan starte Plasma5 fra kjørenivå 3, ved hjelp av xinit-1.4.2, eller fra kjørenivå 5, ved å bruke en Skjermbehandler, som for eksempel lightdm-1.32.0.

For å starte Plasma 5 ved bruk av xinit-1.4.2, kjør følgende kommandoer:

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 $KF5_PREFIX/bin/startplasma-x11
EOF

startx

X økten starter på den første ubrukte virtuelle terminalen, normalt vt7. Du kan bytte til en annen vtn samtidig med å trykke på tastene Ctrl-Alt-Fn (n=1, 2, ...). For å bytte tilbake til X økten, vanligvis startet på vt7, bruk Ctrl-Alt-F7. Vt hvor kommandoen startx ble utført vil vise mange meldinger, inkludert X startmeldinger, applikasjoner startet automatisk med økten, og til slutt noen advarsler og feilmeldinger. Du kan foretrekke å omdirigere disse meldingene til en loggfil, som ikke bare vil beholde den innledende vt ryddig, men kan også brukes til feilsøkingsformål. Dette kan gjøres fra X med:

startx &> ~/x-session-errors

Når du slår av eller starter på nytt, vises avslutningsmeldingene på vt hvor X kjørte. Hvis du ønsker å se disse meldingene, samtidig trykk på tastene Alt-F7 (forutsatt at X kjørte på vt7).

Innhold

Installerte Programmer: Det er for mange plasma programmer (63 i /opt/kf5/bin) til å ramse opp separat her.
Installerte Biblioteker: Det er for mange plasma biblioteker (40 i /opt/kf5/lib) til å ramse opp separat her.
Installerte Mapper: Det er for mange plasma mapper (over 1000 i /opt/kf5) til å ramse opp separat her.