Angepasster Sperrbildschirm und Benachrichtigungszentrum mit Quickshell
Bewertung —PAM-Authentifizierungsintegration, flüssige Öffnungsanimationen und die Architektur eines gruppierten Wayland-Benachrichtigungszentrums.
Inhalt
Zusammenfassung: Es wird die Lösung von Quickshell für das Problem des Flackerns bei externen Sperrbildschirmen und der hinter der Sperre verbleibenden Benachrichtigungen beschrieben: eine Sperroberfläche, die mit dem Wayland-Protokoll
ext-session-lock-v1über allem liegt und keine Eingaben durchlässt, eine Passwortprüfung mit PAM und ein Benachrichtigungszentrum, das Benachrichtigungen nach Anwendung gruppiert.
Die Sicherheit des Desktops und die Verwaltung von Benachrichtigungen gehören zu den empfindlichsten Teilen der Benutzererfahrung. Bildschirmflackern bei der Verwendung eines externen Sperrbildschirms oder Benachrichtigungen, die hinter dem Sperrbildschirm verschwinden, beeinträchtigen das Gefühl eines ganzheitlichen Desktops.
Quickshell bietet einen eleganten, sicheren und integrierten Sperrbildschirm, indem es das Wayland-Protokoll ext-session-lock-v1 und die Linux-PAM-Infrastruktur (Pluggable Authentication Modules) nativ unterstützt.
1. Das Wayland-Session-Lock-Protokoll
Quickshell erzeugt beim Sperren des Bildschirms eine sichere Oberfläche, die über alle anderen Fenster tritt und kein Eingabeereignis nach hinten durchlässt:
import QtQuick 2.15
import Quickshell 1.0
import Quickshell.Wayland 1.0
SessionLock {
id: lockSurface
Rectangle {
anchors.fill: parent
color: "#08090b"
// Dijital Saat
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: -60
text: Qt.formatDateTime(new Date(), "hh:mm")
font.pixelSize: 64
font.bold: true
color: "#ffffff"
}
// Şifre Giriş Alanı
TextInput {
id: passwordField
anchors.centerIn: parent
anchors.verticalCenterOffset: 40
echoMode: TextInput.Password
color: "#00ffcc"
font.pixelSize: 18
focus: true
onAccepted: {
PamAuth.authenticate(passwordField.text);
}
}
}
}
2. Gruppierte Benachrichtigungszentrale
Der Benachrichtigungsserver von Quickshell (org.freedesktop.Notifications) gruppiert eingehende Benachrichtigungen automatisch nach Anwendungsnamen. Wenn der Benutzer möchte, kann er vergangene Benachrichtigungen in der Seitenleiste auflisten oder mit einem Klick löschen.
Meine Lesart
- Der Sperrbildschirm muss durch das Protokoll geschützt werden: Das session lock-Protokoll verhindert, dass Eingaben die Fenster dahinter erreichen.
- Die Überprüfung erfolgt mit der eigenen Infrastruktur des Systems: Die Passwortprüfung läuft über PAM.
- Gruppierung reduziert die Benachrichtigungsflut: Benachrichtigungen werden nach Anwendungsnamen zusammengefasst.