"Plasma" 5 do "KDE" é uma coleção de pacotes baseados no "Frameworks" 5 do "KDE" e "QML". Eles implementam o Ambiente de Exibição do "KDE" ("Plasma" 5).
Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0.
As instruções abaixo constroem todos os pacotes do "Plasma" 5 em uma etapa usando um conjunto de comandos sequenciais do "Bash".
Transferência (HTTP): https://download.kde.org/stable/plasma/5.27.7
Soma de verificação MD5 da transferência: Veja-se Abaixo
Tamanho da transferência: 258 MB
Espaço em disco estimado exigido: 1,7 GB (419 MB instalado)
Tempo de construção estimado: 19 UPC (usando paralelismo = 4)
GTK+-2.24.33, GTK+-3.24.38, KDE Frameworks-5.109.0, kuserfeedback-1.2.0, libpwquality-1.4.5, libqalculate-4.7.0, libxkbcommon-1.5.0, Mesa-23.1.6 construído com Wayland-1.22.0, NetworkManager-1.44.0, pipewire-0.3.77, PulseAudio-16.1, qca-2.3.7, sassc-3.6.2, taglib-1.13.1 e xcb-util-cursor-0.1.4
fftw-3.3.10, gsettings-desktop-schemas-44.0, libdbusmenu-qt-0.9.3+16.04.20160218, libcanberra-0.30, libinput-1.23.0, libpcap-1.10.4, Linux-PAM-1.5.3, lm-sensors-3-6-0, oxygen-icons5-5.109.0 e pciutils-3.10.0
AccountsService-23.13.9, smartmontools-7.4 e Xwayland-23.2.0
GLU-9.0.3, ibus-1.5.28, qtwebengine-5.15.15, Controlador Synaptics do Xorg-1.9.2, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM e socat (para o "pam_kwallet")
qtwebengine-5.15.15 é exigido para aura-browser. Também é opcional para dois outros pacotes: libksysguard e kdeplasma-addons. Se QtWebEngine for instalado posteriormente, somente esses dois pacotes precisarão ser reconstruídos. Isso permite uma exibição mais completa no aplicativo de monitoramento do sistema.
Observações de Editor(a): https://wiki.linuxfromscratch.org/blfs/wiki/kf5
A maneira mais fácil de obter os pacotes do "Plasma5" do "KDE" é a de usar um "wget" para buscá-los todos de uma vez:
url=https://download.kde.org/stable/plasma/5.27.7/
wget -r -nH -nd -A '*.xz' -np $url
As opções usadas aqui são:
-r recursar ao longo de diretórios descentes
-nH desabilitar a geração de diretórios com prefixo de dispositivo
-nd não crie uma hierarquia de diretórios
-A '*.xz' apenas obter os arquivos *.xz
-np não obtenha diretórios ancestrais
A ordem de construção dos arquivos é importante devido às dependências internas. Crie a lista de arquivos na ordem correta conforme segue:
cat > plasma-5.27.7.md5 << "EOF"
f8e36636128efc0172b0664df372f350 kdecoration-5.27.7.tar.xz
0f40e7e4ef0675cf06afc828c6056821 libkscreen-5.27.7.tar.xz
fdbbd274867d8013631eb66f889da983 libksysguard-5.27.7.tar.xz
6d0358ed7bbb27557c073cfce675120f breeze-5.27.7.tar.xz
7dac534103b595e861fb923e0a46af8a breeze-gtk-5.27.7.tar.xz
27839d93e7bf42bd8e6e9d822572a3d3 layer-shell-qt-5.27.7.tar.xz
56e13a523dc2b27dd2fe7d17cf87c427 kscreenlocker-5.27.7.tar.xz
1806b24c107c30a0144be0c58361c391 oxygen-5.27.7.tar.xz
b3b25a757de32befe4c282ebc9b928c3 kinfocenter-5.27.7.tar.xz
f992f11ed7704e94809f4a609b444074 kwin-5.27.7.tar.xz
5aa3a8e2e8c97b182cb15090f9149831 plasma-workspace-5.27.7.tar.xz
2b3c139e30eaaf4cf42706c9e6212ca5 plasma-disks-5.27.7.tar.xz
a347a0848863114e96ca25868b1d2483 bluedevil-5.27.7.tar.xz
77731f7530552c096785e938554c5c0e kde-gtk-config-5.27.7.tar.xz
19a17f02655872c827380bd1fc485b50 khotkeys-5.27.7.tar.xz
4777cae88cb32e1dc77d6765f3cf17e3 kmenuedit-5.27.7.tar.xz
a9618c0aa86cf8d0186e146aef644cd7 kscreen-5.27.7.tar.xz
d75c043ef114b2b590f8ede12bb86a24 kwallet-pam-5.27.7.tar.xz
9c4ebb3d608c08c83b87a880b731ef11 kwayland-integration-5.27.7.tar.xz
2d04936cfcdb3da0ecab6b9c7f83339e kwrited-5.27.7.tar.xz
ea10ad5ac86ad2a1f1c0dfdb28918ad8 milou-5.27.7.tar.xz
1640a01420f5885d87e55a3fc3ca8410 plasma-nm-5.27.7.tar.xz
24cdd5610e2b02c774486cdeaf0074f5 plasma-pa-5.27.7.tar.xz
4d941372e2a0ba9fe4a42a668dfd6aeb plasma-workspace-wallpapers-5.27.7.tar.xz
003d40545b13d58a2fa024236c92c18f polkit-kde-agent-1-5.27.7.tar.xz
2708af1b47a164321111220f3e3fb5f8 powerdevil-5.27.7.tar.xz
7f7d2bea26b4d825c9a6e8d57e400a4a plasma-desktop-5.27.7.1.tar.xz
#b8f2c72d4d0ffd37573c1f949e8604aa plasma-desktop-5.27.7.tar.xz
f66aefab6b7b3115ead7cf3966d6e2c6 kgamma5-5.27.7.tar.xz
614a24e70dfdcbf225047951d1bb35af ksshaskpass-5.27.7.tar.xz
#8e9460adae337baab8d80da3422f9e34 plasma-sdk-5.27.7.1.tar.xz
#69bcb008dc0c22bb9dad2f990778b46e plasma-sdk-5.27.7.5.27.7.1.tar.xz
#cba2b18c587dff393bd232d61a35046d plasma-sdk-5.27.7.tar.xz
293fa8cd57834e07c719a055e2b47fbe sddm-kcm-5.27.7.tar.xz
#7857d8972a9cc45cc3b672a6d5ff2b12 discover-5.27.7.tar.xz
#9727481d29a7468420cb1a37a0b36e9e breeze-grub-5.27.7.tar.xz
#157416774eb4bfc57a4e2caf4512f069 breeze-plymouth-5.27.7.tar.xz
cdda9f9d374615768d8a324dae92ad1d kactivitymanagerd-5.27.7.tar.xz
3e8fd694b222d4d6c3d4e2b952099fb0 plasma-integration-5.27.7.tar.xz
#7bd722f2799f4b1c562be46c5b2d0da1 plymouth-kcm-5.27.7.tar.xz
26e40eaf358dc02d71ab5cb511a5b3a8 xdg-desktop-portal-kde-5.27.7.tar.xz
ce2a9be64095829d124d4f83c14a464c drkonqi-5.27.7.tar.xz
410818deea59fc12aa3ed155e350e931 plasma-vault-5.27.7.tar.xz
4636852897f802e64501fbae5e3dfb24 plasma-browser-integration-5.27.7.tar.xz
3febab89d2fca2e67271d5e35723d7be kde-cli-tools-5.27.7.tar.xz
799ec2ab0012e47d2b1660affe5f333e systemsettings-5.27.7.tar.xz
fa9f2208c27d8a3e99c0cbb113087338 plasma-thunderbolt-5.27.7.tar.xz
#c4dbf6737cc9d8d3396214d4bed14abf plasma-nano-5.27.7.tar.xz
#74a1ec9c76b979fb8a3906204c93add4 plasma-mobile-5.27.7.tar.xz
ca0a794b2d65c9c763d0f932b2bd9c1e plasma-firewall-5.27.7.tar.xz
4f3a9803e3741521b1867303b179670a plasma-systemmonitor-5.27.7.tar.xz
29fb63dc5c266b3fe0a2e849f1a1db28 qqc2-breeze-style-5.27.7.tar.xz
2e3689a958a72aa1a09aa6edf471ce11 ksystemstats-5.27.7.tar.xz
08434c4829aefd689c877fe84baa5ad6 oxygen-sounds-5.27.7.tar.xz
#2b1b01328d062d6d9c3d92daaa26d13c aura-browser-5.27.7.tar.xz
a32fedd93e3ecef504ea28ec27cbfd55 kdeplasma-addons-5.27.7.tar.xz
1d759ab0bb02f630385e4dc267aaef6e kpipewire-5.27.7.tar.xz
553afd4e952b601147ca868b7129303d plank-player-5.27.7.tar.xz
51ad32e45ad4a0f5291d1a9ce4efa0f2 plasma-bigscreen-5.27.7.tar.xz
fb25df16ef388f7dbfc163911e7828be plasma-remotecontrollers-5.27.7.tar.xz
#507a8d13920b160b4683b093e90f6088 flatpak-kcm-5.27.7.tar.xz
#9eadbc5ec19e2122f81742e0f38941f7 plasma-welcome-5.27.7.tar.xz
EOF
Os pacotes breeze-grub, breeze-plymouth e plymouth-kcm acima são todos para suporte personalizado do Plymouth, que é projetado para ser executado em um disco RAM inicial durante a inicialização (veja-se “A respeito do initramfs”). O pacote plasma-sdk é opcional e usado para desenvolvimento de software. O pacote plasma-nano é usado para sistemas embarcados e o plasma-mobile fornece funcionalidade de telefone para o Plasma. O pacote aura-browser exige qtwebengine-5.15.15. O pacote de descoberta exige o pacote externo appstream-qt. O pacote plasma-welcome exige o pacote externo kaccounts-integration. O pacote flatpack-kcm é para gerenciar o suporte de aplicativos flatpack.
Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso:
Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado).
Usar o comando sudo originário do pacote Sudo-1.9.14p3.
Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop.
Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root
Primeiro, inicie um sub "shell" que sairá em caso de erro:
bash -e
Instale todos os pacotes executando os seguintes comandos:
while read -r line; do # Obtenha o nome do arquivo, ignorando comentários e linhas em branco if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi file=$(echo $line | cut -d" " -f2) pkg=$(echo $file|sed 's|^.*/||') # Remove diretório packagedir=$(echo $pkg|sed 's|\.tar.*||') # Diretório do pacote 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.7.md5 exit
Se você não configurou "$KF5_PREFIX
"
como "/usr
", [então] crie links
simbólicos para permitir que os gerenciadores de tela encontrem o
"Plasma":
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
Se você construiu o "Plasma" com o suporte "Linux PAM" recomendado, [então] crie os
necessários arquivos de configuração executando os seguintes
comandos como o(a) usuário(a) "root
":
cat > /etc/pam.d/kde << "EOF"# Inicia /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 # Termina /etc/pam.d/kde
EOF cat > /etc/pam.d/kde-np << "EOF"# Inicia /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 # Termina /etc/pam.d/kde-np
EOF cat > /etc/pam.d/kscreensaver << "EOF"# Inicia /etc/pam.d/kscreensaver auth include system-auth account include system-account # Termina /etc/pam.d/kscreensaver
EOF
Você consegue iniciar o "Plasma5" a partir de um "TTY", usando o "xinit-1.4.2".
Para iniciar o "Plasma 5" usando o "xinit-1.4.2", execute os seguintes comandos:
cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 $KF5_PREFIX/bin/startplasma-x11
EOF
startx
A sessão do "X" inicia no primeiro terminal virtual não usado, normalmente o "vt7". Você consegue comutar para outro "vtn" pressionando simultaneamente as teclas "Ctrl-Alt-Fn" (n=1, 2, ...). Para comutar de volta para a sessão do "X", normalmente iniciada no "vt7", use "Ctrl-Alt-F7". O "vt" onde o comando "startx" foi executado exibirá muitas mensagens, incluindo mensagens de iniciação do "X", aplicativos iniciados automaticamente com a sessão e, eventualmente, algumas mensagens de aviso e erro. Você possivelmente prefira redirecionar essas mensagens para um arquivo de registro, que não apenas manterá o "vt" inicial organizado, mas também poderá ser usado para fins de depuração. Isso pode ser feito iniciando-se o "X" com:
startx &> ~/x-session-errors
Ao desligar ou reinicializar, as mensagens de desligamento aparecem no "vt" onde o "X" estava executando. Se você deseja ver essas mensagens, [então] pressione simultaneamente as teclas "Alt-F7" (assumindo que o "X" estava executando no "vt7").