Időzített lekapcsolás Ubuntu 12.04

Fórumok

Szükségem lenne egy programra, amivel korlátozhatnám, mennyi ideig működik a gép egy adott napon. A Nanny vagy a timekpr tökéletes lenne, de sajnos megállt a fejlesztés, és 12.04-től egyik se működik.
Ha tudtok valami működő alternatívát, osszátok meg velem.

Hozzászólások

Magánvélemény, de nem tartom jó ötletnek.
Ha játék megy rajta, akkor még talán belefér. De egyébként...
Pontosan miért akarod időzítve leállítani?

Magyarán nem gond az esetleges adatvesztés?
Mert akkor cron.
At nem nyerő, mert csak egyszer fut.

Egyébként oda akartam kilyukadni, hogy esetleg a routeren kellene blokkolni a tiltott időszakban a gép internet elérését, azzal nem okozol adatvesztést, viszont a gép használhatóságát jelentősen korlátozod.

Persze ha az a gond, hogy az illető 4-kor feláll az asztal mellől és *szik kikapcsolni távozás előtt...
update: hülye vagyok, a linuxot is lehet hibernálni.

Valaha ezt a problémát úgy oldottam meg, hogy cron-ból indítottam egy shell scriptet, amelyik feldobott egy ablakot, hogy 15 perc múlva leáll a gép. Szólt 5 percnél, aztán 1 percnél, utána nem volt menekvés.

Amúgy öcsém kérte, amikor érezte, hogy az éjszaka felét blog olvasással tölti, ott ragad a gép előtt, másnap meg alig él melóban. Egyetlen hátránya, hogy ha fontos dolgot csinál, akkor is leáll a gép, valamint ilyenkor visszakapcsolva minden megy tovább.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Megtaláltam:

#!/bin/bash

DIALOG='/usr/bin/Xdialog'

for ((i=10; i>0; i--)); do
    case "$i" in
        10|5|2|1)
            if [ -x "$DIALOG" ]; then
                DISPLAY=:0 "$DIALOG" --title 'shutdown' --msgbox "\n$i perc múlva a számítógép leáll!\n" 0 0 </dev/null &>/dev/null &
            fi;;
    esac
    sleep 1m
done
while :; do
    sleep 2
    pgrep '^yum|^rpm' >/dev/null || break
done
sync
shutdown -h now
exit 0

Ez Fedorán futott, yum-ot azért figyelte, hogy ha épp távolról frissítem a gépet, ne álljon le. Mindenesetre vázlatnak jó.

Rosszul emlékeztem, hány percnél szólt, lásd a kódot.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE