Автобиография
Програми
Web Blog B
 
O Y A N   B O Y C H E
V Скинове & Fonts
Книга за Гости Игри
Лични Снимки Михаел Шумахер
Моите Приятели       Връзки
Меню
   
Инфо
 
Вашето IP:
 54.196.106.106
 
Дата и час:
29 Март 2024
06:35:30
 
Последна актуализация:
04 Януари 2024
 
Вие сте посетител №:
03.2024г. 3068
(2024г.) (0)

Посетители - ботове:
03.2024г. 3068
(2024г.) (9059)

 
 

Valid XHTML 1.0 Transitional

 
Новини
Новини за месец Февруари 2009
GShutdown и sudo
Как да спрем компютъра си в определено време при работа с Gnome, KDE или XFCE?!
Събота, 7 Февруари 2009
Дълго време си търсих графична програма, която да използвам за спирането на компютъра си в определено време. По-специално това, което търсих бе малка и семпла програма, която с едно, максимум две кликвания на мишката да поготви машината за спиране в определено от мен време. Така попаднах на GShutdown.

GShutdown е малка, но функционална програма, която ви позволява да изготвите график за изключване или рестартиране на компютъра ви, или да прекрати текущата работна сесия.

GShutdown е безплатен софтуер разпространяващ се в рамките на GNU GPL лиценза. Графичният потребителски интерфейс на програмата е построен на базата на многоплатформената библиотека GTK+2.

Но да се върнем малко назад в моето близко минало. Доскро използвах просто решение с помощта на "at", "sudo" и "poweroff". Ето и краткият bash скрипт, който спираше компютъра ми след 30 минути от момента на стартирането му:
Примерен код
[username@hostname ~]$ cat poweroff_30min.sh
#!/bin/bash

echo "/usr/bin/sudo /sbin/poweroff" | /usr/bin/at now + 30 minutes
[username@hostname ~]$

За функционирането на скрипта са необходими няколкто предварителни условия и настройки:
  1. Инсталиран At и работеш atd демон - примерно at-3.1.10-26.fc10.i386 пакет (Fedora 10) и проверка за atd демона:
    Примерен код
    [username@hostname ~]$ ps -ef | grep atd | grep -v grep
    root 2753 1 0 10:20 ? 00:00:00 /usr/sbin/atd
    [username@hostname ~]$

    [username@hostname ~]$ chkconfig --list | grep atd
    atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
    [username@hostname ~]$

  2. Инсталирано (примерно sudo-1.6.9p17-5.fc10.i386) и конфигурирано sudo (с помощта на visudo), където "username" трябва да бъде заместено с името на вашия потребител. Също така намерете и коментирайте "Defaults requiretty" реда:
    Примерен код
    [root@hostname ~]# grep 'poweroff' /etc/sudoers
    ## Allow username to run poweroff command as root on localhost without password
    username ALL=(root) NOPASSWD: /sbin/poweroff
    [root@hostname ~]#

    [root@hostname ~]# grep 'requiretty' /etc/sudoers
    #Defaults requiretty
    [root@hostname ~]#

Този начин разбира се работи ефективно, но не е достатъчно гъвкав, тъй като при него е твърдо записано "now + 30 minutes", т.е. компютъра спира след 30 минути от момента на стартиране на скрипта. Това разбира се може да се промени, като се добави времето като аргумент към скрипта, но тогава скрипта ще бъде ефективен само от терминален прозорец. За решаването на този проблем идва на помощ GShutdown...

Публикувано в Софтуер
Коментари: 0


<< Назад
© Боян Бойчев