Блокировать экран, если я встаю с места?

Предыстория: меняю работу и в новой компании нужно платить за пиццу на всю команду, если забыл заблокировать экран :-)

Я хочу, чтобы это было автоматизировано: я ухожу, и экран должен заблокироваться. Никаких дополнительных действий не требуется. Сочетания клавиш, специальные движения мыши или отключение устройств от USB не являются допустимыми решениями.

Как это можно решить (с Arduino или без нее)?

Пожалуйста, пишите подробно, я никогда раньше не работал с датчиками или ардуино :-)

Нужно это для Mac и Ubuntu.

, 👍6

Обсуждение

В Windows 10 есть так называемая динамическая блокировка, при которой компьютер блокируется, когда сопряженный мобильный телефон выходит за пределы досягаемости. Возможно, вы сможете воспроизвести это для Mac/Linux. Или иметь одну из этих цепочек ключей BLE (например, Tile). Когда он выходит за пределы допустимого диапазона (или RSSI достаточно низок), заблокируйте компьютер., @Gerben

Сколько раз вы покупали пиццу?, @CrossRoads

Было бы целесообразно более подробно остановиться на обстоятельствах, которые, по вашему мнению, должны задействовать эту автоматизацию. Например, вы можете перевернуть свой стул, чтобы поговорить с соседом по соседству, или встать, чтобы привлечь внимание кого-то на другом конце офиса: допустимы ли эти триггеры для блокировки экрана? Как ложные срабатывания, так и ложноотрицательные результаты в этой системе потенциально могут иметь неприятные последствия, поэтому, если вы настаиваете на использовании автоматизации для распознавания этих критериев, ключевым моментом является минимальная двусмысленность., @Will

Легко: просто никогда не вставайте со стула., @12Me21

Вы ищете техническое решение социальной проблемы. Ожидайте, что вас будут ругать за «обман», если вы реализуете такое решение. Возможно, время от времени платить за пиццу может быть оправданной платой за то, чтобы к вам относились как к члену команды, а не как к умнику, который ворует пиццу у других. Просто говорю' ;-), @Mawg says reinstate Monica

Социальная проблема? Я не уверен. Я вижу это так: есть правила. Я уважаю правило. Я хочу следовать правилу. Я думаю, что автоматизация — это ключ к успеху. Я люблю простые вещи и «не заставляй меня думать»., @guettli

@Mawg Это техническая проблема: компания (разумно) не хочет, чтобы другие люди получали доступ к личным данным на разблокированном компьютере. Никто не заботится о том, как это достигается, просто то, что это есть. Вся идея, стоящая за этими политиками, состоит в том, чтобы заставить людей начать серьезно относиться к безопасности более приятным способом, чем разговаривать с менеджером., @Voo

Трудно понять, почему вы хотите создать другое решение для быстрого нажатия клавиш Windows + L ...., @eagle275

Ирония здесь в том, что блокировка вашей консоли предназначена для обеспечения безопасности, в то время как многие из предлагаемых решений, возможно, содержат уязвимости., @dwizum

@Voo - я не согласен. Это не техническое, а социальное. В моей работе по обеспечению безопасности (я мог бы рассказать вам больше, но ...) блокировка является обязательным требованием. Не делайте этого, и это приведет к ***серьезным*** последствиям, выходящим далеко за рамки покупки пиццы. Хммм... подождите... думаю... может быть, моему правительству следует разработать такое техническое решение для всех нас. Если они чувствуют себя достаточно сильно, то это *** их *** ответственность. Но, работая с людьми (или настолько близко, насколько это возможно с разработчиками) в течение нескольких десятилетий, я могу заверить вас, что OP ***будет*** ругаться за «обман», если он реализует свое собственное решение ..., @Mawg says reinstate Monica

... может быть, лучше попросить компанию внедрить решение для всех, @Mawg says reinstate Monica

