Как я могу автоматически остановить всю сетевую активность входящего и исходящего, когда я заблокирую экран? В том числе http, ftp, ssh и т. Д.
Я могу проверить это, например, добавив видео Youtube и затем заблокировав свой экран. Видео все равно будет воспроизводиться, даже если компьютер заблокирован. Указывает на продолжение активности в сети.
После блокировки я хочу, чтобы мой рабочий стол Ubuntu остановил весь трафик данных на компьютер и с него, и возобновил его с того места, где он остановился, когда я заходил в систему. Есть ли способ сделай это? Вы можете помочь?
Этот ответ был вдохновлен этим ответом на «Как запустить команду или скрипт при блокировке / разблокировке экрана?»
Для Ubuntu 14.04:
Предполагая, что вы используете сетевой менеджер по умолчанию, создайте скрипт (я поместил мой в ~ / bin и назвал его netlock.sh)
Вот содержимое:
#!/bin/bash
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
while true; do
read X
if echo $X | grep "desktop-lock" &> /dev/null; then
nmcli nm enable false;
elif echo $X | grep "desktop-unlock" &> /dev/null; then
nmcli nm enable true;
fi
done
)
Этот скрипт отключит работу сети при блокировке и повторном включении на разблокировке.
Если вы хотите, чтобы он запускался каждый раз при запуске, см. этот ответ
Если вы хотите, чтобы он запускался каждый раз при входе в систему, см. раздел Как делать Я запускаю приложения автоматически при входе в систему?
Для Ubuntu 14.04: просто отредактируйте скрипт и измените значения nmcli nm enable false на nmcli networking off и nmcli nm enable true на nmcli networking on по мере необходимости из-за изменений в nmcli
Конечно, все, что уже загружено и буферизировано, по-прежнему будет воспроизводиться до тех пор, пока буферы не будут сухими, поэтому, если вы хотите более точный контроль, вам придется использовать кнопку паузы на проигрывателе YouTube.
Я не могу гарантировать, что все возобновится там, где вы остановились, поскольку сервер может отказаться от неактивного c но, надеюсь, это близко к тому, что вы хотите.
Этот ответ был вдохновлен этим ответом на «Как запустить команду или скрипт при блокировке / разблокировке экрана?»
Для Ubuntu 14.04:
Предполагая, что вы используете сетевой менеджер по умолчанию, создайте скрипт (я поместил мой в ~ / bin и назвал его netlock.sh)
Вот содержимое:
#!/bin/bash
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
while true; do
read X
if echo $X | grep "desktop-lock" &> /dev/null; then
nmcli nm enable false;
elif echo $X | grep "desktop-unlock" &> /dev/null; then
nmcli nm enable true;
fi
done
)
Этот скрипт отключит работу сети при блокировке и повторном включении на разблокировке.
Если вы хотите, чтобы он запускался каждый раз при запуске, см. этот ответ
Если вы хотите, чтобы он запускался каждый раз при входе в систему, см. раздел Как делать Я запускаю приложения автоматически при входе в систему?
Для Ubuntu 14.04: просто отредактируйте скрипт и измените значения nmcli nm enable false на nmcli networking off и nmcli nm enable true на nmcli networking on по мере необходимости из-за изменений в nmcli
Конечно, все, что уже загружено и буферизировано, по-прежнему будет воспроизводиться до тех пор, пока буферы не будут сухими, поэтому, если вы хотите более точный контроль, вам придется использовать кнопку паузы на проигрывателе YouTube.
Я не могу гарантировать, что все возобновится там, где вы остановились, поскольку сервер может отказаться от неактивного c но, надеюсь, это близко к тому, что вы хотите.