3.9 KiB
title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
GNOME Desktop Environment | true | 2024-10-01T11:10:56.171Z | gnome | markdown | 2024-10-01T10:43:58.594Z |
What is GNOME?
GNOME (/(ɡ)noʊm/) is a desktop environment that aims to be simple and easy to use. It is designed by The GNOME Project and is composed entirely of free and open-source software.
Screenshot of Gnome in Parch Linux
Moving from another Desktop to Gnome
For installing Gnome on Parch Linux you need to install our meta package.
sudo pacman -S parch-gnome-meta
this would install a minimal gnome session with parch customization on Parch Linux.
enabling the display manager
if you are moving from KDE or other desktops (by default parch uses sddm in all editions except Gnome) you need to disable your old login manager and then enable GDM .
# disabling old login manager (sddm)
sudo systemctl disable sddm
#enabling GDM
sudo systemctl enable gdm
Tips and Tricks
Enabling numlock on GNOME startup
You need to run this command in terminal for enabling this behavior:
gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true
To remember the last state:
gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true
Redirect certain URLs to specific web browsers
This shows how to use Chromium for certain types of URLs while maintaining Firefox as default browser for all other tasks.
Make sure pcre is installed, to use pcregrep.
Setup custom xdg-open:
/usr/local/bin/xdg-open
#!/bin/bash
DOMAIN_LIST_FILE=~/'domains.txt'
OTHER_BROWSER='/usr/bin/chromium-browser'
BROWSER_OPTIONS='' # Optional, for command line options passed to browser
XDG_OPEN='/usr/bin/xdg-open'
DEFAULT_BROWSER='/usr/bin/firefox'
if echo "$1" | pcregrep -q '^https?://'; then
matching=0
while read domain; do
if echo "$1" | pcregrep -q "^https?://${domain}"; then
matching=1
break
fi
done < "$DOMAIN_LIST_FILE"
if [[ $matching -eq 1 ]]; then
"$OTHER_BROWSER" $BROWSER_OPTIONS ${*}
exit 0
fi
"$DEFAULT_BROWSER" ${*}
exit 0
else
"$XDG_OPEN" ${*}
fi
Configure domains for redirect to Chromium:
$HOME/domains.txt
stackexchange.com
stackoverflow.com
superuser.com
www.youtube.com
github.com
Setup xdg-open web as desktop application:
$HOME/.local/share/applications/xdg-open-web.desktop
[Desktop Entry]
Version=1.0
Name=xdg-open web
GenericName=Web Browser
Exec=xdg-open %u
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
$ update-desktop-database $HOME/.local/share/applications/
Set xdg-open web as default Web application in GNOME settings: Go to GNOME Settings > Details > Default Applications and set Web to xdg-open web
Custom GNOME sessions
It is possible to create custom GNOME sessions which use the GNOME session manager but start different sets of components (Openbox with tint2 instead of GNOME Shell for example).
Two files are required for a custom GNOME session: a session file in /usr/share/gnome-session/sessions/
which defines the components to be started and a desktop entry in /usr/share/xsessions
which is read by the display manager. An example session file is provided below:
/usr/share/gnome-session/sessions/gnome-openbox.session
[GNOME Session]
Name=GNOME Openbox
RequiredComponents=openbox;tint2;gnome-settings-daemon;
And an example desktop file:
/usr/share/xsessions/gnome-openbox.desktop
[Desktop Entry]
Name=GNOME Openbox
Exec=gnome-session --session=gnome-openbox