Zenity betiği ile otomatik bilgisayar kapatma: Revizyonlar arasındaki fark

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Değişiklik özeti yok
86. satır: 86. satır:
===='''Kaynak'''====
===='''Kaynak'''====
http://forum.ubuntu-tr.net/index.php/topic,16443.new.html#new
http://forum.ubuntu-tr.net/index.php/topic,16443.new.html#new
[[Kategori:Programlama]]

20.45, 16 Ağustos 2010 tarihindeki hâli

Ne İşe Yarar?

Zenity betiği bilgisayarınızı, belirlediğiniz dakika içersinde otomatik olarak kapatır. Örneğin bilgisayarınızın 10dakike içersinde kendiliğinden kapanmasını istiyorsanız, Zenity uygulamasını açıp, "10" yazmanız yeterli olacaktır.


Kaynak kodu


#!/bin/bash<br />

<br />

export kapat="sudo halt"<br />
<br />

sen=`zenity --entry --title="Biligisayarı kapat" --text="Dakika olarak bir zaman giriniz:      " `<br />

if [ $? -eq 1 ] ; then<br />

exit 1<br />

fi<br />


if [ $sen -gt 5 ]<br />

          then<br />

                    let "zaman=$sen*60-1"<br />

                    let "kes=$zaman/5"<br />

                    let "xx=$kes/60"<br />
                    echo $zaman<br />
                    echo $kes<br />
                    let "kalan=$sen-$xx"<br />
                    let "kalan1=$sen-$xx*2"<br />
                    let "kalan2=$sen-$xx*3"<br />
                    let "kalan3=$sen-$xx*4"<br />
                    echo $kalan<br />
           else<br />
                    let "zaman=$sen*60-1"<br />
                    let "kes=$zaman/5"<br />
                    echo $zaman<br />
                    echo $kes<br />
                    let "kalan=$zaman-$kes"<br />
                    let "kalan1=$zaman-$kes*2"<br />
                    let "kalan2=$zaman-$kes*3"<br />
                    let "kalan3=$zaman-$kes*4"<br />
                    echo $kalan<br />
fi<br /><br />

if [ $zaman -gt 300 ]<br />
          then<br />
                      echo sure="dakika"<br />
                      export sure="dakika"<br />
           else<br />
                     echo sure="saniye"<br />
                     export sure="saniye"<br />
fi<br />
<br />
<br />
(<br />
echo "10" ; sleep 1<br />
echo "#Sistem $sen dakika sonra kapatılıcak.." ; sleep $kes<br />
echo "20" ; sleep 0<br />
echo "#Bilgisayar  $kalan $sure sonra kapatılıcak"  ; sleep $kes<br />
echo "50" ; sleep 0<br /><br />
echo "#Bilgisayar  $kalan1 $sure sonra kapatılıcak"  ; sleep $kes<br />
echo "75" ; sleep 0<br />
echo "#Bilgisayar  $kalan2 $sure sonra kapatılıcak"  ; sleep $kes<br />
echo "# Sistem  $kalan3 $sure sonra kapatılıyor..." ; sleep $kes<br />
echo "99" ; sleep 0<br />
$kapat<br />
echo "100" ; sleep 0<br />
) |<br />
zenity --progress  --title="Kapat"  --text="Sistem $sen dakika sonra kapatılıcak.."  --percentage=0<br />
if [ $? -eq 1 ] ; then<br />
zenity --error  --text="Bilgisayarın Kapatılması İptal Edildi." ;<br />
exit 1<br />
fi<br />

Çalışma Mantığı

Betiğin çalışma mantığı; öcelikle kullanıcıdan bilgisayarı kapatmak için şifre istiyor, Dakika olarak zaman girdisi istiyor. Daha sonra zaman sona erdiğinde sistemi iptal ediyor Her zamanki gibi denemek için kodları bir metin belgesine yapıştırıp. çalıştırma hakkı vermek yeterli...


Kaynak

http://forum.ubuntu-tr.net/index.php/topic,16443.new.html#new