# Deepin Desktop Environment

Related articles

- Desktop environment
- GNOME
- LightDM

DDE (Deepin Desktop Environment) is the default desktop environment originally created for the linux Deepin distribution.

## Installation

To get a minimal desktop interface, you may start by installing deepin group. This will pull all the basic components.

However, it is recommended to also install deepin-extra group to get a fully working DDE:

- deepin-game: Deepin game center to play flash games
- deepin-movie: Deepin video player
- deepin-music: Deepin music player
- deepin-screenshot: Deepin screen-shot tools
- deepin-terminal: Deepin terminal

To be able to use the integrated network administration, the networkmanager package is required, and the `NetworkManager.service` must be started and enabled.

## Launching Deepin Desktop Environment

### Via a Display Manager

To use the default DDE's lightdm greeter you have to modify the configuration file under the `[SeatDefaults]` section, to state:.

    /etc/lightdm/lightdm.conf

    [SeatDefaults]
    ...
    greeter-session=lightdm-deepin-greeter

### Using xinitrc

See the xinitrc page for more information.

    ~/.xinitrc

    exec startdde

Execute `startx` or `xinit` to start DDE.

Note: If you want to start Xorg at boot, please read the Start X at login article.

## Troubleshooting

### Does not start

Type `startdde` in virtual console and see the output. If you see error with file mentioned `libgo.so.9` - ensure you have installed the latest gcc-libs package.

### No background after resuming from standby

Because of the way the NVIDIA driver stores its FBOs [1], it happens that after resuming from standby the background suddenly disappears, leaving only a white screen with possibly some color noise on it. The bug appears to be fixed in GNOME upstream, but the Deepin desktop environment still has it.

A possible workaround would be restarting the window manager every time the computer resumes from suspension. A way to do that would be creating the following systemd service

    /etc/systemd/system/resume@.service

    [Unit]
    Description=User resume actions
    After=suspend.target

    [Service]
    User=%I
    Type=simple
    ExecStart=/usr/bin/deepin-wm-restart.sh

    [Install]
    WantedBy=suspend.target

That executes the following script

    /usr/bin/deepin-wm-restart.sh

    #!/bin/bash
    export DISPLAY=:0
    deepin-wm --replace

Once those two files are created in the correct directories, in order to enable the script it's sufficient to run these commands:

    # chmod +x /usr/bin/deepin-wm-restart.sh
    # systemctl enable resume@user
    # systemctl start resume@user

The first command makes the script you created executable, the second makes sure that the service always start at boot and the last one starts the service immediately so you can test the workaround without having to reboot the system.

## Bug Reporting

Any upstream or arch packaging related bugs should be reported here. FaSheng is one of the Deepin developers and also a contributor/maintainer for arch-deepin and if you file bug reports on his github page then there's much greater chance that the bug will be fixed. ;-)

Category:

- Desktop environments