Desktop environment

From 太極
Jump to navigation Jump to search

Selection of desktop environment

Build a Linux Desktop Environment

How to Build a Linux Desktop Environment

How to Install a Desktop Environment/GUI in Ubuntu Server

How to Install a Desktop Environment/GUI in Ubuntu Server

Unity (dead)

Unity is the default user interface beginning April 2011, with Ubuntu 11.04 according to the wikipedia. GNOME replaced Unity in Ubuntu 18.04.

GNOME

GNOME 3 is a default Ubuntu 18.04 desktop environment. Ubuntu GNOME (GNOME 3). The build-in screensaver is a digital clock showing the current time & date. Cool! This seems to be a new feature in GNOME 3.6 optimized for touch screen devices. See this and this.

UbuntuGnome1404.png UbuntuGnome1404b.png

Note that we can install the gnome desktop by using the command line. It will keep the current wallpaper. The clock in screensaver will not be shown until we shake the mouse or keyboard.

sudo apt-get install gnome-shell
# Choose 'gdm' (Gnome Desktop Manager) as the display manager instead of 'lightdm' the Ubuntu's default
#    when it is configuring gdm as only GDM offers GNOME-specific features such as lock-screen notifications.
# See the screenshot at 
#    https://ideasnet.wordpress.com/2013/05/11/ides-desktop-how-to-replace-unity-with-gnome-3-8-in-ubuntu-13-04-desktop-edition/
# If messed up, run "sudo dpkg-reconfigure gdm"
sudo apt-get install ubuntu-gnome-desktop

If the lock screen does not work, use Settings > Brightness and Lock, or use the command line

gsettings set org.gnome.desktop.lockdown disable-lock-screen 'false' 

If the screensaver is not working, try

sudo apt-get install gnome-screensaver

In my case, the screen turns off (black). But if we wake the PC up, the time and date screen shows up.

Some differences (inconvenience): 1. No maximize, minimize windows buttons 2. Have to click 'Activities' button (or 'Windows' key) to switch applications. These complains also appeared in other review.

How To Customize The GNOME 3 Desktop? w/ keyboard shortcuts.

Check the version on your system

Click Activities and type 'about'. Or install "neofetch".

Toggle Always On Top On GNOME, ... desktop

How To Use A Keyboard Shortcut To Toggle Always On Top On GNOME, KDE, MATE, Xfce and Cinnamon Desktops

Keyboard shortcuts

Settings - Keyboard shortcuts - Windows

  • Win + h: hide a window
  • Win + d: toggle showing the desktop, which effectively minimizes all windows.

GNOME shell, check version

gnome-shell --version

GNOME GSettings, dconf

gnome-tweaks (formerly GNOME Tweak Tool)

gnome-tweaks has replaced gnome-tweak-tool. Check out apt-cache show gnome-tweaks

sudo apt install gnome-tweaks

Minimize and Maximize Button in GNOME

Before I found the solution, I have to use Windows + h in order to hide the current window.

How to Get Minimize and Maximize Button in GNOME

gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"

How to make Gnome's "Activities" bar always visible?

Dash to Dock GNOME extension. See the discussion.

Disable automatic activation of Gnome Shell activities on mouse over

Use Gnome-tweaks, go to the "Top Bar" tab and disable the Activities Overview Hot Corner" setting.

Power usage

How to Display Power Usage in Watts on Ubuntu’s Top Bar

How To Disable GNOME's Overlay Scrollbars

How To Disable GNOME's Overlay Scrollbars (Have The Scrollbars Permanently Visible)

Disable File Index

Gnome shell extension

Lock screen without blank in 18.04

https://askubuntu.com/a/1057426, https://github.com/sunwxg/gnome-shell-extension-unblank

  1. Follow the instruction on github page to install the extension
  2. How to Install GNOME Shell Extensions with Firefox & Chrome. We also follow the instruction there to install host connector by clicking the button Install the chrome-gnome-shell connector from Ubuntu Software there.
  3. In Firefox, visit the Unblank screen saver extension page.
  4. Toggle the switch to turn on the extension

GnomeShellExt.png

Now in my settings, suppose

  1. Power -- blank screen -- 1 minute
  2. Privacy -- screen lock -- Automatic screen lock (on) & Lock screen after blank for 3 minutes

Now there won't be a blank screen after 1 min and the lock screen will keep on after 4 minutes.

It works even we close Firefox.

To change the lock screen background, see Change the desktop and lock screen backgrounds & How to Change Login/Lock screen background in Ubuntu 18.04

Taskbar

https://extensions.gnome.org/extension/2506/taskbar-updated/

TaskBar 2020 displays icons of running applications and favorites on the top panel or alternatively on a new bottom panel. Activate, minimize or close tasks with a simple click.

