Labwc

Från DannoWiki
Hoppa till navigeringHoppa till sök

Dokumentation & Installation: Labwc på Ubuntu/Debian

En minimalistisk, snabb och tangentbordsfokuserad Wayland-skrivbordsmiljö byggd ovanpå Labwc.

1. Paketinstallation (apt)

Kärnan i systemet och de verktyg som installerats för att ersätta tunga GNOME-motsvarigheter:
OBS! installera med sudo apt install --no-install-recommends xxx
Annars drar du med hela gnome-skrivbordet med mera.

Bash

# Fönsterhanterare, bar och meny
sudo apt install labwc waybar

# Skärmlåsning, inaktivitet och skärmhantering
sudo apt install swaylock swayidle wlr-randr

# Ljud, filhantering och grafiska verktyg
sudo apt install pulseaudio pavucontrol thunar pcmanfm

# Display Manager & minimal GNOME-reserv - ONÖDIGT PÅ EN REN INSTALLATION!
sudo apt install gdm3 gnome-session

2. Filstruktur & Konfigurationsfiler

Alla anpassningar för användaren ligger under ~/.config/:

SökvägSyfte / Beskrivning
~/.config/labwc/rc.xml"Huvudkonfiguration för Labwc (tangentbordsgenvägar, arbetsytor, fönsterregler)."
~/.config/labwc/menu.xmlHögerklicksmenyn på skrivbordet.
~/.config/labwc/autostartBash-skript för program som ska startas vid inloggning.
~/.config/labwc/environment"Miljövariabler (t.ex. GTK-teman, CSD-inställningar)."
~/.config/waybar/configLayout och moduler för panellisten.
~/.config/waybar/style.cssUtseende och CSS-styling för Waybar.

3. Viktiga konfigurationer i detalj

A. Labwc-inställningar (~/.config/labwc/rc.xml) Arbetsytor (4 st):

<desktops number="4">
  <popupTime>1000</popupTime>
  <name>1</name>
  <name>2</name>
  <name>3</name>
  <name>4</name>
</desktops>

Tangentbordsgenvägar (<keyboard>):

  • Byta arbetsyta: Ctrl + Alt + Vänster/Höger-pil
  • Skicka fönster till nästa yta: Ctrl + Alt + Shift + Vänster/Höger-pil
  • Manuell skärmlåsning: Super + L
<!-- Byta arbetsyta -->
  <keybind key="C-A-Left">
    <action name="GoToDesktop" to="left" wrap="yes" />
  </keybind>
  <keybind key="C-A-Right">
    <action name="GoToDesktop" to="right" wrap="yes" />
  </keybind>

  <!-- Flytta aktivt fönster (och följ med) -->
  <keybind key="C-A-S-Left">
    <action name="SendToDesktop" to="left" wrap="yes" />
  </keybind>
  <keybind key="C-A-S-Right">
    <action name="SendToDesktop" to="right" wrap="yes" />
  </keybind>

  <!-- Lås skärmen -->
  <keybind key="W-l">
    <action name="Execute" command="swaylock -f -c 000000" />
  </keybind>

B. Autostart (~/.config/labwc/autostart) Körs igång när du loggar in i Labwc:

#!/bin/sh

# Starta panelen Waybar
waybar > /dev/null 2>&1 &

# Hantera inaktivitet (Lås efter 10 min, släck skärm efter 11 min)
swayidle -w \
  timeout 600 'swaylock -f -c 000000' \
  timeout 660 'wlr-randr --off' \
  resume 'wlr-randr --on' \
  before-sleep 'swaylock -f -c 000000' > /dev/null 2>&1 &

C. GTK / Fönster och tangentbord-fix (~/.config/labwc/environment)
Sätter tangentbordslayout till Svenskt och
tvingar appar att använda standardnamnlister (SSD) och visar minimera/maximera i GTK-appar:

GTK_CSD=0
XKB_DEFAULT_LAYOUT=se
XKB_DEFAULT_MODEL=pc105

(Körs även i terminalen för gsettings:)

gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'

4. Nyckelkommandon för underhållLadda om Labwc-konfiguration:

labwc --reconfigure

Ladda om Waybar:

pkill -USR2 waybar

Slå på/av GDM-tjänsten:

sudo systemctl enable/disable gdm3

Manuell start av Labwc från TTY: labwc

Tweaks

Autologin Utan GDM

Skapa filen /etc/systemd/system/getty@tty1.service.d/override.conf:
sudo systemctl edit getty@tty1

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin DITT_ANVÄNDARNAMN --noclear %I $TERM

lägger till följande rader i din ~/.bash_profile (eller ~/.profile):

# Om vi loggar in på TTY1 och grafik inte är igång, starta Labwc
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
    exec labwc
fi

Stäng av GDM (om den finns):

sudo systemctl disable gdm3

Bildjustering på TV

TV-apparater är extremt känsliga för textrendering jämfört med datorskärmar,
eftersom de ofta har en annan subpixel-layout (t.ex. BGR istället för RGB) eller aggressiv inbyggd bildbehandling.
Så här fick jag knivskarp bild:

Slå på Subpixel Antialiasing och Hinting för GTK/Wayland

# Slå på antialiasing
gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'

# Sätt hinting till 'slight' (eller 'full' om du föredrar lite tydligare konturer)
gsettings set org.gnome.desktop.interface font-hinting 'full'

Sätt rätt subpixel-layout i ~/.config/labwc/environment

# Aktivera korrekt teckensnittsglättning i GTK/Qt
XFT_ANTIALIAS=1
XFT_HINTING=1
XFT_HINTSTYLE=hintslight
XFT_RGBA=rgb

Om texten fortfarande ser lite underlig ut efter omstart, testa att ändra XFT_RGBA=rgb till XFT_RGBA=bgr.
Många panel-tillverkare för TV-apparater använder BGR-panel,
vilket gör att standard RGB-rendering ser "fransig" eller naggad ut

Justera skalning/DPI i Labwc (Viktigt för storskärm!)

Kolla vad skärmen heter med wlr-randr.
Om den heter t.ex. HDMI-A-1 kan du i ~/config/labwc/autostart sätta:

wlr-randr --output HDMI-A-1 --scale 1.0


TV:ns egen "skärmfälla" (BILDINSTÄLLNINGEN)

Det här är ett klassiskt hårdvaruproblem som ofta lurar Linux-användare när de kopplar en dator till en TV:

  • Stäng av "Sharpness" (Skärpa) på TV:n!

TV-tillverkare skruvar ofta upp skärpan till 50–100% som standard.
För film ser det ok ut, men på datortext skapar det en ljus "gloria" eller vit skugga runt varje svart bokstav,
vilket gör att texten ser extremt naggad och pixlig ut.
Skruva ner skärpan på TV:ns bildmeny till 0 (eller väldigt nära 0).

  • Aktivera "PC Mode" eller "Game Mode" på TV:ns HDMI-ingång.

Detta stänger av TV:ns interna efterbehandling (overscan, motion smoothing och färgmättnad)
och gör att TV:n visar bildpunkterna 1:1 exakt som grafikkortet skickar dem (Chroma 4:4:4).

Mus och Touchpad

Aktivera NaturalScroll:
Öppna ~/.config/labwc/rc.xml
Längst ner i filen, efter </mouse>, lägg till följande:

<libinput>
    <device category="touchpad">
        <naturalScroll>true</naturalScroll>
    </device>
    <device category="default">
        <!-- Vanliga möss, om inkopplad -->
        <naturalScroll>true</naturalScroll>
    </device>
</libinput>

Nu känns scroll-riktning mera naturlig.