@Mawg Да, правительство известно тем, что находится в авангарде технологий и никогда не заставляет своих сотрудников выполнять дополнительную работу вместо внедрения простого технического решения;) Но вы еще не сказали мне, почему техническое решение, которое гарантирует (если хорошо сделано) то, что ни один рабочий стол не разблокирован, было бы хуже, чем полагаться на людей, которые могут ошибаться, чтобы не забывать нажимать кнопку десятки раз в день? (Правда, некоторые из решений здесь сомнительны), @Voo

как вы относитесь к тому, чтобы положить RFID в руку? когда ваша рука оставляет близость к компьютеру, экран блокировки. это можно сделать очень просто., @j0h

@voo - это человеческий фактор (усугубляемый тем фактом, что ОП - это FNG) - его коллеги почувствуют, что «это несправедливо» и что он «обманывает» их пиццу. Я понимаю, что все они могли бы сделать свое решение, но почти все не будут, и поэтому будут жаловаться. Даже если он приготовит по одной для всех в команде, они пропустят удовольствие от случайных пицц, и все это будет по его вине. Я могу придумать несколько способов реализации решения, но никогда не был бы настолько глуп, чтобы сделать это. Опять же, это ***не*** техническое задание; проблема, но социальная., @Mawg says reinstate Monica

@Mawg Наличие людей с таким отношением звучит как ужасное место для работы. Здесь люди интересовались бы техническим решением и не беспокоились бы о такой мелочи, как немного бесплатной еды. Я не могу представить, чтобы большинство рабочих мест были такими — по моему опыту, это просто хорошее развлечение, если кто-то время от времени забывает., @Voo

Мы никогда не сойдемся во взглядах, поэтому я попрошу @guettli опубликовать мнение своих коллег после того, как он реализует свое решение (для которого ESP32 будет лучшим выбором, чем Arduino; черт возьми, я купил такое устройство на eBay). 15 лет назад, а теперь Гербен говорит, что Windows имеет встроенную поддержку). Я не буду писать снова, пока мы не услышим от OP, @Mawg says reinstate Monica


9 ответов


4

Один правильно размещенный датчик расстояния должен быть достаточно, чтобы обнаружить, когда вы уходите. Это часть Arduino.

С помощью python вы можете использовать последовательный порт через USB для чтения выход из ардуино. И запустите команду, чтобы активировать блокировку экрана, согласно вашему чтению.

,

Лицом к стулу может быть недостаточно, оно должно быть обращено «над» стулом, потому что в противном случае измеряется спинка стула, и вы получаете ложное срабатывание, когда отодвигаетесь назад на 8 дюймов., @Michel Keijzers

arduino micro с библиотекой клавиатуры может отправить комбинацию клавиш для блокировки экрана, @Juraj


8

Возможно, вам подойдет RFID (NFC). Имейте RFID-метку на браслете и RFID-считыватель сбоку (или под) клавиатуры. Пока вы держите руки близко к клавиатуре, считыватель RFID должен обнаружить ваш браслет. Когда он не чувствует его в течение заранее определенного периода времени, отправьте сигнал на ПК, чтобы он заблокировался. Это может привести к разблокировке, когда ваш браслет снова окажется в пределах досягаемости.

,

Обычный диапазон RFID / NFC, вероятно, сделает это довольно неудобным. Используя RFID/NFC, я вижу только два варианта: либо у вас есть карта со шнурком, и всякий раз, когда вы покидаете свой стол, карта должна быть с вами, либо карта и считыватель находятся где-то, что меньше двигается, чем ваши руки, например, на бирке. на ремне, а читатель где-то на стуле., @jcaron

Возможно, было бы проще иметь гибкую наклейку типа NFC-метки на листе бумаги в заднем кармане и, возможно, считыватель под сиденьем?, @QuickishFM


6

Если у вашего кресла есть газовый баллон для регулировки высоты, оно немного проседает, когда вы в нем сидите. У меня проседание составляет около сантиметра. Этого более чем достаточно для датчика прерывания или отражения луча, датчика Холла или даже очень простого магнитного геркона, подобного тем, которые используются домашней сигнализацией для контроля окон.

