Search:  
Gentoo Wiki

HOWTO_KDE_Desktop_for_the_end-user

Image:Klogo-official_100x100.png

K Desktop Environment

Location: KDE

KDE Pages

Install

Applications

Upgrading

Tips

Other


edit

Contents

About

KDE stands for K Desktop Environment. It is one of the most popular graphical desktop environments for Linux and Unix workstations. It combines ease of use, contemporary functionality and outstanding graphical design with the technological advances of the Unix operating system.

Portage Tree

The whole kde-base category and the kde-misc category.

Meta Packages

KDE uses meta packages which are packages that install nothing themselves, but rather drag in other packages as dependencies. To get the whole KDE you may type emerge kde-meta. To get a full list of all meta packages, simply run eix 'kde-base/*' | grep '\-meta' | grep '^*' | awk '{print $2}'. As of September 2008 the meta packages are:

Install

Stable KDE

Before emerging KDE, set languages for internationalization, i.e. for English and French Canadian:

File: /etc/make.conf
LINGUAS="en fr_CA"
# Use kdeenablefinal only if you have a lot of memory (see http://nixforums.org/about27008.html).
# Do not set this USE flag if using distcc. See [[USE Flags explained]] for more information.
USE="hal kdeenablefinal"
Note: Please refer to HOWTO Update KDE 3.3 to KDE 3.4 for information on updating KDE, especially for versions equal to or higher than 3.4.
Note: Please refer to KDE4 if you want to install KDE4 instead of KDE 3.5
Code: Install KDE
 emerge --ask --verbose kde

Log in as your user and configure your session so it starts KDE when you issue startx. You can do this by writing exec startkde in ~/.xinitrc:

Code: Configuring your local session using ~/.xinitrc
echo "exec startkde" > ~/.xinitrc

Now start up your graphical environment by running startx.

Code: Starting KDE
startx

Install auto-mounting components

Code: Install
emerge --ask --verbose dbus hal
rc-update add dbus default
rc-update add hald default

Setup the display manager

File: /etc/conf.d/xdm
DISPLAYMANAGER="kdm"
Code: Setting KDM to run automatically
rc-update add xdm default

Further reading is available in the official Gentoo Handbook.

Unstable KDE

Unmasking KDE

There are several ways of unmasking KDE. This method by Anupamsr will add all KDE-related packages (kde-base/*). The package names are not obtained using dependencies so that this will add some unnecessary package names to your /etc/portage/package.keywords.

Code: Unmasking KDE
#!/bin/bash
cd /usr/portage/kde-base
ls */*3.*.* | sed 's/.ebuild//g' | sed 's/\// /g' | awk '{print "kde-base/"$2" ~x86"}' | sed 's/-3.[0-9].[0-9]/ /g' | sed 's/-r[0-9]//g' | sed 's/  / /g' | uniq >> /etc/portage/package.keywords
cd -

If you want to unmask KDE completely, you would better use this script as it adds all kde-*/* packages to your package.keywords:

Code: Emerging Unstable KDE
#!/bin/bash
cd /usr/portage/ # or wherever your PORTAGE_DIR is
for x in kde-*/*
do
	echo "${x} ~<arch>" >> /etc/portage/package.keywords # Replace <arch> with your architecture.
done

If you only want to add all necessary packages to your package.keywords, you can use the following. Put kde-base/kde-meta into /etc/portage/package.keywords, and run the script. Note that it requires app-portage/eix. If anyone minds, just build a replacement for the eix command line in the workaround function. I've been a bit lazy, so it'll need a good bit of cleanup yet.

Code: unmask_kde-meta.sh
#!/bin/bash
retval=0
START_PACKAGE="kde-base/kde-meta"
EMERGE_COMMAND="emerge -vp --nospinner --color=n --quiet ${START_PACKAGE}"
COMMENT_TO_ADD="# line added by $0, PID $$"
ACCEPT_FLAG="~x86"

function workaround {
	package="~$(ACCEPT_KEYWORDS=${ACCEPT_FLAG} eix --nocolor --pure-packages --format-compact  '<category>()/<name>()-<bestshort>()' --compact -e $1 |sed -e 's/(~)//')
}

package="~some-category/some-package-0.0.1"
pname="some-category/some-package"
${EMERGE_COMMAND} &>/dev/null
retval=$?
while  [[ $retval == 1 ]] ; do
	lastpackage=$package
	package=$(${EMERGE_COMMAND} | grep "\-" | cut -f 2 -d '"' | head -n 1)
	if [[ "a$package" == "a" ]] ; then
		echo "Error in the script? \$package would be empty."
		exit -2;
	fi
	if [[ "$package" == "$lastpackage" ]] ; then
		lastpname=$pname 
		pname=$(echo "$package" |sed -e 's/\(\~\)\(.*\)\(\-[0-9].*\)/\2/')
		workaround "$pname"
		if [[ "$pname" == "$lastpname" ]] ; then
			echo -e "The package cannot be merged, even after adding it to \
your package.keywords file. \n 
That probably means you need to check package.mask. \n \
Please investigate $pname"
			exit -1;
		fi
		
		echo "Ok, that didn't work. Trying to add the latest available unstable version $package to package.keywords in   case the depending ebuild uses deprange."
	fi
	echo "adding package $package to /etc/portage/package.keywords"
	echo "$package ${ACCEPT_FLAG} ${COMMENT_TO_ADD}" >> /etc/portage/package.keywords
	${EMERGE_COMMAND} &>/dev/null
	retval=$?
done

This is an alternative to the above script:

Code: unmask_kde-meta.sh
 #!/bin/bash
 retval=0
 emerge -vp kde-meta &>/dev/null
 retval=$?
 while  [[ $retval == 1 ]] ; do
        package=$(emerge -vp kde-meta |grep "^\-" | cut -f 2 -d " " | head -n 1)
        atom="~"
        echo "unmasking package $package"
        echo "$atom$package" >> /etc/portage/package.keywords
        emerge -vp kde-meta &>/dev/null
        retval=$?
 done

VeqIR's note: I have observed that it is best to run the second code block before the first, as the first code block sometimes tries to insert a line consisting of only "~" into package.keywords. If someone could verify this, it'd be appreciated.

You might also want to use the latest versions of pam and ivman:

Code: Unmask pam and ivman
echo "sys-libs/pam ~<arch>" >> /etc/portage/package.keywords # Replace <arch> with your architecture.
echo "sys-apps/ivman ~<arch>" >> /etc/portage/package.keywords # Replace <arch> with your architecture.

Now you can install KDE using:

emerge kde-meta

See also

Retrieved from "http://www.gentoo-wiki.info/KDE"

Last modified: Thu, 09 Oct 2008 04:13:00 +0000 Hits: 32,479