1 : Belgelerim İçine Yeni Metin Belgesi aç :
Dosya Adının İsimi : auto_shutdown.sh
2 : İçine Yaz :
#!/bin/bash
echo "==============================="
echo " KAPANMA ZAMANLAYICI v2 "
echo "==============================="
echo "1) Hazır süreler (1-60 dk)"
echo "2) Saat gir (1 - 24)"
echo "3) Dakika gir (1 - 1440)"
echo "4) Saat + Dakika gir"
echo "==============================="
read -p "Seçiminiz (1-4): " mode
minutes=0
case $mode in
1)
echo "Hazır süreler:"
echo "1) 1 dakika"
echo "2) 5 dakika"
echo "3) 10 dakika"
echo "4) 20 dakika"
echo "5) 30 dakika"
echo "6) 40 dakika"
echo "7) 50 dakika"
echo "8) 60 dakika"
read -p "Seçiminiz (1-8): " fast
case $fast in
1) minutes=1 ;;
2) minutes=5 ;;
3) minutes=10 ;;
4) minutes=20 ;;
5) minutes=30 ;;
6) minutes=40 ;;
7) minutes=50 ;;
8) minutes=60 ;;
*) echo "Geçersiz seçim!"; exit 1 ;;
esac
;;
2)
read -p "Kaç saat sonra kapanacak? (1-24): " h
if ! [[ "$h" =~ ^[0-9]+$ ]] || (( h < 1 || h > 24 )); then
echo "Hata: 1-24 arası saat girin!"
exit 1
fi
minutes=$((h * 60))
;;
3)
read -p "Kaç dakika sonra kapanacak? (1-1440): " m
if ! [[ "$m" =~ ^[0-9]+$ ]] || (( m < 1 || m > 1440 )); then
echo "Hata: 1-1440 arası dakika girin!"
exit 1
fi
minutes=$m
;;
4)
read -p "Saat (0-24): " h
read -p "Dakika (0-59): " m
if ! [[ "$h" =~ ^[0-9]+$ ]] || ! [[ "$m" =~ ^[0-9]+$ ]]; then
echo "Hata: Saat ve dakika sayısal olmalı!"
exit 1
fi
if (( h < 0 || h > 24 || m < 0 || m > 59 )); then
echo "Hata: Aralık dışında değer!"
exit 1
fi
minutes=$((h * 60 + m))
if (( minutes == 0 )); then
echo "Sıfır süre olamaz!"
exit 1
fi
;;
*)
echo "Geçersiz seçenek!"
exit 1
;;
esac
seconds=$((minutes * 60))
echo "Bilgisayar $minutes dakika sonra kapanacak."
echo "Kapatmayı iptal etmek için 'q' tuşuna basın."
for ((i=seconds; i>0; i--)); do
printf "\rKalan süre: %02d:%02d (İptal: q)" $((i/60)) $((i%60))
read -n1 -t1 key
if [[ "$key" == "q" || "$key" == "Q" ]]; then
echo -e "\nKapanma iptal edildi!"
exit 0
fi
done
echo -e "\nSüre doldu. Bilgisayar kapanıyor..."
systemctl poweroff
auto_shutdown.sh belgesini sağ tıklayıp Özellikler seçip Program Olarak Çalışmasına İzin ver İşaretli hale getirin .
3 : Masaüstüne Yeni Metin Belgesi Açın adını OtomatikKapanma.Desktop yazın
4: İçine kodları yapıştırın ; KENDİ KULLANICI ADINIZ yazan yere kendi kullanıcı adınız neyse onu yazın .
[Desktop Entry]
Name=Turn Off Timer
Comment=Bilgisayarı seçilen süre sonunda kapatır
Exec=/home/KENDİ KULLANICI ADINIZ/Belgeler/auto_shutdown.sh
Icon=system-shutdown
Terminal=true
Type=Application
Categories=Utility;
5 : OtomatikKapanma.desktop belgesini sağ tıklayıp Başlamasına İzin ver diyin
6 : Eğer Başlamasına izin menüsü gelmezse oluşturduğunuz OtomatikKapanma.desktop belgesini silip tekrar 3. basamaktan tekrar başlayın işlemi yapmaya . Bazen bu izin verme menüsü gelmiyebiliyor .
En azından işimi görüyor Ben ne istediysem onu yaptı . Yapay zekadan sudo olmadan istedim . Şimdi konudaki kodları ChatGpt yazdım oda iyileştirme önerileri arasında geri sayım önerisini verdi .
claude İyileştirme Önerileri:
Onay mekanizması: Kapatma öncesi son bir onay istemek güvenli olabilir
Bu öneri uygulamanın amacını bozan bir davranış olur bence . Ben yatağa yatmışım ayarlamışım . Uyurken kim vericek onayı yapay zeka işte .
Evet.
Çok çeşitli durumlarda kullanışlı olması açısından, belki Claude’un son onay mekanizmasına, bir dakika içinde cevap verilmezse, kapatma işlemini başlat şeklinde bir şey de eklenebilir.
Senin denediğin yapay zekanın kodlarını denedim . Terminal açılmıyor hiç . ChatGpt ye verdim düzelt diye oda daha başka bişi yaptı Sonrasında düzelt dedikçe dahada acayipleşti .
Yeni bir sohbet açıp Şunu yazdım Buna ekleme yap . Kullanıcı için geri sayım eklensin ve Süre ayarlandıktan sonra kullanıcı vazgeçmesi için seçenek . Çalışan bir kod yaz . Kodları alttaki mesajda vericem bekle
Geri Sayım Eklendi ve İşlemi İptal etme özelliği eklendi Yeni Kodlar
Belgelerim İçindeki auto_shutdown.sh Kodları Silip aşağıdaki kodları yapıştırın
#!/bin/bash
echo "Bilgisayar kaç dakika sonra kapanacak?"
echo "1) 1 dakika"
echo "2) 5 dakika"
echo "3) 10 dakika"
echo "4) 20 dakika"
echo "5) 30 dakika"
echo "6) 40 dakika"
echo "7) 50 dakika"
echo "8) 60 dakika"
read -p "Seçiminiz (1-8): " choice
case $choice in
1) minutes=1 ;;
2) minutes=5 ;;
3) minutes=10 ;;
4) minutes=20 ;;
5) minutes=30 ;;
6) minutes=40 ;;
7) minutes=50 ;;
8) minutes=60 ;;
*) echo "Geçersiz seçim!"; exit 1 ;;
esac
seconds=$((minutes * 60))
echo "Bilgisayar $minutes dakika sonra kapanacak."
echo "'q' tuşuna basarak kapanmayı iptal edebilirsiniz."
# Geri sayım ve tuş kontrolü
for ((i=seconds; i>0; i--)); do
printf "\rKapanma: %02d:%02d dakika kaldı. 'q' ile iptal edebilirsiniz." $((i/60)) $((i%60))
# 1 saniye bekle ve tuşa basılıp basılmadığını kontrol et
read -n1 -t1 key
if [[ $key == "q" || $key == "Q" ]]; then
echo -e "\nKapanma iptal edildi!"
exit 0
fi
done
echo -e "\nSüre doldu. Bilgisayar kapanıyor..."
systemctl poweroff
Menüler Türkçe olarak düzeltildi
Geri Sayım Eklendi
Seçim İptali Eklendi
Bazı söyledikleri gerçek hayatta yanlış çıkıyor, fakat adım adım birlikte çalışarak iyi yol alınıyor.
Benim böyle bir şeye ihtiyacım olacağını hiç sanmıyorum, aksi takdirde burada grafiksel arayüz kullanırdım - örneğin, YAD ile oldukça şık olabilir.
Özellikle sınırlı sayıda dakika seçeneği yerine, 1…60 veya daha geniş bir aralık sunulabilir.
dakika="$(yad --form --title "Geri Sayımlı Bilgisayar Kapanışı" \
--align "right" \
--field "Dakika:":NUM "30|1..60|1|0" \
--width "355")"
if [[ $? != 0 ]]; then
exit 1
fi
dakika="${dakika%|}"
Bu verdiğin kodu çalıştıramadım . Fakat bir fikir gelmesine sebep oldun . Niye 1 saat ile sınırlandırayım ki 24 saat olsun . Ayar ekranında karışıklık olmaması için düzen yaptım . 300 dk sonra kapansın 300 dk kaç saat kaç dakika eder ki hesap karmaşası olmasın .
Sanırım Bu Turn Off Pro oldu kendimce Bunu Bilgisayarına uygulayıp deniyip önerilerini beklerim . Gelişmesine sebep oldun
#!/bin/bash
echo "==============================="
echo " KAPANMA ZAMANLAYICI v2 "
echo "==============================="
echo "1) Hazır süreler (1-60 dk)"
echo "2) Saat gir (1 - 24)"
echo "3) Dakika gir (1 - 1440)"
echo "4) Saat + Dakika gir"
echo "==============================="
read -p "Seçiminiz (1-4): " mode
minutes=0
case $mode in
1)
echo "Hazır süreler:"
echo "1) 1 dakika"
echo "2) 5 dakika"
echo "3) 10 dakika"
echo "4) 20 dakika"
echo "5) 30 dakika"
echo "6) 40 dakika"
echo "7) 50 dakika"
echo "8) 60 dakika"
read -p "Seçiminiz (1-8): " fast
case $fast in
1) minutes=1 ;;
2) minutes=5 ;;
3) minutes=10 ;;
4) minutes=20 ;;
5) minutes=30 ;;
6) minutes=40 ;;
7) minutes=50 ;;
8) minutes=60 ;;
*) echo "Geçersiz seçim!"; exit 1 ;;
esac
;;
2)
read -p "Kaç saat sonra kapanacak? (1-24): " h
if ! [[ "$h" =~ ^[0-9]+$ ]] || (( h < 1 || h > 24 )); then
echo "Hata: 1-24 arası saat girin!"
exit 1
fi
minutes=$((h * 60))
;;
3)
read -p "Kaç dakika sonra kapanacak? (1-1440): " m
if ! [[ "$m" =~ ^[0-9]+$ ]] || (( m < 1 || m > 1440 )); then
echo "Hata: 1-1440 arası dakika girin!"
exit 1
fi
minutes=$m
;;
4)
read -p "Saat (0-24): " h
read -p "Dakika (0-59): " m
if ! [[ "$h" =~ ^[0-9]+$ ]] || ! [[ "$m" =~ ^[0-9]+$ ]]; then
echo "Hata: Saat ve dakika sayısal olmalı!"
exit 1
fi
if (( h < 0 || h > 24 || m < 0 || m > 59 )); then
echo "Hata: Aralık dışında değer!"
exit 1
fi
minutes=$((h * 60 + m))
if (( minutes == 0 )); then
echo "Sıfır süre olamaz!"
exit 1
fi
;;
*)
echo "Geçersiz seçenek!"
exit 1
;;
esac
seconds=$((minutes * 60))
echo "Bilgisayar $minutes dakika sonra kapanacak."
echo "Kapatmayı iptal etmek için 'q' tuşuna basın."
for ((i=seconds; i>0; i--)); do
printf "\rKalan süre: %02d:%02d (İptal: q)" $((i/60)) $((i%60))
read -n1 -t1 key
if [[ "$key" == "q" || "$key" == "Q" ]]; then
echo -e "\nKapanma iptal edildi!"
exit 0
fi
done
echo -e "\nSüre doldu. Bilgisayar kapanıyor..."
systemctl poweroff
Python bildiğimden değilki (Python nasıl yazılır internetten baktım hatta )yapay zeka yardımı . Sıfır kod bilgisi . Yapay zekaya sadece ne istediğimi düzgünce yazıyorum . Şurayı düzelt şöyle olsun hata varsa şurada hata var düzelt öyle Aklıma bişiler geldi bir ara . Bu Linux ile Yapay zeka birleşse .
Evet o şekilde de yapılabilir . Benim kod bilgim yok ve üşengeç bir insanım Bu üşengeçlik böyle birşeye sebep oldu
En son hali bu . Bu en kullanışlısı ve Pratik olanı . Sadi Yumuşak yaptığı yorumlar sonrası aklıma fikir gelmesine sebep oldu . Beyin fırtınası mı deniyor sanırım evet
Yeri gelmişken güzel bir örnek olur diye yazayım. UNIX felsefesinde belirli ve tek bir işi yapan programlar birbirleriyle haberleşerek kompleks işlemleri gerçekleşirebilir.
Örneğin terminalde sadece beklemeye yarayan sleep komutu ardından başka bir komut çalıştırarak bunu sağladık.
Sizin arayüzlü programda bu işlem sadece bilgisayarı kapatma özelinde çalışıyor. Fakat terminalde bununla yapılacak şeyler sınırsız.
Örneğin: Bir dosya indirme veya başka bir diske taşıma işlemi bittiğinde bilgisayarı kapatmak için de kullanabilirsiniz. Veya başka koşullar da ekleyip daha kompleks yapılar da kurabilirsiniz.
Arayüz son kullanıcının ilk ve en kolay etkileşime gireceği yer olsa da terminaldeki kabuk betiği(shell scripting) daha geniş imkanlara yol açıyor.
Bu illa bash veya shell scripting ile olmak zorunda da değil. Bir python scripti de çalıştırılabilir elbette.
Konuyu okuyanların ilgisini çekebilir diye eklemek istedim.
Bilgi ve fikir alışverişine neden “brainstorm” demişler ve biz de onları taklit ederek neden “beyin fırtınası” diyelim, anlamam.
Linux ile Yapay Zeka bileşimi denemeleri var fakat o zaman da Linux dünyasında çok önem verilen kişisel bilgilerin güvenliği ve mahremiyeti gibi büyük bir soru çıkıyor ortaya.
Fakat bunun tamamen yerel (herkesin kendi bilgisayarında kurulan LLM modülleri vs. kullanılarak ve hiç dışarıya bilgi sızdırmadan) yapılması da yakında gündeme gelir herhalde - bunun için çok güçlü donanım gerektiğini de unutmamak gerek. Yeni çıkan ilave Yapay Zeka işlemcilerinin Linux tarafından kullanımı malum nedenlerden dolayı biraz yavaş ilerliyor bu arada.