Вы можете включить/разбудить герконовый переключатель, например ESP8266, который использует ESP-NOW для связи с другим ESP, подключенным к последовательному порту USB на рабочем столе. Как только сообщение отправлено, микро может уйти в глубокий сон. Последовательный порт рабочего стола читается выбранным вами языком; node.js, python, c# и т. д., а также запускает команду или нажимает комбинацию клавиш, чтобы заблокировать рабочую станцию.

,

Недостатком этого является блокировка экрана каждый раз, когда вы меняете свое место. Хотя это тоже была моя первая идея. Я думаю, вам нужна некоторая задержка, например, если она длиннее 3 секунд или около того., @SQB

Это также имеет недостаток, заключающийся в том, что провод тянется от вашего стула к компьютеру - вращение вашего кресла может привести к тому, что ваш компьютер будет с вами (добавленное преимущество в том, что вы не находитесь «вдали» от компьютера, я думаю...)., @Lio Elbammalf

@LioElbammalf ESP-NOW работает через Wi-Fi, поэтому кабеля связи не будет. Возможно, какое-то устройство, работающее от движения, могло бы также избавить от необходимости менять батарейки., @Andrew Morton

Если у вас сломался цилиндр, как у многих из нас, вы всегда будете в самой нижней точке, поэтому вы не увидите никакой раковины. Или, если вы постоянно поднимаете свое место, а оно со временем опускается, как мое, оно может регистрироваться как занятое, даже если оно просто не поддерживает вас., @computercarguy


14

К сожалению, Arduino не требуется, но у вас, вероятно, уже есть веб-камера на рабочем столе. Если вы не против того, чтобы за вами наблюдали, как за котом Шрёдингера, вы можете использовать небольшую утилиту, такую как YawCam в Windows или Motion на Linux, чтобы активировать блокировку экрана, когда вы больше не видны на консоли.

,

В целом, это хорошее предложение , но «у вас, вероятно, уже есть веб-камера на рабочем столе» кажется довольно смелым предположением. В наши дни веб-камеры могут быть стандартным оборудованием для ноутбуков, но я могу пересчитать по пальцам одной руки количество настольных компьютеров, с которыми я сталкивался в бизнес-среде, на которых она была установлена., @jmbpiano

@jmbpiano, как насчет того, что мы все провели 2 года, запершись в наших домашних офисах, занимаясь масштабированием?, @Codex24


2

Поместите ультразвуковой датчик расстояния HC-05 рядом с монитором лицом к груди. Проверьте измеренное расстояние по отношению к определенному порогу (потенциометр?) и отправьте нажатие клавиши на свой компьютер, чтобы заблокировать его, если оно превышено.

При желании я могу рассказать подробнее, на самом деле это проект, о реализации которого я думал раньше.

Редактировать: Упс, @Eduardo Trápani уже предложил это, но я думаю, что могу добавить к этому.

Я бы использовал чип, похожий на digispark, который может эмулировать нажатия клавиш (WIN + L), это не доставит вам проблем при установке программного обеспечения на ваш компьютер.

,

5

На предыдущем задании у нас также было правило, что экран должен быть заблокирован (обычно это делается нажатием Win+L).

Однако пиццы не было; вместо этого компьютер использовался для массовой рассылки электронных писем коллегам. Темы электронных писем были столь же разнообразны, как и воображение людей:

  • приглашения на различные мероприятия;
  • приглашения на различные торжества за столом незаблокированного компьютера;
  • продажа дорогих товаров по очень низким ценам по любым причинам;
  • и т. д.

Часто содержание электронного письма было результатом совместной работы.

Единственным ограничением было то, что в сообщениях должен использоваться приличный язык и они не должны быть (очень) оскорбительными. Кроме того, я никогда не слышал об электронных письмах, отправленных для того, чтобы действительно навредить забывчивому человеку (например, уведомление об увольнении, оскорбительные выражения в адрес начальства или клиентов...).


