Turn off Desktop GUI and going headless

Hi,

I am wondering if it is possible to disable or remove the desktop environment in Tumbleweed. I am currently using Gnome DE.

What package/service do I need to remove/disable to go headless?
I probably should have picked the server option from the installer, but I wanted to experiment a little bit.

Now, I can’t figure out how to “switch”. Is there an easy way to change configurations, or am I better off reinstalling and picking the server option from the installer?

@dwbufhph6 Hi, nothing, just set the system to run in multi-user rather than graphical… systemctl set-default multi-user.target

Of course you will get updates to the DE, so you could remove patterns if wanting too?

1 Like

If you want to switch to multi-user without rebooting then systemctl isolate multi-user.target

1 Like

I wasn’t aware of patterns coming from Debian.

I’d better look it up and learn. It sounds like tasksel from Debian.

Thanks for the helpful tip. I appreciate it!

these are just how are metapackages are called. (and btw, in debian they are not called patterns, but tasks (as in task-ssh-server))

1 Like

Aha, I see. It just clicked for me. It really isn’t all that complicated than I thought. Thanks for the clear explanation!

A pattern is a collecton of packages, often also (invisible) sub-patterns.

Technically, a pattern is just a meta-package without any content; it only has dependencies like “Requires” (i.e. a hard dependency on another package or pattern) or “Recommends” (a soft dependency that you can override).

You can also inspect a pattern meta-package: Search for “patterns-*” and look at its dependencies. In Myrlyn, that would be in the “Dependencies” details view. But you can also use Zypper or even low-level RPM commands.

2 Likes

Using Zypper:

% zypper se "patterns-xfce"
Loading repository data...
Reading installed packages...

S  | Name                              | Summary                                        | Type
---+-----------------------------------+------------------------------------------------+-----------
   | patterns-xfce                     | Patterns for Installation (Xfce)               | srcpackage
i+ | patterns-xfce-xfce                | XFCE Desktop Environment                       | package
i  | patterns-xfce-xfce_basis          | XFCE Base System                               | package
   | patterns-xfce-xfce_basis_wayland  | XFCE Base System (Experimental Wayland Varia-> | package
i  | patterns-xfce-xfce_extra          | XFCE Extra Applications                        | package
   | patterns-xfce-xfce_extra_wayland  | XFCE Extra Applications (Experimental Waylan-> | package
   | patterns-xfce-xfce_laptop         | XFCE Laptop                                    | package
   | patterns-xfce-xfce_laptop_wayland | XFCE Laptop (Experimental Wayland Variant)     | package
   | patterns-xfce-xfce_wayland        | XFCE Desktop Environment (Experimental Wayla-> | package
% zypper info --requires --recommends "patterns-xfce-xfce"
Loading repository data...
Reading installed packages...


Information for package patterns-xfce-xfce:
-------------------------------------------
Repository     : Slowroll OSS Repo
Name           : patterns-xfce-xfce
Version        : 20230212-12.2
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 50 B
Installed      : Yes
Status         : up-to-date
Source package : patterns-xfce-20230212-12.2.src
Upstream URL   : https://github.com/openSUSE/patterns
Summary        : XFCE Desktop Environment
Description    : 
    Xfce is a lightweight desktop environment for various *NIX systems.
Requires       : [2]
    pattern() = x11
    pattern() = xfce_basis
Recommends     : [64]
    evince
    gnome-keyring
    lightdm
    seahorse
    file-roller
    gucharmap
    gnome-disk-utility
    gnome-packagekit
    simple-scan
    blueman
    lightdm-gtk-greeter
    tumbler
    thunar-volman
    samba
    xfce4-screenshooter
    xfce4-eyes-plugin
    parole
    xfce4-taskmanager
    mousepad
    xfce4-netload-plugin
    xfce4-verve-plugin
    gigolo
    xfce4-notes-plugin
    ristretto
    xfce4-clipman-plugin
    xfce4-cpufreq-plugin
    xfce4-fsguard-plugin
    xfce4-weather-plugin
    xfce4-cpugraph-plugin
    xfce4-genmon-plugin
    xfce4-places-plugin
    xfce4-smartbookmark-plugin
    xfce4-stopwatch-plugin
    xfce4-systemload-plugin
    xfce4-timer-plugin
    xfce4-wavelan-plugin
    xfce4-dict
    xfce4-diskperf-plugin
    xfce4-mount-plugin
    xfce4-mpc-plugin
    xfce4-sensors-plugin
    xfce4-mailwatch-plugin
    xfce4-calculator-plugin
    menulibre
    xfce4-docklike-plugin
    lightdm-gtk-greeter-settings
    galculator
    pragha
    gdb
    system-config-printer
    gnome-keyring-pam
    gutenprint
    gcr-ssh-askpass
    opensuse-welcome-launcher
    xfce4-kbdleds-plugin
    system-config-printer-applet
    mugshot
    xfce4-panel-profiles
    thunar-plugin-archive
    thunar-plugin-media-tags
    thunar-sendto-blueman
    xfce4-screenshooter-plugin
    xfce4-timeout-plugin
    pattern() = xfce_extra

Notice: No root privileges needed for those info commands.

1 Like

Using RPM (only for installed patterns):

% rpm -qa "patterns-xfce*"
patterns-xfce-xfce-20230212-12.2.x86_64
patterns-xfce-xfce_extra-20230212-12.2.x86_64
patterns-xfce-xfce_basis-20230212-12.2.x86_64
% rpm -q --requires "patterns-xfce-xfce"
pattern() = x11
pattern() = xfce_basis
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1
% rpm -q --recommends "patterns-xfce-xfce" | head -n 20
blueman
evince
file-roller
galculator
gcr-ssh-askpass
gdb
gigolo
gnome-disk-utility
gnome-keyring
gnome-keyring-pam
gnome-packagekit
gucharmap
gutenprint
lightdm
lightdm-gtk-greeter
lightdm-gtk-greeter-settings
menulibre
mousepad
mugshot
opensuse-welcome-launcher
1 Like

The app kinda looks like synaptic. I better check it out. Makes a lot more sense looking at it with a familiar GUI