This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
KDE/Plasma 5 upgrade: Difference between revisions
(Drop optional overlay part as keywording isn't needed anymore) |
|||
Line 60: | Line 60: | ||
{{RootCmd|emerge --ask --changed-use --newrepo --deep world}} | {{RootCmd|emerge --ask --changed-use --newrepo --deep world}} | ||
== Installation == | == Installation == |
Revision as of 16:28, 7 April 2016
Plasma 5 is the next generation of KDE's desktop environment, based on Qt 5 and KDE Frameworks 5. Upgrading is fairly simple, although it cannot be coinstalled with Plasma 4 due to upstream design decisions.
Note that while Plasma 5 is in a good state, it is still under heavy upstream development and is missing some features present in KDE 4.
Preparations
Profile
It is highly recommended to use the Plasma desktop profile as it sets a number of important options to ensure things run smoothly.
In order to choose the most suitable profile, first list what's available:
root #
eselect profile list
[1] default/linux/amd64/13.0 [2] default/linux/amd64/13.0/selinux [3] default/linux/amd64/13.0/desktop [4] default/linux/amd64/13.0/desktop/gnome [5] default/linux/amd64/13.0/desktop/gnome/systemd [6] default/linux/amd64/13.0/desktop/kde [7] default/linux/amd64/13.0/desktop/kde/systemd [8] default/linux/amd64/13.0/desktop/plasma [9] default/linux/amd64/13.0/desktop/plasma/systemd ...
Then, select the right profile, substituting the appropriate profile number (which may vary between configurations):
root #
eselect profile set 8
make.conf
The plasma profile now takes care of the right settings for a full-blown KDE Plasma/Applications installation. In the foreseeable future, this entails both Qt 4 as well as Qt 5 based packages. It also handles possible USE flag conflicts on a per-package basis. If there are any existing definitions of qt4
, kde
or plasma
in /etc/portage/make.conf, make sure to remove them before proceeding, else conflicts may arise. In case of USE handbook
, the recommendation is to either remove it as well, or disable it if the KDE documentation is not needed.
Check for these flags and if necessary alter the file using your favourite editor:
root #
grep -e "qt[[:digit:]]" -e "handbook" -e "kde" -e "plasma" /etc/portage/make.conf
Older setups might still use the deprecated /etc/make.conf instead.
You should now also revise your entries in /etc/portage/package.use:
root #
grep -e "qt[[:digit:]]$" -e "qt[[:digit:]] " -e "handbook$" -e "handbook " -R /etc/portage/package.use
root #
grep -e "kde$" -e "kde " -e "plasma$" -e "plasma " -R /etc/portage/package.use
Of course you can adjust these flags afterwards again.
If you run into a new conflict related to those flags, please report that to the Gentoo KDE team.
Clean up @world
Now is a good time to clean up @world. If it contains packages either directly from or depending on KDE Workspaces 4, it will lead to emerge conflicts later on. The following command will probably take some time, but is not going to remove anything yet - examine the output. If you are sure to proceed, run it without --pretend
again. Only the @world file is going to be changed - while the packages stay installed, they will not block a subsequent installation of Plasma 5.
root #
for x in freespacenotifier kcheckpass kcminit kdebase-cursors kdebase-startkde kdm kephal khotkeys kinfocenter klipper kmenuedit krunner kscreensaver ksmserver ksplash kstartupconfig kstyles ksysguard ksystraycmd kwin kwrited libkgreeter libkworkspace liboxygenstyle libplasmaclock libplasmagenericshell libtaskmanager plasma-workspace powerdevil qguiplatformplugin_kde solid-actions-kcm systemsettings; do equery -q d ${x} | sed -e "s/-[0-9].*//"; done | sed -e "/kdebase-meta/g" -e "/kde-meta/g" | xargs emerge --deselect --pretend
Apply the changes
Any packages affected by the profile change need to be rebuilt:
root #
emerge --ask --changed-use --newrepo --deep world
Installation
The kde-plasma/plasma-meta package provides the full Plasma 5 suite:
root #
emerge --ask kde-plasma/plasma-meta
Alternatively, kde-plasma/plasma-desktop provides the basic desktop, leaving you free to install only the extra packages you require:
root #
emerge --ask kde-plasma/plasma-desktop
Please note that you will be missing important packages such as kde-plasma/powerdevil (power management, suspend and hibernate options) and kde-plasma/systemsettings if you go that way.
Display manager
Up to this point, KDM will have served as display manager on most KDE 4 systems. As development on it has stopped, SDDM (Simple Desktop Display Manager) is now the recommended login manager and already got installed via kde-plasma/plasma-meta. Alternatively, LightDM can be used and pulled in by setting USE flag -sddm
for kde-plasma/plasma-meta. Change the setting accordingly in /etc/conf.d/xdm. Also, be sure to read through the SDDM page if further issues appear.
Applications
The previous steps have taken care of removing Plasma 4 and reverse dependencies from @world
in order to be able to install Plasma 5. Consequentially, at this point there are many dangling applications installed that would be removed by emerge --depclean
. However, installing KDE Applications will bring many of those dependencies back, so precious CPU time can be saved by promptly proceeding with KDE#Applications.
Migration
KWallet
KWallet 5 will have to open your wallet from KWallet 4 and import all the data into a new wallet. For that purpose, kde-apps/kwalletd needs to be present at least once in a session after upgrade, but is still required for any KDE4-based application that might be using it. Run kde-apps/kwalletmanager to check which applications have been accessing it in the past. If it is clear that no legacy package is using it anymore, it can be removed after migration.
root #
echo "kde-apps/kdebase-runtime-meta -oldwallet" >> /etc/portage/package.use
root #
emerge --ask --oneshot kde-apps/kdebase-runtime-meta && emerge -C kde-apps/kwalletd
SSH/GPG Agent startup/shutdown scripts
Configuration moved to /etc/plasma/{startup,shutdown} for Plasma 5, you will need to copy your scripts from the old location.
For KDE SC 4 the scripts are located in /etc/kde/{startup,shutdown}.
Troubleshooting
The most common issue with upgrading is running into blockers. Unfortunately, some packages just can't be co-installed so they'll need to be removed. Feel free to drop by #gentoo or #gentoo-kde for assistance with resolving any blockers.
Missing systray icons
Plasma 5 uses the StatusNotifier specification for systray icons [1]. As not all applications have been ported to the new system, some workarounds exist [2], and Plasma 5.5 has a means to convert old xembed-based system tray icons to StatusNotifier icons.
The workaround can be enabled by activating the legacy-systray
and GUI-specific (gtk2
, gtk3
, qt4
) USE flags for kde-plasma/plasma-desktop.
root #
echo "kde-plasma/plasma-desktop legacy-systray gtk2 gtk3 qt4" >> /etc/portage/package.use
Alternatively, the required packages can be installed manually:
For Qt 4 applications:
root #
emerge --ask dev-libs/sni-qt
For GTK+ 2 applications
root #
emerge --ask dev-libs/libappindicator:2
For GTK+ 3 applications:
root #
emerge --ask dev-libs/libappindicator:3
Pidgin
net-im/pidgin requires x11-plugins/pidgin-indicator. After install, find the Ubuntu Indicator plugin under Tools | Plugins.
Skype
net-im/skype is a 32-bit binary, you need to enable abi_x86_32
on dev-libs/sni-qt.
ck-list-sessions has wrong session information
Start plasma without exec or ck-launch-session. Using dbus-launch --sh-syntax --exit-with-session "/usr/bin/startkde" was what I ended up using.
Missing shutdown/reboot/suspend/hibernate buttons (using OpenRC)
Please ensure that kde-plasma/powerdevil and sys-power/upower-pm-utils or sys-power/upower are installed. Also ensure that your user belongs to the users group.
If you use x11-misc/sddm, make sure it is version 0.12.0-r1 or later. Please run the following command and make sure it matches the output including nox11:
user $
grep pam_ck_connector /etc/pam.d/system-login
session optional pam_ck_connector.so nox11
If all else fails, try x11-misc/lightdm instead.
SDDM display issues
Check that your user (and sddm user) are in the video group.
SDDM: KCM unable to change themes
SDDM needs a configuration file so that the KCM module can change themes. This file is not created during the SDDM installation, so it needs to be created manually afterwards:
root #
sddm --example-config > /etc/sddm.conf
If previously appmenu-qt
was installed, application menus (file, edit, view, help, etc) in kdelibs4-based packages might be missing. There is no way to fix this via a GUI, kde rc files will need to be edited to restore the application menu in Plasma 5. Find out which files were modified using the following command:
user $
grep -iR menubar ~/.kde4
Change any lines containing MenuBar=Disabled
to MenuBar=true
, and the next time related applications are started, the menus should re-appear. Make sure all instances of MenuBar in the rc files are changed - some have more than one, like kmail2.
appmenu-qt5
is not ready for prime time yet. It was tried with an initial ebuild and even with access violations, it does not work. Despite it being available on some other distros :(