Самый простой и дешевый способ — просто использовать Win+L. После того, как вы купите пиццу для всех по несколько раз и при этом будете терпеть их шутки/сарказм, вы больше никогда не забудете заблокировать ее.

Это все равно, что научиться не писать ночью в постель. Это происходит несколько раз, пока вы не сделаете это правильно.


Для технических решений нет предела возможностям.

В качестве (непрактичной) шутки вы можете взглянуть на OMGWTF и победители.

Пример: настройте скринсейвер так, чтобы он срабатывал и блокировал экран через ~ 5 секунд бездействия (примерно столько времени вам нужно, чтобы встать и уйти, прежде чем кто-либо из коллег сможет начать печатать без вашего ведома). Это создаст некоторые проблемы и для вас, но вы уверены, что компьютер никогда не останется разблокированным. Никакого дополнительного программного обеспечения, оборудования или работы не требуется, кроме перемещения мыши и нажатия кнопок на клавиатуре. При этом вы станете самым продуктивным сотрудником в компании. :)


Если говорить более серьезно, цель этого правила состоит в том, чтобы сделать людей более осведомленными о потребностях в безопасности и о необходимости их участия в процессе. Обычно блокировка экрана — это наименьшее, что можно сделать для обеспечения безопасности, даже до выбора хороших паролей — экран не заблокирован, пароль вообще не нужен.

Если не сделать даже этого (заблокировать экран компьютера, когда компьютер остается без присмотра), то есть большая вероятность, что другие правила безопасности также не будут соблюдаться.

,

+1 за «цель этого правила - сделать людей более осведомленными о потребностях в безопасности и о необходимости их участия в процессе». Да, люди должны осознавать безопасность. Автоматизированные системы работают так же хорошо, как и люди, которые их настраивают, и слишком часто эти люди не очень заботятся о безопасности или настолько заботятся о безопасности, что люди с законной потребностью использовать что-то, что все еще не может сделать с властными процедурами., @computercarguy

@computercarguy Однажды у меня был босс, у которого была такая же идея, и он настаивал на том, чтобы люди сознательно устанавливали обновления Windows, а не использовали объекты групповой политики для автоматической обработки. Вы можете догадаться, сколько компьютеров редко обновлялись. Люди *ужасно* делают что-то регулярно без ошибок, я не верю ни одному человеку, который думает, что никогда не забудет заблокировать свой компьютер (хотя я верю, что они не помнят, что забыли заблокировать, абсолютно), @Voo

@Voo, есть разница между простой комбинацией клавиш для блокировки компьютера и установкой обновлений вручную. Я понимаю, что (безопасность) люди этого не осознают. Обновления должны быть автоматизированы, так как они могут быть сложными и их может быть много, а также ИТ-отдел, потенциально управляющий ими. Кроме того, установка обновлений, скорее всего, не является основной задачей сотрудника на работе, поэтому лучше потратить свое время, не управляя обновлениями. Не говоря уже о том, что запирание компьютера сродни запиранию входной двери в дом или офис, когда он не занят., @computercarguy

@computercarguy Итак, вы говорите, что согласны с тем, что люди не могут раз в неделю надежно набирать «проверить наличие обновлений», но тривиально не забывать нажимать win + L сотни раз в неделю в обязательном порядке?, @Voo

@Voo, я имею в виду, что такие потенциально опасные вещи, как обновления, должны контролироваться людьми, которые должны знать, что они делают, чего не будет делать обычный офисный работник. И нажатие двух клавиш на клавиатуре становится второй натурой после того, как вы делаете это в течение короткого времени. Я делаю это уже бессознательно. Бывают даже моменты, когда я думаю о том, чтобы покинуть свое место, и ударяю по нему, только чтобы понять, что мне нужно сделать/проверить еще кое-что, прежде чем я встану с места. Вы можете подумать, что проверять наличие обновлений легко, но это только потому, что вы делали это так много и так часто, в чем суть Win+L., @computercarguy

