linux:unlock-by-wifi-ssid

This is an old revision of the document!


Unlock by wifi SSID

To disable the screen lock when connected to a specific wifi ssid (e.g. at home), the following script can be used for Gnome and Cinnamon systems.

sudo vi /etc/NetworkManager/dispatcher.d/99-disable-screen-lock

Replace SSID and USERNAME with the relevant entries. Uncomment the three lines and connect/disconnect to log the exact SSID name in a test file if necessary. On Linux Mint 22, the SSID in the CONNECTION_ID variable appears to be prefixed with “Auto ”.

/etc/NetworkManager/dispatcher.d/99-disable-screen-lock
#!/bin/bash -e
 
trusted_essid="Auto SSID"
user="USERNAME"
#date >> /home/$user/test
#echo "$CONNECTION_ID $2" >> /home/$user/test
#echo "" >> /home/$user/test
 
if [ "$2" = "up" ]; then
    if [ "$CONNECTION_ID" = "$trusted_essid" ]; then
            if [ `sudo -u $user gsettings get org.gnome.desktop.screensaver lock-enabled` = "true" ]; then
 
            touch /home/$user/.screen_lock_temporarily_disabled
            sudo -u $user dbus-launch gsettings set org.gnome.desktop.screensaver lock-enabled 'false'
            sudo -u $user dbus-launch gsettings set org.cinnamon.settings-daemon.plugins.power lock-on-suspend 'false'
            sudo -u $user dbus-launch gsettings set org.cinnamon.desktop.screensaver lock-enabled 'false'
        fi
    fi
fi
 
if [ "$2" = "down" ]; then
    if [ -f /home/$user/.screen_lock_temporarily_disabled ]; then
 
        sudo -u $user dbus-launch gsettings set org.gnome.desktop.screensaver lock-enabled 'true'
        sudo -u $user dbus-launch gsettings set org.cinnamon.settings-daemon.plugins.power lock-on-suspend 'true'
        sudo -u $user dbus-launch gsettings set org.cinnamon.desktop.screensaver lock-enabled 'true'
        rm /home/$user/.screen_lock_temporarily_disabled
    fi
fi
 
exit 0
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-disable-screen-lock
linux/unlock-by-wifi-ssid.1742940806.txt.gz · Last modified: 2025/03/25 22:13 by Wulf Rajek