DDE
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:
/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.
/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:
/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
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.
/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.
/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]
- Description of deepin-overlay
- DDE Installation Guide in deepin-overlay Wiki
- Desktop Applications List provided by deepin-overlay