Esta resposta foi inspirada por esta resposta para Como executar um comando ou script no bloqueio de tela / desbloqueio?
Para o Ubuntu 14.04:
Assumindo que você esteja usando o gerenciador de rede padrão, crie um script (coloquei o meu em ~ / bin e o chamei de netlock.sh)
Este é o conteúdo:
#!/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
)
Este script desativará a rede no bloqueio e será reativado no desbloqueio.
Se você quer que ele seja executado toda vez na inicialização, veja Como executar scripts no arranque?
Se você quiser que ele seja executado toda vez que fizer login, consulte Como Iniciar aplicativos automaticamente no login?
Para o Ubuntu 16.04: basta editar o script e alterar o nmcli nm enable false
to nmcli networking off
e o nmcli nm enable true
to nmcli networking on
conforme necessário devido a alterações em nmcli
É claro que qualquer coisa que já tenha sido baixada e armazenada em buffer ainda será reproduzida até que os buffers se esgotem, então, se você quiser um controle mais exato, terá que usar o botão de pausa no player do youtube.
Não posso garantir que tudo será retomado de onde parou, pois um servidor pode desativar conexões inativas, mas esperamos que esteja próximo do que você deseja.