Note that different implementation like this one has a problem of affecting the desktop performance.

Yaru theme

Increase scrollbar width

Trying to change scroll bar width in Ubuntu 20.04

MATE (GNOME 2)

Ubuntu Mate. The MATE Desktop Environment is the continuation of GNOME 2.

odroid@odroid:~/$ cat /etc/X11/default-display-manager
/usr/sbin/lightdm

Choosing and Changing Panel Layouts: Ubuntu MATE 18.04. With Traditional Layout it has a menu-bar (Applications, Places, System) in the top left, clock in the top right, and a panel with the list of open applications at the bottom.

Ubuntu MATE - Pimp your desktop to perfection

Compared to LXDE, MATE has two bars on the desktop; one is on top and the other is on bottom.

Apps

  • 10 Perfect Apps to Improve Your GNOME Experience (Part 2) flatpak-based
  • Gnome disk utility: sudo apt install gnome-disk-utility

KDE

Configure

  • https://userbase.kde.org/Plasma/Panels
  • For Plasma the desktop configuration file is saved at ~/.config/plasma-org.kde.plasma.desktop-appletsrc. It is a good idea to back up this file before any modification.
  • If we like to add a shortcut to an application, we shall use Pin to Task Manager, not Add to Panel (Widget).
  • If we like to remove a shortcut, right click the icon and select Unpin from Task Manager
  • If we like to remove a widget, right click the Task bar and select Enter Edit Mode. Suppose we add "Konsole" to the panel widget by accident, we can move mouse over the Konsole icon next to the KDE icon and select "Remove". Done!

Memory use

The system uses 1.4GB memory upon a new login on my Ubuntu 22.04 running KDE Plasma (sudo apt install kde-plasma-desktop) & GDM3.

KDE Plasma logo.

Konsole

To change the default font size, we need to create a new profile. Then go to Settings -> Edit Current Profile -> Appearance & enable the new profile as the default.

System monitor

In MX 21 KDE, the taskbar at the bottom of the desktop shows CPU, RAM and Swap usage.

Xfce

Xfce Explained: A Look at One of Linux’s Speediest Desktops "Xfce doesn’t support HiDPI, which can be a deal breaker on newer machines. Even on a laptop with a 1920 x 1080 screen resolution, I find Xfce’s interface and windows to be absolutely tiny."

Xubuntu. The response is quicker when I compare the speed by clicking the top-left icon (app menu) in Xfce and Acitvities button in ubuntu-GNOME. This is tested when both Xubuntu and ubuntu-GNOME are installed in VirtualBox.

# Note the sources.list should contain 'universe' repositories.
# https://help.ubuntu.com/community/Repositories/Ubuntu
#
# Install XFCE alone, without Xubuntu, with this command:
sudo apt-get install xfce4
# Install the entire Xubuntu package, which includes a full suite of software and a lot of improvements:
sudo apt-get install xubuntu-desktop
#
# Note that installed terminal is XTerm and UXTerm which looks awful. We will want 
# xfce4-terminal, a modern, lightweight and low memory cost terminal emulator for X11, 
# which was included in the Xubuntu desktop.
sudo apt-get install xfce4-terminal

The default display manager (used e.g. log in screen) can be found by

cat /etc/X11/default-display-manager

To install lightdm display manager

sudo apt-get install lightdm

After running the above command, I found 1. a GUI login screen came out, but login failed (my case). Use Ctrl+Alt+F1 to switch to the command line approach. 2. startx failed.

LXDE and Lubuntu

Lubuntu, LXLE and LXQt. LXDE is the default desktop environment for Raspbian, LXLE, BBB, and Lubuntu.

The default browser in LXLE is SeaMonkey (Debian Jessie has Iceweasel which is even similar to Firefox; see Odroid). In the Internet category, it also includes FireFTP (SeaMonkey extension), Transmission, Gitso (VNC), uGet. In the Sound/Video category, it includes Arista transcoder, Audacity, Guaydadeque Music Player, guncviewer, Pithos, RecordMyDesktop, Videos/Totem. Gedit, GParted, KeepassX and LibreOffice are standard. There is also a Games category.

The LXLE LS version provides several business apps to anyone on the network.

LXQt is the Qt port and the upcoming version of LXDE, the Lightweight Desktop Environment.

The download links (if we want to skip answering the question) are https://sourceforge.net/projects/lxle/files/Final/OS/.

LXLE key features

One cool thing in lxle is the random wallpaper. On regular Ubuntu, we can install a wallpaper changer program - Wallch or Variety. See also OMGUBUNTU.

Variety pref.png

In Lxle, the random wallpaper is done through a simple command

