Как отключить экран блокировки, на основе которой сети WIFI я подключен с?

Если я подключен к своей домашней сети Wi-Fi, я не хочу иметь экран блокировки, когда я возобновляюсь от, приостанавливают или после X минут неактивности.

Если я не подключен ни к какой сети Wi-Fi, или название сети Wi-Fi отличается, чем моя домашняя сеть, я хочу, чтобы экран блокировки был активен.

Как я могу сделать это?

3
задан 13 November 2016 в 19:14

3 ответа

#!/bin/sh

essid="name-here"

while :
do
ausgabe=$(iwgetid -r)
if [ "$essid" = "$ausgabe" ]
then 
gsettings set org.gnome.desktop.lockdown disable-lock-screen true
echo 1
else
gsettings set org.gnome.desktop.lockdown disable-lock-screen false
echo 2
fi
sleep 60
done

Попытка это:

sudo gedit  /etc/network/interfaces

добавляют под wlan0

post-up sh /path/to/script
2
ответ дан 1 December 2019 в 16:56

Когда я соединяюсь со своей домашней сетью, я запускаю скрипт для отправки разблокировать команды в gnone-экранную-заставку. Вот то, что я придумал:

Файл /path/to/smart_unlock.py

import os

ssid = 'wifi-name'

if os.system("/sbin/iwgetid | /bin/grep %s" % ssid) == 0:
    for j in range(2):
        os.system(
            ". ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-%s && "
            "export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID && "
            "dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply --reply-timeout=20000 /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:false" % j)
Файла /etc/network/if-up.d/smart-unlock

#!/bin/sh

runuser -l marc -c '/path/to/smart_unlock.py'

0
ответ дан 1 December 2019 в 16:56

Для тех, кто использует Cinnamon, я подготовил решение здесь:

https://github.com/cookiebinary1/trusted-wifi-area

Основной сценарий bash (дополнительную информацию см. на github):

#!/bin/sh

current_essid=""
config_file=~/.trusted-wifi-area
while :
do
  new_essid=$(iwgetid -r)
  if [ "$new_essid" = "" ]
  then
    new_essid="no-wifi"
  fi

  if [ "$new_essid" != "$current_essid" ]
  then
      current_essid="$new_essid"
      echo "New wifi: $new_essid" 
      killall cinnamon-screensaver
      sleep 5s

      if grep -q "$new_essid" "$config_file"; then
        cinnamon-screensaver --disable-locking & echo "Restart screensaver without locking..."
      else
        cinnamon-screensaver & echo "Restart screensaver with locking..."
      fi
  fi
  sleep 1s
done
0
ответ дан 3 January 2021 в 21:15

Другие вопросы по тегам:

Похожие вопросы: