GNOME: Difference between revisions

From Alpine Linux
(rephrased sentence)
 
(64 intermediate revisions by 22 users not shown)
Line 1: Line 1:
= Initial setup =
[https://www.gnome.org/ Gnome Desktop] aims to get things done with ease, comfort, and control.
Start by booting up Alpine (see [[Installation|these]] instructions on how to do that)<BR>
When you Alpine is up and running, do the initial setup.
{{Cmd|setup-alpine}}


= Install packages =
== Prerequisites ==
Install basic desktop system and gnome packages.<BR>
{{:Include:Desktop prerequisites}}
This might take a few minutes depending on your network speed.
{{Cmd|apk add setup-xorg-base alpine-desktop gnome-base lxdm}}
<BR>
Lxdm is a display manager.  You can use a different one such as slim by replacing {{Cmd|lxdm}} with {{Cmd|slim}}


== Optional packages ==
== Installation ==  
=== Video and Input packages ===
{{:Include:Setup-desktop}}
You <u>might</u> also want to install a package suitable for your video chipset and input devices.<BR>
For example, if you have an Sis video chipset install 'xf86-video-sis', for Intel video chipset install 'xf86-video-intel'.<BR>
{{Cmd|apk add xf86-video-sis}}
and / or
{{Cmd|apk add xf86-input-synaptics}}


Run 'apk search xf86-video*' to see available xf86-video packages.<BR>
When gnome is chosen, the above script enables community repository and additionally installs [[D-Bus]], [[eudev]], [[PipeWire|Pipewire]] and {{Pkg|gdm}} as [[Display manager|display manager]] .
Run 'apk search xf86-input*' to see available xf86-input packages.<BR>


=== acpid ===
== Configuration ==
If you installed your Alpine Linux as a VirtualBox or VMWare guest you might find it handy be able send ACPI shutdown.<BR>
{{Cmd|rc-update add acpid}}


= Configure xorg-server (optional) =
To manage network through GUI, configure [[NetworkManager]]. You may need to [[Install]] necessary subpackages like {{Pkg|networkmanager-wifi}}.  
You can configure xorg-server and make your modifications
{{Cmd|Xorg -configure}}
This will result in `/root/xorg.conf.new`. You can modify this file to fit your needs.<BR>
(When finished modifying and testing the above configuration file, move it to `/etc/X11/xorg.conf` for normal usage.)


== udev ==
To use GNOME Software as GUI front end for [[Alpine Package Keeper]], ensure that {{ic|apk-polkit-server}} service from {{pkg|apk-polkit-rs}} package is running:{{cmd|# rc-update add apk-polkit-server default && rc-service apk-polkit-server start}}
Adding udev might help you with some finicky hardware like touchpads.
{{Cmd|apk add udev
/etc/init.d/udev start && /etc/init.d/udev-postmount start
rc-update add udev sysinit
rc-update add udev-postmount default
}}
Adding evdev might also be necessary, for example if the keyboard doesn't work in X...
{{Cmd|apk add xf86-input-evdev}}


= Create user accounts =
Create a normal user account.
{{Cmd|adduser ncopa}}


Optionally, give that user sudo permissions in /etc/sudoers.
== Updating GNOME packages ==


= Start your desktop =
Most GNOME apps and core systems follow a common versioning pattern, and have a similar release cadence. In order to reduce the workload on maintainers, the [https://gitlab.alpinelinux.org/pabloyoyoista/gnome-aports-utils gnome-aports-utils] project exists. It contains a series of scripts that can be used to detect changes on GNOME-related projects, and commit them. When doing major GNOME updates, and doing minor updates on many projects, these scripts can help warranty that no project is forgotten, and reduce the time needed to build and test the upgrades.
Start lxdm and log in with your new user.
{{Cmd|rc-service lxdm start}}


Once you have verified that it actually works you can make lxdm start up at boot:
We recommend everybody to '''use and contribute''' to that repository instead of pushing updates for every GNOME component individually.
{{Cmd|rc-update add lxdm}}


Or if using slim:
=== Major GNOME upgrade ===


{{Cmd|rc-service slim start}}
About every half year, GNOME publishes a new major release. These are announced at: https://release.gnome.org/calendar/ (note the dates are the tarball-due-dates and not the actual release drop).


and once confirmed as working enable it at boot:
With this release the whole GNOME stack gets upgraded, this includes G-related libraries, the GNOME shell with mutter, [https://apps.gnome.org/ GNOME core apps] and other packages following the same schedule. The [https://matrix.to/#/%23release-team:gnome.org GNOME release engeneering team] publishes dates for alpha, beta, release candidates and stable versions for every major version, most GNOME core packages follow their schedules, but not all of them. Announcements of the releng team are posted on the GNOME forum (https://discourse.gnome.org/tag/release-team) and Release Notes for each phase (with it's upgraded packages) are at: https://download.gnome.org/core/
{{Cmd|rc-update add slim}}


= Troubleshooting =
Therefore we should also upgrade along the dependency tree (glib -> gtk4 -> mutter -> gnome-shell -> other apps). Most important libraries are glib, gtk4, libadwaita. These are mostly already released in the alpha-phase and don't contain many breaking changed. To upgrade other GNOME core package to the latest version in a major version, you can use [https://gitlab.alpinelinux.org/pabloyoyoista/gnome-aports-utils gnome-aports-utils] or also check [https://download.gnome.org/sources/?C=M&O=D https://download.gnome.org/sources (sorted by date)] (thats where all GNOME core maintainers upload their tarballs).
If you are unable to login, check /var/log/lxdm.log, there may be output there from X to indicate failed modules, etc.
<BR>
If you are unable to login, or you see an error "Failed to execute login command", you should check ~/.xinitrc with your preferred text editor (vi, nano, etc) and ensure that it is set to boot into gnome. To do this, the 'exec' line (usually the last line in the file) should read "exec gnome-session".
If ~/.xinitrc does not exist, create it and add the exec line (using your favourite text editor or cat or whatever). As an example:


{{Cmd|touch ~/.xinitrc}}
Also take a look at Gentoo's upgrading guide: https://wiki.gentoo.org/wiki/Project:GNOME/GNOME_Bumping_Guide
{{Cmd|echo "exec gnome-session" >> ~/.xinitrc}}


== Troubleshooting ==
If you are unable to log in, check {{Path|/var/log/gdm/greeter.log}}, there may be info there from X that indicates failed modules, etc.
If GNOME Terminal doesn't start, add the following to /etc/profile.d/locale.sh: <code>LANG=en_US.UTF-8</code> and reboot.
If the on-screen keyboard shows up in GDM after installing other UIs such as Phosh, you need to disable it by opening the Accessibility menu (top right) when you are in the GDM login screen. You can disable the on-screen keyboard there. Or set <code>org.gnome.desktop.a11y.applications screen-keyboard-enabled</code> to <code>false</code> for the <code>gdm</code> user with <code>dconf</code>
=== Slow applications or rendering issues ===
Please note that some applications, i.e. Gnome Web (Epiphany), may require the installation of libraries related to hardware acceleration to work correctly.
In quite some cases, this can be solved by installing <code>mesa-gles</code> (OpenGL ES). Check if you you have issues loading the shared library <code>libGLESv2.so.2</code>. If so, you can install it with:{{Cmd|# apk add mesa-gles}}
== See also ==
* [https://wiki.archlinux.org/title/GNOME GNOME - Archwiki]
* [https://wiki.gentoo.org/wiki/GNOME GNOME - Gentoo Wiki]
* [https://wiki.postmarketos.org/wiki/GNOME GNOME - PostmarketOS Wiki]
* [https://wiki.postmarketos.org/wiki/GNOME_apps Alpine linux packages available for Gnome]
[[Category:Desktop]]
[[Category:Desktop]]
[[Category:Desktop Environments]]

Latest revision as of 18:41, 30 March 2025

Gnome Desktop aims to get things done with ease, comfort, and control.

Prerequisites

Installation

The Alpine Linux script for quickly setting up a desktop is:

# setup-desktop

On running the above command, you will be prompted to select a desktop environment.

Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none') [none]

Once you have chosen a desktop environment, this script installs the chosen desktop along with necessary packages, firefox browser and adds necessary services to run on startup. You can reboot when complete, and the system will boot into a graphical login screen with the chosen desktop environment. To view the packages installed by the script: $ cat /usr/sbin/setup-desktop

When gnome is chosen, the above script enables community repository and additionally installs D-Bus, eudev, Pipewire and gdm as display manager .

Configuration

To manage network through GUI, configure NetworkManager. You may need to Install necessary subpackages like networkmanager-wifi.

To use GNOME Software as GUI front end for Alpine Package Keeper, ensure that apk-polkit-server service from apk-polkit-rs package is running:

# rc-update add apk-polkit-server default && rc-service apk-polkit-server start


Updating GNOME packages

Most GNOME apps and core systems follow a common versioning pattern, and have a similar release cadence. In order to reduce the workload on maintainers, the gnome-aports-utils project exists. It contains a series of scripts that can be used to detect changes on GNOME-related projects, and commit them. When doing major GNOME updates, and doing minor updates on many projects, these scripts can help warranty that no project is forgotten, and reduce the time needed to build and test the upgrades.

We recommend everybody to use and contribute to that repository instead of pushing updates for every GNOME component individually.

Major GNOME upgrade

About every half year, GNOME publishes a new major release. These are announced at: https://release.gnome.org/calendar/ (note the dates are the tarball-due-dates and not the actual release drop).

With this release the whole GNOME stack gets upgraded, this includes G-related libraries, the GNOME shell with mutter, GNOME core apps and other packages following the same schedule. The GNOME release engeneering team publishes dates for alpha, beta, release candidates and stable versions for every major version, most GNOME core packages follow their schedules, but not all of them. Announcements of the releng team are posted on the GNOME forum (https://discourse.gnome.org/tag/release-team) and Release Notes for each phase (with it's upgraded packages) are at: https://download.gnome.org/core/

Therefore we should also upgrade along the dependency tree (glib -> gtk4 -> mutter -> gnome-shell -> other apps). Most important libraries are glib, gtk4, libadwaita. These are mostly already released in the alpha-phase and don't contain many breaking changed. To upgrade other GNOME core package to the latest version in a major version, you can use gnome-aports-utils or also check https://download.gnome.org/sources (sorted by date) (thats where all GNOME core maintainers upload their tarballs).

Also take a look at Gentoo's upgrading guide: https://wiki.gentoo.org/wiki/Project:GNOME/GNOME_Bumping_Guide

Troubleshooting

If you are unable to log in, check /var/log/gdm/greeter.log, there may be info there from X that indicates failed modules, etc.

If GNOME Terminal doesn't start, add the following to /etc/profile.d/locale.sh: LANG=en_US.UTF-8 and reboot.

If the on-screen keyboard shows up in GDM after installing other UIs such as Phosh, you need to disable it by opening the Accessibility menu (top right) when you are in the GDM login screen. You can disable the on-screen keyboard there. Or set org.gnome.desktop.a11y.applications screen-keyboard-enabled to false for the gdm user with dconf

Slow applications or rendering issues

Please note that some applications, i.e. Gnome Web (Epiphany), may require the installation of libraries related to hardware acceleration to work correctly.

In quite some cases, this can be solved by installing mesa-gles (OpenGL ES). Check if you you have issues loading the shared library libGLESv2.so.2. If so, you can install it with:

# apk add mesa-gles

See also