24 мая 2016 г.

.screenrc

caption always "%{= 45}%{+b w}Screen: %n | %h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
defutf8 on


18 мая 2016 г.

Автоматическая блокировка экрана в Windows c помощью bluetooth

Давно собирался, но вот дошли руки. 
Блокировка рабочего компьютера при отсутствии - необходимое дело, однако забыть это сделать вполне себе просто. Выставление короткого времени выпадания рабочего стола в заставку с последующим запросом пароля - вариант, но в практической жизни доставляющий больше проблем, чем пользы.
Отличная идея - автоматизировать сам триггер блокировки, а именно - осознание компьютером факта отсутствия пользователя. Одним из самых простых способов сделать это - использовать в качестве маячка любое устройство с включенным bluetooth.
Со стороны рабочей станции устанавливается практически любой bluetooth-адаптер (у меня оказался вот этот), со стороны пользователя может быть телефон, браслет, гарнитура и т.д. Первоначально в планах было "маячить" браслетом mi band, однако с "родными" драйверами, идущими в комплекте, адаптер не виделся софтом для блокировки (о нем ниже), а со стандартными драйверами от Майкрософта - браслет не определялся как видимый (есть подозрение, что стандартные драйверы не умеют Bluetooth 4 LE). С телефоном же проблем не возникло, поэтому используем его.
Таким образом, после включения и установки драйвера адаптера следует включить обнаружение на телефоне и провести стандартными средствами сопряжение устройств по bluetooth.
Далее, софт. На сегодняшний день практически единственным доступным (без денег) средством организации мониторинга доступности bluetooth-устройств в зоне видимости с выполнением действий по факту изменения этой доступности является утилита BtProx. Не обновляется с 2012 года, но пока работает без нареканий. Выглядит она так:


Всё просто: в Used Device выбирается устройство из сопряженных ранее, которое будет выступать маячком, Timeout - время задержки перед выполнением действий, Lock command - выполняемая команда (или скрипт) по факту потери связи с Used device, в нашем случае это мантра: rundll32.exe user32.dll,LockWorkStation (по сути - нажатие Win + L), Release command - аналогичное действие по факту появления устройства в зоне видимости. Далее Start - и система должна начать работу.
В случае потери связи с устройством, утилита выдает соответствующее уведомление и через несколько секунд блокирует экран.