Dynamic lock for GNOME. Use your smart phone/watch/band to lock your desktop automatically when you step away. When your device is out of Bluetooth range or gets disconnected, the session locks automatically. Features: - Locks the session when your paired device disconnects or leaves Bluetooth range - Optional proximity locking: locks as the device leaves the room, based on RSSI signal strength - Optional auto-unlock when the device comes back - Adjustable lock delay - Works with any paired Bluetooth device Proximity locking (optional, requires the bt-rssi service) Proximity locking is powered by bt-rssi, a small companion system service that reads RSSI values for already-paired devices - no scanning, no extra radio activity. It is not needed for the basic disconnect-based locking. Install bt-rssi once on the host, then enable and start it: Debian / Ubuntu: sudo apt install ./bt-rssi_<version>_amd64.deb Fedora / RHEL: sudo dnf install ./bt-rssi-<version>-1.<arch>.rpm Other distros (tarball): tar -xzf bt-rssi-<version>.tar.gz sudo ./install.sh Enable and start: sudo systemctl enable --now bt-rssi.service Get the matching package for your distro from the GitHub releases page: https://github.com/ba0f3/gnome-bluetooth-smartlock/releases Once installed, proximity locking works automatically - no extra configuration needed. The disconnect-based lock keeps working without the service. Requirements: bluez (Debian/Ubuntu: sudo apt install bluez)
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-L-001 warning
extension must not create GObject instances or modify shell before enable()
Resource creation or signal/source setup was found outside `enable()`.
Only use initialization for static resources
settings.js:114
settings = new Settings()
settings.js:114
new Settings()
EGO-L-006 warning
preferences classes should not retain window-scoped objects on instance fields without close-request cleanup
Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.
prefs.js:34
this._settings = this.getSettings()
EGO-M-008 warning
extensions using unlock-dialog must document it in disable() comments
Extensions using `unlock-dialog` should document the reason in `disable()` comments.
extension.js:65
disable() {
this._indicator.destroy();
this._indicator = null;
if (this._deviceChangeSignal)
this._settings.disconnect(this._deviceChangeSignal);
if (this._indicatorChangeSignal)
this._settings.disconnect(this._indicatorChangeSignal);
| Version | Status |
|---|---|
| 1 (1) | Unreviewed |