dash -c 'pcmanfm -w "$(find ~/Pictures/Wallpapers -type f | shuf -n1)"'

A list of keyboard shortcuts for Lubuntu.

The file manager in LXLE is PCManFM (not to confuse with the package manager pacman in ArchLinux). It does not support drag and drop to copy a file name to a terminal but it can execute a file in a terminal by PCManFM -> Tools -> Run a Command in Current Folder.

Tips

cp /usr/share/lxpanel/profile/Lubuntu/panels/panel ~/.config/lxpanel/Lubuntu/panels
lxpanelctl restart
  • To add 'Google Chrome' to the taskbar: Right click the panel and select "Application Launch and Task Bar" Settings. On the right panel, select Google Chrome and then click the "+ Add" button. Now Google Chrome will be pinned to the taskbar.
  • To change the LXDE settings so that pressing the Super key (also known as the Windows key) brings up the Start menu or the LXDE application menu, you'll need to configure the keyboard shortcuts.
    1. Open the LXDE Menu: Click on the LXDE logo or right-click on the desktop and select "Menu."
    2. Go to Preferences: In the LXDE Menu, navigate to "Preferences" or "Settings." The exact location may vary depending on your LXDE setup, but it's usually under one of these categories.
    3. Open the Keyboard and Mouse settings: Look for an option like "Keyboard and Mouse" or "Keyboard Shortcuts" and click on it.
    4. Configure the Super key shortcut:
      • Find the option that corresponds to opening the LXDE application menu or the Start menu.
      • Click on the existing shortcut or create a new one by clicking the "+" or "Add" button.
      • Press the Super key (or the Windows key) as your desired shortcut.
      • Save or apply the changes.

LXDE vs XFCE

LXDE vs XFCE: Which Is the Better Lightweight Desktop Environment? In a fresh boot, CPU usage is the same at around 1 percent, but LXDE uses a paltry 219 MB RAM, whereas XFCE uses 465 MB RAM.

LXQt

Lubuntu officially switched from the LXDE (GTK+ toolkit) to the LXQt (Qt toolkit) desktop environment in version 18.10.

To disable the screen saver or lock screen in the LXQt desktop environment, you can follow these steps:

  • Navigate to Menu > Preferences > LXQt Settings > Session Settings.
  • Look for the Lock screen before suspending/hibernating checkbox.
  • Uncheck the checkbox to disable the screen lock.

Cinnamon and Linux Mint

Linux Mint Tips & Tricks 2023 Oct

(2019-12-23) It is still the only one desktop environment that has a clock as the screensaver. Mate (GNOME 2), Pop!_OS (GNOME 3) don't have this option.

Linux Mint. A GTK+-based desktop environment. Note that Mint releases only LTS versions (5 years support as Ubuntu).

To check the desktop environment, use echo $DESKTOP_SESSION. To check the cinnamon version, use cinnamon --version.

Compared to Mate, the /etc/os-release file can link to the right version of Ubuntu by ID_LIKE and UBUNTU_CODENAME:

  • ID_LIKE=ubuntu
  • UBUNTU_CODENAME=bionic

The other variables are Mint-specific.

  • NAME="Linux Mint"
  • VERSION="19.3 (Tricial)"
  • ID=linuxmint
  • VERSION_ID="19.3"
  • VERSION_CODENAME=tricia

Note

  1. On Pop_OS, the ID=ubuntu, ID_LIKE=debian, UBUNTU_CODENAME=bionic.
  2. To change to other workspace, use Ctrl + Alt + Up or Alt + F1 keybind to enter Expo mode and then select one. To directly switch to the next workspace, use Ctrl + Alt + Right/Left arrow key.
  3. To change the title bar color from gray to black follow this instruction. Go to Preferences -> Themes and click 'Add/Remove desktop themes'. Type the keyword 'nightfall' and install the theme. Close the 'Themes' window and open it again. Click 'Windows borders' and select 'nightfall'.
  4. Mint has its own package update manager. Click Menu > Administration > Update Manager. Security updates are level 5. Kernel updates are level 4/5. See their meaning on the official user's guide.
    • Level 1 and Level 2 updates are risk-free and you should always apply them. Level 3 updates “should be safe” but, although we recommend you take them, make sure you look over them on the list of updates.
    • Level 4 is "Unsafe packages". It could potentially affect the stability of the system". Level 5 is "Dangerous packages".
  5. We don't have to install Linux Mint in order to get cinnamon desktop. How To Install Cinnamon 3.0 In Ubuntu 16.04 Or 15.10 Via PPA
  6. this Cinnamon desktop has a digital clock as a screen saver while the MATE desktop only has a black screen as a screen saver. I still get the digital clock as a screen saver when I install cinnamon desktop on top of regular Ubuntu.
  7. One time I accidentally select 400+ archive file and choose to "Open With Archive Manager". This make my desktop freeze. The solution is to remotely ssh to the machine to kill all instances of Archive Manager and refresh the Cinnamon desktop.
    killall file-roller
    pkill -HUP -f "cinnamon --replace"

