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
(Yeni sayfa: =='''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 ...)
 
kDeğişiklik özeti yok
 
(4 kullanıcıdan 7 ara revizyon gösterilmiyor)
1. satır: 1. satır:
=='''Ne İşe Yarar?'''==
== Ne iş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.
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'''===
== Kaynak kodu ==
{{Kod||
<nowiki>#!/bin/bash
<nowiki>#!/bin/bash
</nowiki><br><nowiki>export kapat=" sudo shutdown -h +0"
 
</nowiki><br><nowiki>sen=`zenity --entry --title="Biligisayarı kapat" --text="Dakika olarak bir zaman girniz:      " `
 
</nowiki><br><nowiki>if [ $? -eq 1 ] ; then
export kapat="sudo halt"
</nowiki><br><nowiki>exit 1
 
</nowiki><br><nowiki>fi
sen=`zenity --entry --title="Biligisayarı kapat" --text="Dakika olarak bir zaman giriniz:      " `
</nowiki><br><nowiki>
 
</nowiki><br><nowiki>
if [ $? -eq 1 ] ; then
</nowiki><br><nowiki>
 
</nowiki><br><nowiki>let "zaman=$sen*60-1"
exit 1
</nowiki><br><nowiki>let "kes=$zaman/5"
 
</nowiki><br><nowiki>let "xx=$kes/60"
fi
</nowiki><br><nowiki>echo $zaman
 
</nowiki><br><nowiki>echo $kes
 
</nowiki><br><nowiki>let "kalan=$sen-$xx"
if [ $sen -gt 5 ]
</nowiki><br><nowiki>let "kalan1=$sen-$xx*2"
 
</nowiki><br><nowiki>let "kalan2=$sen-$xx*3"
      then
</nowiki><br><nowiki>let "kalan3=$sen-$xx*4"
 
</nowiki><br><nowiki>echo $kalan
            let "zaman=$sen*60-1"
</nowiki><br><nowiki>if [ $zaman -gt 60 ]
 
</nowiki><br><nowiki>    then
            let "kes=$zaman/5"
</nowiki><br><nowiki>        echo sure="dakika"
 
</nowiki><br><nowiki>        export sure="dakika"
            let "xx=$kes/60"
</nowiki><br><nowiki>    else
            echo $zaman
</nowiki><br><nowiki>      echo sure="saniye"
            echo $kes
</nowiki><br><nowiki>      export sure="saniye"
            let "kalan=$sen-$xx"
</nowiki><br><nowiki>fi
            let "kalan1=$sen-$xx*2"
</nowiki><br><nowiki>
            let "kalan2=$sen-$xx*3"
</nowiki><br><nowiki>gksu Kapat
            let "kalan3=$sen-$xx*4"
</nowiki><br><nowiki>(
            echo $kalan
</nowiki><br><nowiki>echo "10" ; sleep 1
      else
</nowiki><br><nowiki>echo "#Sistem $sen dakika sonra kapatılıcak.." ; sleep $kes
            let "zaman=$sen*60-1"
</nowiki><br><nowiki>echo "20" ; sleep 0
            let "kes=$zaman/5"
</nowiki><br><nowiki>echo "#Bilgisayar  $kalan $sure sonra kapatılıcak"  ; sleep $kes
            echo $zaman
</nowiki><br><nowiki>echo "50" ; sleep 0
            echo $kes
</nowiki><br><nowiki>echo "#Bilgisayar  $kalan1 $sure sonra kapatılıcak"  ; sleep $kes
            let "kalan=$zaman-$kes"
</nowiki><br><nowiki>echo "75" ; sleep 0
            let "kalan1=$zaman-$kes*2"
</nowiki><br><nowiki>echo "#Bilgisayar  $kalan2 $sure sonra kapatılıcak"  ; sleep $kes
            let "kalan2=$zaman-$kes*3"
</nowiki><br><nowiki>echo "# Sistem  $kalan3 $sure sonra kapatılıyor..." ; sleep $kes
            let "kalan3=$zaman-$kes*4"
</nowiki><br><nowiki>echo "99" ; sleep 0
            echo $kalan
</nowiki><br><nowiki>$kapat
fi
</nowiki><br><nowiki>echo "100" ; sleep 0
 
</nowiki><br><nowiki>) |
if [ $zaman -gt 300 ]
</nowiki><br><nowiki>zenity --progress  --title="Kapat"  --text="Sistem $sen dakika sonra kapatılıcak.."  --percentage=0
      then
</nowiki><br><nowiki>if [ $? -eq 1 ] ; then
              echo sure="dakika"
</nowiki><br><nowiki>
              export sure="dakika"
</nowiki><br><nowiki>    zenity --error  --text="Bilgisayarın Kapatılması İptal Edildi."
      else
</nowiki><br><nowiki>    fi </nowiki>
            echo sure="saniye"
----
            export sure="saniye"
===='''Çalışma Mantığı'''====
fi
 
 
(
echo "10" ; sleep 1
echo "#Sistem $sen dakika sonra kapatılıcak.." ; sleep $kes
echo "20" ; sleep 0
echo "#Bilgisayar  $kalan $sure sonra kapatılıcak"  ; sleep $kes
echo "50" ; sleep 0
echo "#Bilgisayar  $kalan1 $sure sonra kapatılıcak"  ; sleep $kes
echo "75" ; sleep 0
echo "#Bilgisayar  $kalan2 $sure sonra kapatılıcak"  ; sleep $kes
echo "# Sistem  $kalan3 $sure sonra kapatılıyor..." ; sleep $kes
echo "99" ; sleep 0
$kapat
echo "100" ; sleep 0
) |
zenity --progress  --title="Kapat"  --text="Sistem $sen dakika sonra kapatılıcak.."  --percentage=0
if [ $? -eq 1 ] ; then
zenity --error  --text="Bilgisayarın Kapatılması İptal Edildi." ;
exit 1
fi</nowiki>
}}
 
== Çalışma mantığı ==
Betiğin çalışma mantığı; öcelikle kullanıcıdan bilgisayarı kapatmak için şifre istiyor,
Betiğin çalışma mantığı; öcelikle kullanıcıdan bilgisayarı kapatmak için şifre istiyor,
Dakika olarak zaman girdisi istiyor.
Dakika olarak zaman girdisi istiyor.
Daha sonra zaman sona erdiğinde sistemi iptal ediyor
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...
Her zamanki gibi denemek için kodları bir metin belgesine yapıştırıp. çalıştırma hakkı vermek yeterli...
----
 
===='''Kaynak'''====
== Ayrıca bakınız==
http://forum.ubuntu-tr.net/index.php/topic,16443.new.html#new
* [[Zenity ile kabuk proglamlama]]
 
== Kaynak ==
* Ubuntu-tr Forumunda [http://forum.ubuntu-tr.net/index.php/topic,16443.msg198554.html#msg198554 Zenity, Bilgisayarı Kapat!] konusu
 
[[Kategori:Geliştirme]]

02.57, 7 Şubat 2015 itibarı ile sayfanın şu anki hâli

Ne iş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


export kapat="sudo halt"

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

if [ $? -eq 1 ] ; then

exit 1

fi


if [ $sen -gt 5 ]

      then

            let "zaman=$sen*60-1"

            let "kes=$zaman/5"

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

if [ $zaman -gt 300 ]
      then
              echo sure="dakika"
              export sure="dakika"
       else
             echo sure="saniye"
             export sure="saniye"
fi


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

Ç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...

Ayrıca bakınız

Kaynak