Как мне автоматически остановить всю входящую и исходящую сетевую активность, когда я блокирую свой экран? Включая http, ftp, ssh и т. Д.
Я могу проверить это, например, поместив видео Youtube и затем заблокировав свой экран. Видео все равно будет воспроизводиться, даже если компьютер заблокирован. Указывает на продолжающуюся сетевую активность.
После блокировки я хочу, чтобы мой рабочий стол Ubuntu останавливал весь трафик данных на компьютер и с него и возобновлял его с того места, где он остановился, когда я снова вхожу в систему. Есть ли способ сделать это? Не могли бы вы помочь?
Этот ответ был вдохновлен этим ответом на Как запустить команду или скрипт при блокировке/разблокировке экрана?
Для Ubuntu 14.04:
Предполагая, что вы используете сетевой менеджер по умолчанию, создайте сценарий (я поместил мой в ~/bin и назвал его netlock.sh)
Вот содержимое:
#!/bin/bashdbus-monitor - сеанс "type = 'signal', interface = 'com.ubuntu.Upstart0_6'" | (while true; читать X, если echo $ X | grep "desktop-lock" &>/dev/null; тогда nmcli nm enable false; elif echo $ X | grep "desktop-unlock" &>/dev/null; затем nmcli nm enable true; fi done)
Этот скрипт отключит сеть при блокировке и снова включит при разблокировке.
Если вы хотите, чтобы это было запускать каждый раз при запуске, см. Как запускать сценарии при запуске?
Если вы хотите, чтобы он запускался каждый раз при входе в систему, см. Как мне запускать приложения автоматически при входе в систему?
Для Ubuntu 16.04: просто отредактируйте сценарий и измените nmcli nm enable false
на nmcli network off
и nmcli nm enable true
для nmcli network on
по мере необходимости из-за изменений в nmcli
Конечно, все, что уже загружено и буферизовано, будет по-прежнему воспроизводиться, пока буферы не иссякнут, поэтому, если вы хотите более точный контроль, вам придется использовать кнопку паузы на проигрывателе YouTube.
Я не могу гарантия, что все будет возобновите с того места, где остановились, поскольку сервер может сбрасывать неактивные соединения, но, надеюсь, это близко к тому, что вы хотите.
Windows 7: отключение блокировки рабочей станции через 10 минут с помощью групповой политики
На моем ПК с Windows 7 система блокируется после 10 минут бездействия. Обычно я нахожу этот параметр рядом с настройкой экранной заставки. Однако этот параметр неактивен.
Я думаю, это из-за корпоративной групповой политики. Поскольку я являюсь администратором на этом компьютере, я должен иметь возможность перенастроить параметр групповой политики с помощью gpedit.msc.
Какой параметр групповой политики мне нужно изменить, чтобы предотвратить автоматическая блокировка моей рабочей станции?
Изменить: я не настроил хранитель экрана. Я также хочу сохранить возможность блокировать рабочую станцию вручную.
Чтобы отключить блокировку:
В HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Policies System
, создайте новое значение DWORD
с именем DisableLockWorkstation
и установите значение 1
Затем перезагрузите компьютер.
Ответ на актуальный вопрос вы спросили:
Конфигурация пользователя Политики Административные шаблоны Панель управления Персонализация
. Необходимые настройки: «Включить хранитель экрана», «Тайм-аут заставки», «Принудительно использовать конкретную заставку» (это важно, потому что, если в системе не настроена заставка, это не сработает) и, наконец, «Защита заставки паролем».
из https://social.technet.microsoft.com/Forums/windowsserver/en-US/5c2518d4-f531-471a-a649-0f5dd5495679/group-policy-to-auto-lock- the-system-after-fix-interval? forum = winserverGP
Групповая политика из домена, скорее всего, переопределит любые внесенные вами изменения. Если это создает проблему для вашей работы, почему бы не обратиться к администратору и не поискать решения. Внесение изменений может быть нарушением корпоративной политики и иметь последствия.
Быстрый звонок должен помочь.
1
Групповая политика переопределяет ваши настройки, но вы можете имитировать действия пользователя, чтобы предотвратить блокировку экрана. Посмотрите этот ответ, чтобы узнать, как это сделать.
1
Как уже говорили другие, политика домена обычно отменяет любые локальные параметры, которые вы пытаетесь настроить для этого. Однако есть еще пара вещей, которые я хотел бы добавить:
Будьте осторожны при настройке этого параметра, будь то через реестр или иным образом. Однажды я попытался возиться со своей в одной системе (политика домена — блокировка через 15 минут, но я предпочитаю 5 — хотя я не могу вспомнить, что я изменил), и система закончила тем, что не слушала ни домен , ни мои предпочтения даже после того, как я откатил изменение. В этом случае заставка вообще не запускалась. Это именно то, что вы хотите, но определенно не то, что я намеревался. YMMV.
Независимо: если только ваша система не требует постоянного немедленного доступа для сохранения жизни и/или имущества (например, справочная служба 911), она вероятно, противоречит политике вашей организации по предотвращению блокировки рабочей станции. Если ваша система попадает в эту категорию, то, вероятно, она уже была бы настроена так, чтобы не блокировать. Поэтому лучше просто не трогать .
Даже если вам удастся изменить этот параметр навсегда, корпоративные администраторы могут обнаружить, что компьютер не соответствует требованиям, и снова принудительно включить политику. После того, как вы сделаете это несколько раз, вы или ваш менеджер можете получить памятку или посетить ваш дружелюбный отдел ИТ-безопасности.
5
Просто воспроизведите несколько песен в проигрывателе Windows Media, выбрав опцию повтора (отключение звука). Тогда он никогда не блокируется и не спит.
1
Вы можете использовать Nosleep .exe функция. Работает как часы. Вам необходимо загрузить его из Интернета.
Это работает в Windows 8/7/2008R2/2003 R2
Ссылка для скачивания http://www.symantec.com /connect/downloads/readynosleepexe-prevent-screensaver-and-pc-lock
Я хотел сделать что-то подобное.
Я пробовал бесплатное программное обеспечение Caffeine, но оно было заблокировано нашими ИТ-политиками. Я закончил тем, что написал сценарий Python, который делает то же самое (отправляет нажатие клавиши F15 каждые xx секунд).
(Его определенно можно обрезать до минимума строк, но у нас осталось 15 минут, поэтому первая часть представляет собой большой копипаст другого кода).
Вот он:
#!/pythonimport ctypesimport randomimport reimport timefrom argparse import ArgumentParser, HelpFormatterLONG = ctypes.c_longDWORD = ctypes.c_ulongULONG_PTR = ctypes.POINTER (DWORD) WORD = ctypes.c_ushortclass (dypes.c_ushortclass) (ctypes.c_ushortclass) LONG), ('dy', LONG), ('mouseData', DWORD), ('dwFlags', DWORD), ('time', DWORD), ('dwExtraInfo', ULONG_PTR)) класс KEYBDINPUT (ctypes.Structure) : _fields_ = (('wVk', WORD), ('wScan', WORD), ('dwFlags', DWORD), ('time', DWORD), ('dwExtraInfo', ULONG_PTR)) class _INPUTunion (ctypes.Union ): _fields_ = (('mi', MOUSEINPUT), ('ki', KEYBDINPUT)) class INPUT (ctypes.Structure): _fields_ = (('type', DWORD), ('union', _INPUTunion)) def Отправить Вход (* входы): nInputs = len (входы) LPINPUT = INPUT * nInputs pInputs = LPINPUT (* входы) cbSize = ctypes.c_int (ctypes.sizeof (INPUT)) return ctypes.windll.user32. SendInput (nInputs, pInputs, cbSize) INPUT_MOUSE = 0INPUT_KEYBOARD = 1def Вход (структура): если isinstance (структура, MOUSEINPUT): вернуть INPUT (INPUT_MOUSE, _INPUTunion (mi = структура)) elif isinstance (mi = структура)) elif isinstance , _INPUTunion (ki = structure)) else: поднять TypeError ('Невозможно создать структуру INPUT (клавиатура)!') Keys = {'DEFAULT': 0x7E, # F15 key 'SNAPSHOT': 0x2C, # PRINT SCREEN key 'F1': 0x70, # клавиша F1 'F2': 0x71, # клавиша F2 'F3': 0x72, # клавиша F3 'F4': 0x73, # клавиша F4 'F5': 0x74, # клавиша F5 'F6': 0x75, # клавиша F6 'F7': 0x76, # F7 key 'F8': 0x77, # F8 key 'F9': 0x78, # F9 key 'F10': 0x79, # F10 key 'F11': 0x7A, # F11 key 'F12': 0x7B , # F12 key 'F13': 0x7C, # F13 key 'F14': 0x7D, # F14 key 'F15': 0x7E, # F15 key 'F16': 0x7F, # F16 key 'F17': 0x80, # F17 key ' F18 ': 0x81, # F18 key' F19 ': 0x82, # F19 key' F20 ': 0x83, # F20 key' F21 ': 0x84, # F21 key' F22 ': 0x85, # F22 key' F23 ': 0x86, # F23 key 'F24': 0x87, # F24 key} def Keyboard (code, flags = 0): # Код для клавиши 0..9 o r A..Z: соответствует коду ASCII, если len (code) == 1 и re.match (r '[0-9A-Za-z]', code): key = ord (code.upper ( )) # Ключи 'F ...': мы используем код из словаря else: key = keys.get (code.upper (), keys ['DEFAULT']) return Input (KEYBDINPUT (key, key, flags, 0 , Никто))############################################## ############################# предложения = [«Не спи!», «Не спи!», «Ты все еще здесь? "," Привет ... "," Хотите кофе? "," Что вы делаете? "] def keep_alive (delay, nb_cycles = -1, key = 'F15'):" "" Отправить нажатие клавиши F15 при заданной задержке для данного nb циклов Args: delay (int): задержка в секундах nb_cycles (int): количество циклов (установлено на -1 для неограниченного количества) key (str): Ключ для отправки (по умолчанию: 'F15' ) "" "print (" Поверь мне, я сохраню тебе жизнь! n ") while nb_cycles! = 0: time.sleep (delay) SendInput (Keyboard (key)) print (random.choice (предложения)) nb_cycles - = 1if __name__ == '__main__': # Информация о программе copyright_year = 2018 prog = "stay_awake" version_str = "% s v1.0"% pr og help_string = "" " Цель: отправить нажатие клавиши (F15) для имитации активности пользователя" "" # Параметры parser = ArgumentParser (description = help_string, prog = prog, formatter_class = lambda prog: HelpFormatter (prog, max_help_position = 60)) parser.add_argument ("-k", "--key", type = str, default = 'F15', help = "Ключ для отправки [Dflt: F15]") parser.add_argument ("-d", "- delay ", type = int, default = 234, help =" Задержка (в секундах) между нажатиями клавиш [Dflt: 234] ") parser. add_argument ("-r", "--duration", type = int, default = -1, help = "Продолжительность (в с) или отрицательное значение для бесконечности") options = parser.parse_args () # Запустить nb_cycles = options. продолжительность если options.duration