LinuxCommandLibrary

plasmashell

Start/manage the KDE Plasma desktop environment

TLDR

Restart plasmashell

$ systemctl restart --user plasma-plasmashell
copy

Restart plasmashell without systemd
$ plasmashell --replace & disown
copy

Display help on command-line options
$ plasmashell [[-h|--help]]
copy

Display help, including Qt options
$ plasmashell --help-all
copy

SYNOPSIS

plasmashell [OPTIONS]

PARAMETERS

--version
    Displays the version information of the plasmashell executable and exits.

--help
    Displays a short help message, including available options, and exits.

--replace
    Replaces a currently running instance of plasmashell with a new one. Useful for restarting the shell without logging out.

--shut-down
    Attempts to gracefully shut down the running plasmashell instance.

--test-mode
    Starts plasmashell in a special test mode, often used by developers for debugging or testing new features. Not for general use.

--no-x-errors
    (Internal/developer) Suppresses X error messages. Rarely used by end-users.

--prefetch <id>
    (Internal) Used for prefetching resources, typically managed by the system. Not for direct user invocation.

DESCRIPTION

plasmashell is the core component of the KDE Plasma desktop environment. It manages the graphical shell, including the desktop, panels, widgets (Plasmoids), and overall user interaction.

It's responsible for drawing the desktop background, handling window management (in conjunction with KWin), displaying system notifications, and providing access to applications via launchers and menus. It acts as the primary interface for users to interact with the Plasma workspace. plasmashell is highly customizable, allowing users to modify its appearance and behavior through various settings and add-ons. It runs continuously as long as the Plasma desktop is active, providing the visual and interactive elements of the user session. Its stability and performance are crucial for a smooth user experience in KDE Plasma.

CAVEATS

Users typically do not need to run plasmashell directly; it's automatically launched as part of the KDE Plasma session.

Running --replace can sometimes lead to temporary glitches if the previous session isn't fully prepared for replacement.

Killing plasmashell abruptly (e.g., via killall plasmashell) will terminate the Plasma desktop environment, potentially leaving the user with a blank screen or a basic window manager, requiring a restart of the session or logging out/in.

The --test-mode and --prefetch options are primarily for development and internal use and generally not recommended for regular users.

CONFIGURATION FILES

plasmashell's behavior and appearance are largely configured through KConfig files, typically located in ~/.config/. Key files include ~/.config/plasmashellrc and ~/.config/plasma-org.kde.plasma.desktop-appletsrc, which store settings for panels, widgets, desktop layout, and other shell-specific configurations.

CUSTOMIZATION

The plasmashell environment is highly customizable through Plasma widgets (Plasmoids), themes, and desktop settings accessible via KDE's System Settings. Users can add, remove, and configure panels, change themes, manage virtual desktops/activities, and more, directly influencing the shell's presentation and functionality.

HISTORY

The concept of a modular desktop shell within KDE evolved significantly over versions. plasmashell, as a distinct executable, became the core component responsible for the desktop shell functionality with the release of KDE Plasma 5. This marked a key design decision to separate the shell from the window manager (KWin) and other underlying KDE Frameworks, focusing on greater modularity, customizability, and performance for the Plasma desktop environment.

SEE ALSO

kwin(1), startplasma(1), systemd(1), kcmshell5(1), plasma-apply-wallpaper(1)

Copied to clipboard