@Voo, да, это сильно отличается от проверки обновлений ОС. потому что нажатие комбинации клавиш - это автоматическое рутинное механическое движение, как, например, переключение сигнала поворота при вождении автомобиля, @Juraj


9

Bluetooth!

В том же ключе, что и комментарий Гербена, довольно легко использовать для этого свой телефон, если предположить, что и ваш компьютер, и ваш телефон имеют Bluetooth (и вы берете свой телефон с собой, когда покидаете свое место). Более того, если на вашем ПК нет BT, дешевый BT-донгл решит эту проблему.

Следующий шаг — написание скрипта, который получает список всех ближайших/найденных BT-устройств, и, если вашего телефона нет в этом списке, он просто отправляет системный вызов для блокировки.

Поскольку я попробовал это один раз (хотя и на ПК с WIN), я могу сказать, что это работает более надежно, чем я изначально ожидал (очевидно, YMMV).

Самое замечательное то, что вам (потенциально) не нужно никакого дополнительного оборудования, только немного кода.

,

Это хорошо работает - я делал это много лет назад. Преимущество написания собственного сценария заключается в том, что вы можете настроить его для своей ситуации: например. установите порог мощности сигнала, который будет блокировать/разблокировать (вы же не хотите помогать коллеге по работе позади вас и не запускать сценарий автоматической блокировки!), @Aaron F


1

Самым простым решением будет использование датчика давления (нажимной подушки) на сиденье. Или прижимной коврик, если вы используете стол для работы стоя.

В идеале вы можете откалибровать его с помощью Arduino и отправить «Windows Key + L» или «Ctrl + Cmd + Q», если это Apple.

Я считаю, что никакое другое решение не может быть проще в реализации и обслуживании.

Если вам нужно немного более совершенное решение, вы можете подключить весы, тарировать их по своему весу и установить порог веса, чтобы Arduino отправлял сигнал.

Редактировать: в Ubuntu вы можете настроить любую комбинацию клавиш для блокировки экрана. Но остальная часть ответа остается в силе.

,

Какой датчик давления посоветуете?, @dotancohen

Привет @dotancohen Самостоятельное изготовление кажется лучшим вариантом https://www.tekscan.com/blog/flexiforce/how-create-pressure-sensor-pad Или по этой ссылке https://www.instructables.com/id/Use-a-DIY-Pressure-Plate-Switch-to-Automate-Your-H/, @AriasFco

Использование гребенки вручную проще в реализации и обслуживании, так как она быстро станет автоматической. Он не требует никакого кодирования, батареек, проводов, которые ломаются или мешаются, и его не нужно переписывать под разные ОС. Это также не нарушает некоторых ИТ-политик в отношении подключения персональных периферийных устройств к компьютеру. Затем есть модификация кресла для размещения датчика, что может не приветствоваться. Кроме того, использование стандартного тензодатчика более надежно, чем его самодельная версия., @computercarguy


1

Используйте малоизвестный оконный менеджер, которым другие люди не знают, как пользоваться.

Я использую i3 и предпочитаю намеренно оставлять свою рабочую станцию незаблокированной, потому что это забавно, когда я возвращаюсь и обнаруживаю, что люди нажимают различные комбинации клавиш, чтобы попробовать и активировать окно группового чата (отправив забавное сообщение от моего имени, они докажут, что «взломали меня»), которое я поместил в скрытый буфер.

Два с половиной года в этой роли, а они до сих пор не поняли...все, что им нужно сделать, это RTFM...

,

ОП все равно будет покупать пиццу, так как экран будет разблокирован. Это также больше похоже на безопасность путем обфускации, не так ли?, @BruceWayne

@BruceWayne «безопасность путем обфускации» да, определенно. Хотя, если последней линией безопасности на рабочем месте ОП является блокировка экрана на компьютере ОП, то компании ОП есть о чем беспокоиться ;-), @Aaron F

Поскольку на самом деле это не защищает их ПК, это плохое предложение. Если другим просто нужно RTFM, чтобы обойти ваше предложение, то это не решит никаких проблем, а скорее создаст новые проблемы., @computercarguy