Installatie en configuratie labwc
Geschreven op
Met deze handleiding loods ik je door het installeren en configureren van LabWC op Fedora heen.
Benodigdheden.
Je hebt hiervoor het volgende nodig:
- Een machine waarop je Fedora (de Fedora Minimal variant) kunt installeren
- Koffie
- Geduld
Installatie Fedora.
Doe een installatie van Fedora zonder enige grafische omgeving, die ga je later namelijk toevoegen. Het enige wat je toe moet voegen is de Algemene Netwerkmanager submodules. Doe de rest van de installatie zoals je gewend bent.
Updaten Fedora.
Madat de installatie is voltooid en je de computer opnieuw hebt opgestart en je bent ingelogd als je net aangemaakte gebruiker is het verstandig om eerst beschilbare updates te downloaden en installeren met
sudo dnf clean all && sudo dnf offline-upgrade download -y && sudo dnf offline-upgrade reboot -y
Installeren benodigheden.
Als dat eenmaal gedaan is kun je verder met het installeren van de benodigde software om LabWC te gaan draaien. Doe dat met:
sudo dnf install labwc greetd greetd-selinux gtkgreet xdg-utils xdg-user-dirs wayland-logout sway foot kanshi pcmanfm wl-clipboard wmenu --setopt=install_weak_deps=False
sudo dnf install firefox libreoffice libreoffice-gtk4 xed xreader waybar swaylock
Configureren greetd
greetd is het stuk software dat je inlogscherm laat zien. Het heeft wat configuratie nodig.
/etc/greetd/config.toml
Het hoofdconfiguratiebestand van greetd is /etc/greetd/config.toml en moet het volgende bevatten:
[terminal]
vt = 1
[default_session]
command = "sway --config /etc/greetd/sway-config"
user = "greetd"
/etc/greetd/sway-config
greetd start sway als kind proces, wat op zijn beurt weer gtkgreet start. De configuratie van sway (in /etc/greetd/sway-config) ziet er als volgt uit:
exec "gtkgreet -l -s /etc/greetd/gtkgreet.css; wayland-logout"
bindsym Mod4+Shift+e exec swaynag \
-t warning \
-m "Wat wil je doen?" \
-b "De computer afsluiten" "systemctl -i poweroff" \
-b "De computer herstarten" "systemctl -i reboot"
include /etc/sway/config.d/*
/etc/greetd/environments.
Dit (configuratie)bestand bepaalt welke optie(s) je te zien krijgt in gtkgreet als sessie. Plaats er het volgende in:
labwc
bash
/etc/greetd/gtkgreet.css.
Dit is hoe je loginscherm eruit ziet. Voor deze minimalistische installatie plaats je er het volgende in:
window {
background-color: #21333b;
}
#body, #clock {
color: #ffffff;
}
SELinux context goedzetten.
Als laatste moet je de SELinux labels goedzetten. Dat doe je met
sudo restorecon -RvF /etc/greetd/*
Configureren kanshi.
Kanshi is het stuk software dat bepaalt welke monitor waar komt, en welke resolutie en schaling iets moet hebben.
Maak een map aan voor de configuratie van Kanshi met
mkdir -pv ~/.config/kanshu/
En plaats het volgende in ~/.config/kanshi/config:
profile {
output * {
position 0,0
}
}
Configuratie waybar.
Dit is de balk onderin het scherm waarin je ziet welke venster je open hebt staan, en rechtsonderin andere zaken.
Waybar komt met twee (2) configuratiebestanden:
~/.config/waybar/config.jsonc~/.config/waybar/style.css
Maak hiervoor eerst een map aan voor de configuratiebestanden met
mkdur -pv ~/.config/waybar/
~/.config/waybar/config.jsonc
{
"position": "bottom",
"height": 32,
"spacing": 4,
"modules-left": [
"image#firefox",
"image#foot",
"image#pcmanfm",
"wlr/taskbar"
],
"modules-center": [],
"modules-right": [
"network",
"cpu",
"memory",
"clock",
"tray"
],
"image#firefox": {
"path": "/usr/share/icons/hicolor/16x16/apps/firefox.png",
"size": 16,
"on-click": "firefox"
},
"image#foot": {
"path": "/usr/share/icons/hicolor/scalable/apps/foot.svg",
"size": 16,
"on-click": "foot"
},
"image#pcmanfm": {
"path": "/usr/share/icons/Adwaita/16x16/places/folder.png",
"size": 16,
"on-click": "pcmanfm"
},
"wlr/taskbar": {
"format": "{title}",
"on-click": "minimize-raise"
},
"network": {
"format-ethernet": "{ipaddr}/{cidr} ({ifname})"
},
"cpu": {
"format": "CPU {usage}%"
},
"memory": {
"format": "RAM {percentage}%"
},
"clock": {
"format": "{:%d-%m-%Y %H:%I}"
}
}
~/.config/waybar/style.css
* {
font-family: "Noto Sans Mono", "Font Awesome 6 Free", "Font Awesome 6 Brands", monospace;
font-size: 13px;
border: 0;
border-radius: 0;
}
window#waybar {
background-color: rgba(0, 0, 0, 0.5);
color: rgb(255, 255, 255);
}
#taskbar button {
color: rgb(200, 200, 200);
}
#taskbar button:hover {
background-color: rgb(33, 51, 59);
}
#taskbar button.active {
background-color: rgba(33, 51, 59, 0.75);
}
#image {
padding: 8px;
}
#image:hover {
background-color: rgb(33, 51, 59);
}
#network,
#cpu,
#memory,
#clock,
#tray {
padding: 0 8px;
}
Configureren labwc.
Dan het configureren van labwc. Dit is de grootste qua configuratie, want het heeft drie (3) bestanden:
~/.config/labwc/autostart~/.config/labwc/menu.xml~/.config/labwc/rc.xml
~/.config/labwc/autostart:
swaybg -c '#21333b' >/dev/null 2>&1 &
kanshi >/dev/null 2>&1 &
waybar >/dev/null 2>&1 &
~/.config/labwc/menu.xml:
<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu>
<menu id="client-menu">
<item label="Minimaliseren">
<action name="Iconify" />
</item>
<item label="Maximaliseren">
<action name="ToggleMaximize" />
</item>
<item label="Volledig scherm">
<action name="ToggleFullscreen" />
</item>
<item label="Venster oprollen">
<action name="ToggleShade" />
</item>
<item label="Vensterdecoratie aan/uit">
<action name="ToggleDecorations" />
</item>
<item label="Venster altijd bovenop">
<action name="ToggleAlwaysOnTop" />
</item>
<menu id="workspaces" label="Werkblad">
<item label="Verplaats naar werkblad links">
<action name="SendToDesktop" to="left" />
</item>
<item label="Verplaats naar werkblad rechts">
<action name="SendToDesktop" to="right" />
</item>
<separator />
<item label="Zichtbaar op elk werkblad">
<action name="ToggleOmnipresent" />
</item>
</menu> <!-- /#workspaces -->
<separator />
<item label="Sluiten">
<action name="Close" />
</item>
</menu> <!-- /#client-menu -->
<menu id="root-menu">
<item label="Firefox">
<action name="Execute" command="firefox" />
</item>
<item label="Terminal">
<action name="Execute" command="foot" />
</item>
<item label="Bestandsbeheer">
<action name="Execute" command="pcmanfm" />
</item>
<separator />
<item label="Herconfigureren">
<action name="Reconfigure" />
</item>
<separator />
<menu id="internet-menu" label="Internet">
<item label="Firefox">
<action name="Execute" command="firefox" />
</item>
</menu> <!-- /#internet-menu -->
<menu id="office-menu" label="Kantoor">
<item label="LibreOffice">
<action name="Execute" command="libreoffice" />
</item>
<separator />
<item label="LibreOffice Writer">
<action name="Execute" command="oowriter" />
</item>
<item label="LibreOffice Calc">
<action name="Execute" command="oocalc" />
</item>
<item label="LibreOffice Impress">
<action name="Execute" command="ooimpress" />
</item>
<item label="PDF lezer">
<action name="Execute" command="xreader" />
</item>
</menu> <!-- /#office-menu -->
<menu id="tools-menu" label="Gereedschappen">
<item label="Teksteditor">
<action name="Execute" command="xed" />
</item>
<item label="Terminal">
<action name="Execute" command="foot" />
</item>
</menu> <!-- /#tools-menu -->
<separator />
<menu id="session-menu" label="Sessie">
<item label="Uitloggen">
<action name="Exit" />
</item>
<separator />
<menu id="power-menu" label="Afsluiten">
<item label="Computer afsluiten">
<action name="Execute" command="systemctl -i poweroff" />
</item>
<item label="Computer herstarten">
<action name="Execute" command="systemctl -i reboot" />
</item>
<item label="Computer snel herstarten">
<action name="Execute" command="systemctl -i soft-reboot" />
</item>
</menu> <!-- /#power-menu -->
</menu> <!-- /#session-menu -->
</menu> <!-- /#root-menu -->
</openbox_menu>
~/.config/labwc/rc.xml:
<?xml version="1.0" encoding="UTF-8"?>
<labwc_config>
<core>
<gap>8</gap>
</core>
<desktops number="4" />
<theme>
<name>fedora-labwc</name>
<font name="sans" size="10" />
</theme>
<resize>
<drawContents>no</drawContents>
</resize>
<windowSwitcher show="yes" preview="no" outline="yes" allWorkspaces="no" />
<keyboard>
<default />
<keybind key="W-Return">
<action name="Execute" command="foot" />
</keybind>
<keybind key="A-F3">
<action name="Execute" command="wmenu-run" />
</keybind>
<keybind key="W-d">
<action name="Execute" command="wmenu-run" />
</keybind>
<keybind key="W-F4">
<action name="None" />
</keybind>
<keybind key="W-L">
<action name="Execute" command="swaylock" />
</keybind>
<keybind key="W-Left">
<action name="SnapToEdge" direction="left" />
</keybind>
<keybind key="W-Right">
<action name="SnapToEdge" direction="right" />
</keybind>
<keybind key="W-Up">
<action name="ToggleMaximize" />
</keybind>
<keybind key="W-Down">
<action name="ToggleMaximize" />
</keybind>
<keybind key="C-A-Left">
<action name="GoToDesktop" to="left" />
</keybind>
<keybind key="C-A-Right">
<action name="GoToDesktop" to="right" />
</keybind>
<keybind key="C-A-S-Left">
<action name="SendToDesktop" to="left" />
</keybind>
<keybind key="C-A-S-Right">
<action name="SendToDesktop" to="right" />
</keybind>
</keyboard>
<mouse>
<default />
<context name="Root">
<mousebind button="Right" action="press">
<action name="ShowMenu" menu="root-menu" />
</mousebind>
</context>
</mouse>
</labwc_config>
Instellen dat Fedora grafisch opstart.
Een standaard Fedora Minimal installatie start niet op met een GUI. Dat is gelukkig snel te regelen:
sudo systemctl set-default graphical.target
sudo systemctl enable greetd.service
sudo systemctl -i reboot
Na deze keer herstarten moet het systeem opstarten met greetd en daarna moet je labwc voor je neus krijgen. Hierna is het een kwestie van installeren wat je denkt nodig te hebben en de bestaande configuratiebestanden aan te passen naar smaak! Veel plezier!