MintCinnamonSS.png

To install a cinnamon desktop on Ubuntu

sudo add-apt-repository ppa:embrosyn/cinnamon
sudo apt update
sudo apt install cinnamon-desktop-environment lightdm

Touchpad scrolling direction

  • Linux Mint 22 + Cinnamon 6.2.9. 2024/9
  • I like to change the two-finger scrolling direction on my touchpad (Logitech K400 PLUS)
  • Cinnamon have separate settings for mouse and touchpad. By default, "Reverse scrolling direction" is off for both mouse and touchpad
  • It seems the setting on the Touchpad tab does not work.
  • We can use the xinput command to change the setting.
  • My example. After the change, mouse and touchpad have different scrolling directions.
    $ xinput list  # Virtual core pointer -> Logitech K400 Plus id=9
    
    $ xinput list-props "pointer:Logitech K400 Plus" # libinput Natural Scrolling Enabled (299): 0
    
    $ xinput set-prop "pointer:Logitech K400 Plus" 299 1
    
    $ xinput list-props "pointer:Logitech K400 Plus" # libinput Natural Scrolling Enabled (299): 1
    
    • Using device name like 'Logitech K400 Plus' is problematic since the same device appears twice (Virtual core pointer & Virtual core keyboard). So we need to add "pointer:" to emphasize I want to modify the touchpad part, not keyboard part.
    • The device ID may change after reboot.
    • Also after I reboot, the setting is reversed back if I use a terminal to change the setting.
    • One solution to put the xinput command in the .xsessionrc file but it does not work.
    • Using the Startup Applications method by adding the xinput command xinput set-prop "pointer:Logitech K400 Plus" 299 1 works!

Pantheon

Elementary OS & wikipedia. I cannot make the Chinese input to work (I can install ibus-chewing but cannot switch input methods?).

(Loki release 0.4.1, May 2017) No screensaver. The default browser is Epiphany:( The default apps on the launcher are not useful. No office applications. df -h shows 3.7GB space is used.

(Dec 3, 2019) Picture-in-Picture, Multitasking View in elementary OS 5.1 Hera. The desktop freezes after I open youtube on its default browser:)

Automatic login

How to enable Automatic Login on Ubuntu 18.04 Bionic Beaver Linux

How to Refresh Your Linux Desktop Without Rebooting

http://www.makeuseof.com/tag/refresh-linux-desktop-without-rebooting/

Dock

Display Manager

Check which DM is used

cat /etc/X11/default-display-manager

GDM3 for GNOME

Ubuntu 22.04 & 20.04. See How to enable/disable wayland on Ubuntu 20.04

It does not matter whether I use X11 or Wayland to log in.

A display manager such as GDM3 can work with multiple display protocols such as X11 or Wayland. The display manager chooses which display protocol to use based on the user's choice of desktop environment or window manager. For example, if the user selects a desktop environment that requires Wayland, the display manager will start a Wayland session and launch the necessary applications using the Wayland display protocol.

SDDM for KDE and LXQt

  • https://wiki.archlinux.org/title/SDDM
  • SDDM Vs. GDM – Which Desktop Manager Is For You?
    • SDDM: SDDM is a recent display manager that is also compatible with both Wayland and X1. KDE, an international free software community, picked SDDM out of all other display managers as a default display manager in KDE Plasma 5.
    • Both GDM and SDDM have X and Wayland support and are reliable display managers. One is trusted by Ubuntu while the other gets the nod from KDE, Fedora, and LXQt.

Window Manager

Replacing DE With a Window Manager?

Can You Run Linux Without a Desktop Environment? Yes. For example, SLAX is running Fluxbox window manager and it has no desktop environment.

Live USB

My first impression:

  • Lubuntu is good
  • nomadBSD too slow. Cannot get the desktop.
  • Puppy Linux. Fast. But how to install software not available on its GUI.
  • Dog Linux/Debian Dog. DebianDog is very small Debian Live CD shaped to look and act like Puppy Linux.
  • elementary OS. Freeze.

Persistent Live USB

How to Create Persistent Live USB of Ubuntu

terminal, shell, tty and console

What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'console'?

Chinese characters

locale -a
locale-gen en_US.UTF-8
update-locale
After that, run nano ~/.bashrc and add a line to the file export LC_ALL=en_US.UTF-8