Flameshot

Aus devops.straight8.de
Zur Navigation springenZur Suche springen

Flameshot unter Ubuntu — Praxisleitfaden[Bearbeiten]

Flameshot ist ein beliebtes Screenshot-Tool unter Linux mit Annotation, Pfeilen, Unschärfe-Maske und Bereichswahl. Unter Ubuntu (mit GNOME) gibt es zwei wiederkehrende Stolpersteine: die Wayland-Inkompatibilität und das fehlerhafte Verhalten beim Aufruf über Tastenkombinationen. Dieser Text fasst Installation, typische Fehler und deren Lösungen zusammen.

1. Installation[Bearbeiten]

Installation über das Paketmanagement:

sudo apt install flameshot

Aufruf für die Bereichsauswahl im Terminal:

flameshot gui

2. Eigene Tastenkombination einrichten[Bearbeiten]

Unter Ubuntu mit GNOME über die Bordmittel:

  • Einstellungen öffnen — entweder über das Systemmenü oder per Terminal mit gnome-control-center keyboard.
  • In den Tastatur-Einstellungen ganz unten auf Tastaturkürzel anzeigen und anpassen klicken.
  • Im Dialog ganz nach unten scrollen zu Eigene Tastaturkürzel und auf + klicken.
  • Drei Felder ausfüllen: Name (z.B. "Flameshot Bereichs-Screenshot"), Befehl (flameshot gui) und Tastaturkürzel (gewünschte Tastenkombination drücken).
  • Mit Hinzufügen bestätigen — das Kürzel ist sofort aktiv.

Wenn die Druck-Taste belegt werden soll, muss zunächst die Standard-Belegung des GNOME-Screenshot-Tools entfernt werden. Dazu im Bereich Bildschirmfotos den Eintrag "Bildschirmfoto aufnehmen" anklicken, Rückschritt drücken (löscht die Belegung) und mit "Festlegen" bestätigen.

3. Fehler "Unable to capture screen"[Bearbeiten]

Diese Fehlermeldung hat zwei mögliche Ursachen, die je nach Aufruf-Kontext unterschiedlich häufig auftreten.

3.1 Wayland-Inkompatibilität[Bearbeiten]

Wenn Flameshot weder über das Terminal noch über das Tastenkürzel funktioniert, läuft die Session vermutlich unter Wayland statt X11. Wayland erlaubt aus Sicherheitsgründen keine willkürlichen Screen-Captures durch beliebige Programme.

Schnelltest im Terminal:

echo $XDG_SESSION_TYPE

Gibt der Befehl "wayland" zurück, ist das die Ursache. Bei "x11" liegt der Fehler woanders.

Lösungswege bei Wayland[Bearbeiten]

  • Bei der Anmeldung X11 wählen: Abmelden, auf dem Login-Screen den Benutzer auswählen, unten rechts auf das Zahnrad-Symbol klicken und "Ubuntu auf Xorg" oder "GNOME auf Xorg" auswählen.
  • Flameshot mit Wayland-Plattform aufrufen: QT_QPA_PLATFORM=wayland flameshot gui — funktioniert je nach Flameshot- und GNOME-Version.
  • Wayland-natives Tool verwenden: GNOME Screenshot (eingebaut, Shift+Druck), Spectacle (sudo apt install kde-spectacle), gnome-screenshot als CLI (gnome-screenshot -a -c) oder grim+slurp.

3.2 Funktioniert im Terminal, aber nicht über Tastenkürzel[Bearbeiten]

Wenn Flameshot per Terminal-Aufruf einwandfrei läuft, aber über das Tastenkürzel den Fehler "Unable to capture screen" bringt, liegt das nicht an Wayland, sondern an zwei anderen Mechanismen:

  • Unterschiedliche Umgebungen: Beim Terminal-Aufruf hat Flameshot einen vollständigen Shell-Kontext mit allen Umgebungsvariablen der Session (DISPLAY, XAUTHORITY, DBUS_SESSION_BUS_ADDRESS, XDG_*). GNOMEs Shortcut-System startet den Befehl jedoch in einer minimalen Umgebung, in der häufig DBUS_SESSION_BUS_ADDRESS fehlt oder Flameshot startet, bevor sein Tray-Daemon bereit ist.
  • Race Condition zwischen Daemon und GUI: Flameshot erwartet, dass im Hintergrund schon ein Daemon-Prozess läuft, an den sich die flameshot gui-Anfrage hängt. Beim ersten Tastenkürzel-Aufruf nach Reboot oder Logout läuft der Daemon noch nicht.

Lösung 1: Mit Sleep-Vorlauf[Bearbeiten]

Im Tastenkürzel-Befehl statt flameshot gui:

sh -c "flameshot gui --delay 200"

Der Delay-Parameter (Millisekunden) gibt Flameshot die Zeit, den Capture-Mechanismus sauber hochzufahren.

Lösung 2: Daemon als Autostart einrichten (empfohlen)[Bearbeiten]

Damit Flameshot beim Login schon läuft, bevor das Kürzel benutzt wird. Über das Tool Tweaks (sudo apt install gnome-tweaks) unter Startprogramme Flameshot hinzufügen, oder direkt per Datei:

mkdir -p ~/.config/autostart
cat > ~/.config/autostart/flameshot.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=Flameshot
Exec=flameshot
Icon=flameshot
Terminal=false
X-GNOME-Autostart-enabled=true
EOF

Nach dem nächsten Login läuft Flameshot dauerhaft im Tray, und das Tastenkürzel hängt sich nur noch dran an, statt selbst zu starten.

Lösung 3: Wrapper-Skript mit Daemon-Check[Bearbeiten]

Robusteste Variante. Skript anlegen:

cat > ~/bin/flameshot-shortcut.sh <<'EOF'
#!/bin/bash
# Falls Flameshot-Daemon noch nicht läuft, starten und kurz warten
if ! pgrep -x flameshot > /dev/null; then
    flameshot &
    sleep 0.5
fi
flameshot gui
EOF
chmod +x ~/bin/flameshot-shortcut.sh

Im Tastenkürzel-Dialog dann statt flameshot gui den vollen Pfad zum Skript eintragen:

/home/DEIN_USERNAME/bin/flameshot-shortcut.sh

Der volle Pfad ist wichtig, weil die Shortcut-Engine die PATH-Variable nicht zuverlässig kennt.

4. Empfehlung[Bearbeiten]

Bei Fehler "Unable to capture screen" zuerst prüfen, ob der Aufruf im Terminal funktioniert. Funktioniert er dort, ist Lösung 2 (Autostart) der von den Flameshot-Maintainern empfohlene Weg. Funktioniert er auch im Terminal nicht, liegt es an Wayland — dann entweder X11-Session nutzen oder auf ein Wayland-natives Tool wechseln.

Bei weiteren Problemen helfen die Debug-Werkzeuge:

journalctl --user -u flameshot.service
flameshot gui --debug