DDE

Resources

Deepin Desktop Environment is an elegant, easy to use and reliable domestic desktop environment released by Deepin Technology Co., Ltd. It is primarily written in Golang and Qt5. It was originally written for Deepin Linux, and is ported to Gentoo.

Prerequisites[edit | edit source]

Add deepin overlay[edit | edit source]

DDE currently resides in the deepin ebuild repository. There are three primary methods for installing repositories in Gentoo:

Option 1: Install by eselect repository[edit | edit source]

First emerge app-eselect/eselect-repository and dev-vcs/git:

root #emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git

Then add the overlay and sync:

root #eselect repository add deepin git https://github.com/zhtengw/deepin-overlay.git
root #emerge --sync deepin

Option 2: Install by layman[edit | edit source]

First emerge and configure layman, with the git USE flag enabled.

Then add the deepin overlay:

root #layman -L && layman -a deepin

Option 3: Manually add repos.conf[edit | edit source]

Create a file in the /etc/portage/repos.conf/ directory (create the repos.conf directory first if it does not exist) called deepin.conf. Fill the file's contents with the following code:

FILE /etc/portage/repos.conf/deepin.conf
[deepin]
location = /usr/local/overlay/deepin
sync-type = git
sync-uri = https://github.com/zhtengw/deepin-overlay.git
auto-sync = yes

KEYWORDS[edit | edit source]

For now, only the ~amd64 and ~x86 keywords are supported. So enabling testing global keyword will make it 'quick and easy' for installing DDE.

FILE /etc/portage/make.conf
ACCEPT_KEYWORDS="~amd64"

Profile and USE flags[edit | edit source]

OpenRC[edit | edit source]

Using the basic desktop profile:

root #eselect profile set default/linux/amd64/17.0/desktop

Add elogind USE flag in /etc/portage/make.conf, it's also recommended to disable support for other session trackers to avoid conflicts:

FILE /etc/portage/make.conf
USE="elogind -consolekit -systemd"

systemd[edit | edit source]

Using the systemd profile:

root #eselect profile set default/linux/amd64/17.0/systemd

Ensure that X USE flag is included in the system's global USE flags.

Updating system[edit | edit source]

After setting, ensure everything is up-to-date and remerge @world to make the changes take effect:

root #emerge --sync
root #emerge --deep --with-bdeps=y --changed-use --update --ask --verbose @world

Emerging Deepin Desktop Environment[edit | edit source]

Set proper USE flags for dde-base/dde-meta, as describe below:

USE flag Default Description
elogind Use sys-auth/elogind to make DDE runs under OpenRC
extra Install extra applicaions developed by Deepin
grub Install Deepin themes for sys-boot/grub
kwin Use the WM based on kwin
manual Install dde-extra/deepin-manual User Manual
multimedia Install Deepin multimedia suite
mutter Use the WM based on mutter
plymouth Install Deepin themes for sys-boot/plymouth
policykit Yes Enable PolicyKit authentication support
screensaver Install Deepin Screensaver module
systemd Run with Systemd
terminal Yes Install dde-extra/deepin-terminal Terminal Emulator
turbo Enable DTK Apps Turbo by dde-extra/deepin-turbo

For example, to add deepin multimedia suit to the default set of installed applications, do:

root #mkdir -pv /etc/portage/package.use
root #echo "dde-base/dde-meta multimedia" >> /etc/portage/package.use/deepin
Note
The above assumes that /etc/portage/package.use is a directory, which is now the default on the Gentoo minimal install image. If using a single file instead, simply append to /etc/portage/package.use instead of /etc/portage/package.use/deepin in the above.

Then emerge DDE:

root #emerge --ask --verbose --keep-going dde-base/dde-meta

Configuring and running DDE[edit | edit source]

Assuming that you have setup X11 properly, now going to configure DDE.

Configuring lightdm greeter[edit | edit source]

There are two greeter we can choose -- lightdm-gtk-greeter and lightdm-deepin-greeter. But lightdm-deepin-greeter cannot run without any normal user, so we use lightdm-gtk-greeter by default.

FILE /etc/lightdm/lightdm.conf
[Seat:*]
greeter-session=lightdm-gtk-greeter

Optional: adding a normal user[edit | edit source]

If there isn't any normal user able to login in to your system, lightdm-deepin-greeter won’t work. Then adding one and setting password. For instance, to create a user called aten who is member of the wheel, users, and audio groups:

root #useradd -m -G users,wheel,audio -s /bin/bash aten
root #passwd aten
Password: (Enter the password for aten)
Re-enter password: (Re-enter the password to verify)

Setting default services and running DDE[edit | edit source]

OpenRC[edit | edit source]

Emerging x11-apps/xdm and Changing the DISPLAYMANGER value in the xdm configuration file to use lightdm.

FILE /etc/conf.d/xdm
DISPLAYMANAGER="lightdm"

Set dbus, xdm, NetworkManager, and elogind to come up on boot, and disable dhcpcd if you have enabled it.

root #rc-update add dbus default
root #rc-update add xdm default
root #rc-update add NetworkManager default
root #rc-update del dhcpcd default
root #rc-update add elogind boot

Start DDE:

root #rc-service dhcpcd stop
root #rc-service NetworkManager start
root #rc-service elogind start
root #rc-service xdm start

systemd[edit | edit source]

Enable NetworkManager and lightdm to be started at boot time:

root #systemctl enable NetworkManager
root #systemctl enable lightdm

Start and login:

root #systemctl start NetworkManager
root #systemctl start lightdm

Removal[edit | edit source]

To remove DDE, begin by deselecting it:

root #emerge --deselect dde-base/dde-meta

Then, clean the package and its dependencies:

root #emerge --ask --depclean

Finally, remove all of the project overlays. For example, if using layman:

root #layman --delete deepin

Troubleshooting[edit | edit source]

If you discover any issues, or if you want to contribute, just create a new issue on the deepin ebuild repository Github project or contact the maintainer.

External resources[edit | edit source]

This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.