ubuntuusers.de

Anschalter.sh: unabgelenkt arbeiten ohne Internet

Status: Ungelöst | Ubuntu-Version: Ubuntu 11.04 (Natty Narwhal)
Antworten |

unexpectedtoken

Anmeldungsdatum:
23. Juni 2011

Beiträge: Zähle...

Raubt euch das Internet die Zeit? Könnt ihr einfach nicht abschalten und unabgelenkt arbeiten? Dagegen hilft Freedom, aber leider nicht unter Linux.

Deshalb habe ich ein kleines Bash-Skript geschrieben ("anschalter.sh"), das den Network Manager für eine bestimmte Zeit deaktiviert. Dadurch werden alle Netzwerkverbindungen getrennt, die vom Network Manager verwaltet werden. Einzige Abhängigkeiten sind Network Manager und Zenity (beides in Natty vorinstalliert).

Hinweis:

VORSICHT: Der Zweck dieses Skripts ist die Unterbrechung eurer Netzwerkverbindungen!!! Das Skript funktioniert bei mir ohne Probleme, aber es muss noch ausgiebig getestet werden. Benutzt es auf eigene Verantwortung und nur als normale User (nicht mit sudo starten)! Wenn etwas schief läuft, sollte der Befehl "nmcli nm enable true" den Network Manager wieder starten. Im schlimmsten Fall sollte ein Neustart helfen.

Hier gehts zum Skript: anschalter.sh

Viel Spaß beim Abschalten, Testen und Verbessern!

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Wohnort: Berlin

Ähm, und wo ist das Problem, einfach folgendes zu tun? (siehe Anhang)

Macht dein Script irgendetwas besser oder anders oder mehr?

Bilder

unexpectedtoken

(Themenstarter)

Anmeldungsdatum:
23. Juni 2011

Beiträge: 2

Das Skript deaktiviert NM, aber mit einem Timer. Du kannst die Dauer angeben für die deine Verbindung unterbrochen werden soll. Wenn die Dauer verstrichen ist, wird die Verbindung automatisch reaktiviert. Nicht mehr und nicht weniger und deshalb für manche hilfreich.

Update: die oben verlinkte Version ist fehlerhaft.

Neue Version:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#!/bin/bash
while [ -z $dauer ]
do
  dauer=$(zenity --title="Anschalter" --entry --text "Für wie viele Minuten möchtest du den Netzwerkzugang abschalten?")
  [[ $? == 1 ]] && exit
  [[ -z $dauer ]] &&  zenity --info --text="Abschaltdauer angeben..."
done
nmcli nm enable false
(t=0
while [ $t -le $dauer ]
do
 t=$((t+1))
 sleep 60
 echo $((t*100/dauer))
done ) | zenity --progress --title="Anschalter ist aktiv" --text="Der Netzwerkzugang ist für $dauer Minuten blockiert. Du bist angeschaltet. Nutze deine Zeit." --percentage=0 --no-cancel
nmcli nm enable true
Antworten |