30 Ekim 2010 Cumartesi

Servis Yöneticisi

Servis Yöneticisi, sisteminizde kurulu olan paketlere ait servisleri yönetebileceğiniz bir arayüzdür.
Hata ve eksiklerin belirlenmesi
Bugzilla'da raporlanan hatalar:
  • Servis yöneticisi ön tanımlı ayarlara dönmüyor.
  • Uygula butonuna basmadan kaydediyor .
  • Arayüzde servislerin açıklaması olmalı.
  • Svn çalışmıyor.
  • Yanlış filtreleme sonuçlarını düzelt.
  • Yazıcı programcığı servis yöneticisinden kontrol edilemiyor.
backend.py 'de yapılanlar:
  • Çomar'a bağlantı yapılıyor.
  • Servisler alınıyor.
  • Servisler başlatılıyor.
  • Servisler durduruluyor.
  • Servisler yeniden başlatılıyor.
  • Etkinleştirme durumu ayarlanıyor.
  • Servisler ile ilgili bilgiler döndürülüyor.
  • Sinyaller dinleniyor.
şeklinde sıralayabiliriz.
base.py kısmında ise
  • servisler üzerinde aramalar
  • servislerin filtrelenmesi
  • servislerin dinlenmesi
  • servislerin yakalanması
  • servislerin döndürülmesi
işlemleri gerçekleşmektedir.Ayrıca arayüz üzerinde görünen herbir servis widget olarak ayarlanmıştır.

Servis yöneticisinin ayrıca servisleri masaüstünden yönetebileceğimiz bir plasmoid uygulaması da vardır.

SERVİSLERİ KONSOLDAN YÖNETMEK

Servis yönetimini ayrıca konsol üzerinden aşağıdaki komutları çalıştırarak da yapabilirsiniz.

  • Servisleri listelemek için: sudo service list
  • Bir servisin her açılışta otomatik başlaması için: sudo service servis_adi on
  • Bir servisin her açılışta otomatik başlamaması için: sudo service servis_adi off
  • Çalışma zamanında, bir servisi başlatmak için: sudo service servis_adi start
  • Çalışma zamanında, bir servisi durdurmak için: sudo service servis_adi stop
  • Çalışma zamanında, bir servisi yeniden başlatmak için: sudo service servis_adi restart
  • Servisin yapılandırmasını yeniden yüklemek için: sudo service servis_adi reload
  • Servisin durumunu öğrenmek için : sudo service servis_adi status





Sistem Yöneticisi

Sistem Yöneticisi, masaüstü ortamı için dil, servis, saat ve konsol ayarlarının yapılabilmesine olanak sağlayan bir sistem yönetimi aracıdır. Sistemin kendisiyle alakalı olan değişiklikleri yapabildiğimiz bir araçtır.


Yapacağımız iş için eksiklerin, gereksinimlerin ve isteklerin belirlenmesi aşamasında yaptığım araştırmalara göre bugzillaya sistem yöneticisinden desteklenmeyen dil ve klavye düzeninin çıkarılması konusunda bir öneri sunulmuş bunun haricinde bir hata kaydı girilmemiş yapılması gereken işler kısmında ise saat diliminin ayarlanması kaydı yapılmış.
Teknik detaylarından bahsetmek gerekirse;
backend.py dosyası, sistem yöneticisinin gerçekleştireceği işlerin fonksiyonel olarak tanımlandığı kısımdır. Bu kısımda tanımlanan fonksiyonlara kısa birer tanımlama getirirsek:
  • Çomar'a bağlantı gerçekleştirilir.
  • Sinyaller dinlenilip hangi fonksiyonların gerçekleştirileceğini bulunur.
  • System.settings 'ten paketleri alınır.
  • Paketleri listelenir.
  • System.service dosyasından Çomar yardımıyla servis listesini alınır.
  • System.settings'ten dilleri alınır.
  • Seçilen arayüzden dil döndürür.
  • Dil ayarlarını yapar.
  • Konsol klavye düzenindeki combobox'ı doldurur.(List keymaps)
  • Keymap'ten alınan dili geri döndürür.
  • İlk başlatılacak servisi ayarlar.
  • Başlangıç servislerini ayarlar ve geri döndürür.
  • Konsol sayısını ayarlar ve geri döndürür.
  • Saati ayarlar ve geri döndürür.
main.py dosyasından söz etmek gerekirse sistem yöneticisi için arayüz ile ilgili olayların gerçekleştiği backend.py çağrısı ile arayüz ve çalışacak fonksiyonların bağlandığı kısım olarak tanımlayabiliriz.

main.py de içerisinde:
  • Arayüz ile bağlantı kurulup(main.ui) MainWidget oluşturuluyor.
  • Ana form üzerindeki bileşenler ekleniyor.
  • backend ile bağlantı yapılıyor.
  • System.Settings ten sinyaller listeleniyor.
  • İconlar, butonlar oluşturuyor.
  • Butona sinyal-slot mekanizmasına göre görev atanıyor.
  • Comboboxlar dolduruyor.
  • Arayüzden seçilen değerler kaydediliyor.
backend kısmında olmayıp arayüz üzerinden gerçekleşen sadece uygula butonunun işlevidir.

Arayüzde kullanılmış KDE bağımlı parçaları incelediğimizde ise:
  • KMainWindow, KApplication, KCModule, KIcon,KCmdLineArgs, KGlobal kullanılmış.
  • Anapencere KMainWindow dan türemiştir.
  • Form üzerindeki iconlar KIcon ile oluşturulmuştur.

29 Ekim 2010 Cuma

qt vs. gtk+ devam


Bir önceki yapmış olduğumuz testin ise görselleri şu şekilde:

Qt:


Gtk:



qt vs. gtk+ devam


Tekrar Merhaba,

Daha önce yapmış olduğumuz testlerin yanına bir de daha fazla görsellik içeren uygulamanın testini yaptık.

Bilgisayarların teknik özelliklerini tekrar yazıyorum.

Pardus 2009 Gnome ve 2011 Kde yüklü bilgisayarlarda 4GB RAM Intel Core i3 310 işlemci, Pardus 2009 Kde yüklü bilgisayarda İntel Core Duo T2370 @ 1.73 işlemci, 2GB RAM bulunmakta, Ubuntu yüklü bilgisayarda
6GB RAM, Intel Core 2 Duo E6420 @ 2.8Ghz işlemci var.

Pardus 2009'da Python 2.6.5, Qt 4.7.3, Gtk 2.16, Pardus 2011'de Python 2.7, Qt 4.8_20100928, Gtk 2.16, Ubuntu 10.10'da Python 2.6.6, Qt 4.7.4, Gtk 2.21 var.

[0] adresindeki dosyadaki;

2009gnometest dizininde -> Pardus 2009 yüklü, Python 2.6.5, Qt 4.6.3, Gtk 2.18.9
bulunan bilgisayardaki test sonuçları,
2009kdetest dizininde -> Pardus 2009 yüklü, Python 2.6.5, Qt 4.6.3, Gtk 2.18.9
bulunan bilgisayardaki test sonuçları,
2011kdetest dizininde -> Pardus 2011 yüklü, Python 2.7, Qt 4.7.0, Gtk 2.22.0
bulunan bilgisayardaki test sonuçları,
ubuntutest dizininde -> Ubuntu 10.10 yüklü, Python 2.6.6, Qt 4.7.4, Gtk 2.21
bulunan bilgisayardaki test sonuçları bulunmaktadır.

Bu dosyalardaki;
fr_idle_qt.txt, fr_idle_gtk.txt dosyaları bilgisayarların boştaykenki free çıktıları,
ps_idle_qt.txt, ps_idle_gtk.txt dosyaları bilgisyarların boştaykenki ps aux çıktıları,

dosyalardaki idle yerine run1 olanlar betikler ilk kez çalışıyorkenki çıktılar, run2 olanlar ise ikinci kez çalıştırdığımızdaki çıktılar.
end1 olanlar betikler ilk kez kapatıldıktan sonraki çıktılar, end2 olanlar ise ikinci kez kapatıldığındaki çıktılardır.

Ayrıca /proc/$PID/status dosyaları da comak-test-gtk-status.txt ve comak-test-qt-status.txt olarak bulunmaktadır.

---------------------------------------------------------------------------------

Bunların yorumlanmış hali ise şu şekilde:

Pardus 2009 Gnome bilgisayarında:

QT için:

ps aux çıktısı:

1226 2.1 0.7 52168 23948 pts/1 S+ 21:46 0:00 python comak-test-qt.py

free çıktısında:

çalışırken 14MB civarı bellek kullanıyor. Kapattıktan sonra ise 8MB fazla gözüküyor.
Yani betik kapatıldığında sadece 6MB sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 8MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı belleğin 7MB'sini boşaltıyor.

GTK için:

ps aux çıktısı:

1207 0.5 0.4 25528 15272 pts/1 S+ 21:39 0:00 python comak-test-gtk.py

free çıktısında:

çalışırken 5MB civarı bellek kullanıyor. Kapattıktan sonra ise 5MB civarı fazla gözüküyor.
Yani betik kapatıldığında neredeyse tamamı bellekte duruyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken üzerine nereyse hiç bellek kullanmıyor.
Kapattıktan sonra ise toplam kullandığı 5MB belleği tamamen boşaltıyor.

Pardus 2011 Kde bilgisayarında:

QT için:

ps aux çıktısı:

1604 1.8 0.7 295232 31116 pts/2 S+ 23:09 0:00 python comak-test-qt.py

free çıktısında:

çalışırken 12MB civarı bellek kullanıyor. Kapattıktan sonra ise 2MB fazla gözüküyor.
Yani betik kapatıldığında sadece 10MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 12MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı belleğin 11MB'sini boşaltıyor.

GTK için:

ps aux çıktısı:

1617 0.2 0.9 332536 36980 pts/2 S+ 23:19 0:00 python comak-test-gtk.py

free çıktısında:

çalışırken 26MB civarı bellek kullanıyor. Kapattıktan sonra ise 13MB ye yakın fazla gözüküyor.
Yani betik kapatıldığında kullandığı belleğin 13MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 14MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı belleğin tamamını boşaltıyor.

Ubuntu bilgisayarında:

QT için:

ps aux çıktısı:

engin 2060 1.1 0.5 361104 32268 pts/1 Sl+ 21:31 0:00 python comak-test-qt.py

free çıktısında:

çalışırken 31MB civarı bellek kullanıyor. Kapattıktan sonra ise 20MB fazla gözüküyor.
Yani betik kapatıldığında sadece 11MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 12MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı belleğin 11MB'sini boşaltıyor.

GTK için:

ps aux çıktısı:

2073 1.3 0.4 323416 24540 pts/1 Sl+ 21:25 0:00 python comak-test-gtk.py

free çıktısında:

çalışırken 13MB civarı bellek kullanıyor. Kapattıktan sonra ise 1MB ye yakın fazla gözüküyor.
Yani betik kapatıldığında hemen hemen hepsini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 12MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 12MB belleğin 10MB ini boşaltıyor.

Pardus 2009 Kde bilgisayarında:

QT için:

ps aux çıktısı:

1620 0.6 1.0 72652 21608 pts/2 S+ 21:27 0:00 python comak-test-qt.py

free çıktısında:

çalışırken 16MB civarı bellek kullanıyor. Kapattıktan sonra ise 11MB fazla gözüküyor.
Yani betik kapatıldığında sadece 5MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 12MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 12MB belleğin 5MB ini boşaltıyor.

GTK için:

ps aux çıktısı:

1448 2.7 0.7 25388 15344 pts/2 S+ 21:37 0:00 python comak-test-gtk.py

free çıktısında:

çalışırken 23MB civarı bellek kullanıyor. Kapattıktan sonra ise 19MB fazla gözüküyor.
Yani betik kapatıldığında sadece 4MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa, çalışırken 9MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 9MB belleğin 3MB ini boşaltıyor.

Bu sonuçların görselleştirilmiş halleri ise şu şekilde:

Bu testin sonuçlarının, bir önceki hello world testine göre biraz daha farklı olduğunu fark ettikten sonra her 2 testi de bir kez daha yaptık. Fakat değişen bir şey yok. Değerler hakikatten buna çok yakın. Bir gariplik var evet, incelemeye devam...

[0] http://www.mesutcankurt.com/dosyalar/comak-testler2.tar.bz2

28 Ekim 2010 Perşembe

qt vs. gtk


Merhabalar,

ÇOMAK projesinde hangi teknolojiyi kullanacağız sorusu bizi bu karşılaştırmaya itti: Qt vs. Gtk+

Bu konuda daha önce karşılaştırma yapanlar da var.[1], [2], [3]

Bizim Karşılaştırmamız:

[0] adresindeki dosyadaki;

2009gnometest dizininde -> Pardus 2009 yüklü, Python 2.6.5, Qt 4.6.3, Gtk 2.18.9
bulunan bilgisayardaki test sonuçları,
2011kdetest dizininde -> Pardus 2011 yüklü, Python 2.7, Qt 4.7.0, Gtk 2.22.0
bulunan bilgisayardaki test sonuçları,
ubuntutest dizininde -> Ubuntu 10.10 yüklü, Python 2.6.6, Qt 4.7.4, Gtk 2.21
bulunan bilgisayardaki test sonuçları bulunmaktadır.

Ayrıca bir bilgisayarda daha test yaptık. Bu bilgisayarın özellikleri;
İntel Core Duo T2370 @ 1.73 işlemci, 2GB RAM bulunmakta.

2009kdetest dizininde -> Pardus 2009 yüklü, Python 2.6.5, Qt 4.6.3, Gtk 2.18.9
bulunan bilgisayardaki test sonuçları bulunmaktadır.

Bu dosyalardaki;
fr_idle_qt.txt, fr_idle_gtk.txt dosyaları bilgisayarların boştaykenki free çıktıları,
ps_idle_qt.txt, ps_idle_gtk.txt dosyaları bilgisyarların boştaykenki ps aux çıktıları,

dosyalardaki idle yerine run olanlar betikler çalışıyorkenki çıktılar,
end olanlar ise betikler kapatıldıktan sonraki çıktılar.

Bunların yorumlanmış hali ise şu şekilde:

Pardus 2009 Gnome bilgisayarında:

QT için:

ps aux çıktısı:

17848 0.9 1.5 117004 48208 pts/0 S+ 22:16 0:00 python pyqt-hello.py

free çıktısında:

çalışırken 46MB civarı bellek kullanıyor. Kapattıktan sonra ise 21MB fazla gözüküyor.
Yani betik kapatıldığında sadece 25MB sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 23MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 23MB belleği tamamen boşaltıyor.
GTK için:

ps aux çıktısı:

1264 0.4 0.4 23856 13976 pts/0 S+ 22:09 0:00 python pygtk-hello.py

free çıktısında:

çalışırken 6.5MB civarı bellek kullanıyor. Kapattıktan sonra ise 2MB ye yakın fazla gözüküyor.
Yani betik kapatıldığında hemen hemen hepsini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 5MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 5MB belleği tamamen boşaltıyor.

Pardus 2011 Kde bilgisayarında:

QT için:

ps aux çıktısı:

1783 1.5 1.0 385784 41620 pts/0 S+ 22:20 0:00 python pyqt-hello.py

free çıktısında:

çalışırken 25MB civarı bellek kullanıyor. Kapattıktan sonra ise 10MB fazla gözüküyor.
Yani betik kapatıldığında sadece 15MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 15MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 15MB belleği tamamen boşaltıyor.
GTK için:

ps aux çıktısı:

1631 1.5 0.8 325084 35192 pts/0 S+ 22:25 0:00 python pygtk-hello.py

free çıktısında:

çalışırken 25MB civarı bellek kullanıyor. Kapattıktan sonra ise 1MB ye yakın fazla gözüküyor.
Yani betik kapatıldığında hemen hemen hepsini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 15MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 15MB belleğin 7MB ini boşaltıyor.

Ubuntu bilgisayarında:

QT için:

ps aux çıktısı:

2047 0.5 0.6 476628 41488 pts/0 Sl+ 22:31 0:00 python pyqt-hello.py

free çıktısında:

çalışırken 73MB civarı bellek kullanıyor. Kapattıktan sonra ise 60MB fazla gözüküyor.
Yani betik kapatıldığında sadece 13MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 15MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 15MB belleği tamamen boşaltıyor.

GTK için:

ps aux çıktısı:

2043 0.3 0.3 299932 22056 pts/0 Sl+ 22:27 0:00 python pygtk-hello.py

free çıktısında:

çalışırken 22MB civarı bellek kullanıyor. Kapattıktan sonra ise 4MB ye yakın fazla gözüküyor.
Yani betik kapatıldığında hemen hemen hepsini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 11MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 11MB belleğin 3MB ini boşaltıyor.

Pardus 2009 Kde bilgisayarında:

QT için:

ps aux çıktısı:

1412 1.3 1.2 113148 26560 pts/2 S+ 23:23 0:00 python pyqt-hello.py

free çıktısında:

çalışırken 22MB civarı bellek kullanıyor. Kapattıktan sonra ise 18MB fazla gözüküyor.
Yani betik kapatıldığında sadece 4MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 10MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 10MB belleğin 8MB ini boşaltıyor.

GTK için:

ps aux çıktısı:

1510 2.0 0.6 23560 14036 pts/2 S+ 23:29 0:00 python pygtk-hello.py

free çıktısında:

çalışırken 24MB civarı bellek kullanıyor. Kapattıktan sonra ise 19MB fazla gözüküyor.
Yani betik kapatıldığında
sadece 5MB'sini boşaltıyor.

Eğer aynı uygulama tekrar çağırılırsa,
çalışırken 9MB civarı daha bellek kullanıyor.
Kapattıktan sonra ise ikinci çağrıda kullandığı 9MB belleğin 3MB ini boşaltıyor.

Bu testin basit bir hello world uygulaması olduğunu göz önünde bulundurursanız bu
sonuçlar daha anlaşılır olacaktır.

Basit bir hello-world dışında, daha fazla görsel ögelerin kullanıldığı testler de yapacağız fakat şimdilik elimizde karşılaştırabileceğimiz bir şeyler oldu.

Bu sonuçların grafiksel karşılaştırmaları ise şu şekilde:




Devamı gelecek...



[0] http://www.mesutcankurt.com/comak/comak_testler.tar.bz2


ÇoMaK nereden çıktı?


Projenin ilk duyuruları yapıldı ama projenin adı olan ÇoMaK kimin aklına geldi diye soran olmadı ;) Neyse ben yine de yazayım.

Bu yıl ne yapsak diye konuşurken projenin başlangıç fikrini veren sevgili Pınar Yanardağ, proje şekillendikten sonra ilk konuşmamızda ÇoMaK olsun deyiverdi.

Yukarıdaki logoyu özgürlükiçin'deki haberden aldım, bundan sonra kullanabiliriz sanırım.

24 Ekim 2010 Pazar

Boot Manager Hakkında Herşey

Boot Manager Nedir?
Boot manager grub.conf dosyasını yöneten bir Kde uygulamasıdır.Config dosyasını değiştirmek için backend configurasyonu olarak COMAR kullanır.


Boot Manager İçeriği

Backend.py dosyası mevcut.Dosyada başlatma,sinyal dinleme,girişleri ve seçenekleri alma
seçenekleri silme gibi fonksiyonlar tanımlı.

boot-manager.py de
dbus import ediliyor.QtGui ve QtCore kullanılıyor.

KDE bağımlılığı olarak:

KMainWindow,KApplication,KCModule ve KIcon kullanılıyor.

KMainWindow:Ana bir pencere kurar.Toolbar , durum çizgisi ve bir çerçeve sağlar.
Qt için aynı işi yapan "QMainWindow" sınıfı mevcuttur.
GTK için gtk.Window var.Tam karşılığı mı değil mi bilemiyorum.

KApplication:Bütün KDE uygulamalarını kontrol eder ve bilgi sağlar.Bu sınıfın sadece bir
nesnesi tek bir uygulamamın örneği olabilir.Bu durumda herzaman 'Kapp' global değişkeni
üzerinden erişilebilir.
Qt için aynı işi yapan "QApplication" sınıfı bulunur.

KCModule:Modüllerin yapılandırılması için temel sınıftır.Yapılandırma modülleri gerektiğinde
yüklenen eklentiler olarak gerçekleşir.
Qt için Fonksiyonlarını "Qwidget'tan" miras almıştır.
GTK için "gtk.Widget" sınıfı bulunur.

KIcon:KDE simge özelliklerini sağlayan(destekleyen) QIcon sınıfının bir sarmalayıcı sınıfıdır.(wrapper class için bknz)

Bugzilla'da Boot-Manager Hata Kayıtları

Bugzilla'da boot-manager ile ilgili toplam 13 hata açılmış(bknz.Boot-Manager-Bugs)
Bunlardan bizi ilgilendirebilecek olanlar şöyle;

1)Boot-managerın otomatik br grub.conf dosyası oluşturma işlevi eklenmesi.(Kullanıcı grub.confu değiştirdiğinde eski haline getirmek isterse)(bknz.6960)
Bağlantı
2)Açılış yöneticisi, yeni GRUB girdisi eklenirken, eklenecek girdi türüne göre
(linux, windows vs.) disk önermesi yapabilse güzel olurdu. YALI varolan Windows
bölümünü GRUB'a ekleyemeyince, açılış yöneticisinden ekleyelim dedik. İşlemi
yapan kullanıcı deneyimli olmayınca, hangi diski seçeceğini bilemedi doğal
olarak.

Örneğin Windows bölümü eklenecekse, NTFS olanları açılır menü tarzında bir
şekilde listelerse daha kullanışlı olurdu.(bknz.10098)
Bağlantı
3)Boot manager'da bulunan silme seçeneği, diskten de silmek istiyor musunuz diye
sormalı?

Tekrarlanması için gerekli adımlar
**1. Boot manager'da linux seçeneği seçili durumda iken
**2. Listelenen kernellerden biri silinmek istendiğinde
**3. grub sayfasından kernel silinmektedir
**4. bu işlemden sonra diskten silmek ister misiniz? diye bir seçenek daha
sormalıdır.(bknz.11833)

4)Açılış yöneticisinde, mesela pardusu seçip kaydet dediğimde,(kaldı ki
hiçbirşeyi değiştirmediğim halde kaydet seçeneği aktif) şifre soruyor. İptal
dersem, kaydet seçeneği tıklanamaz bir duruma geçiyor. Daha sonra nereyi
değiştirseniz değiştirin, kaydet e tıklanamıyor. tekrar çıkıp girmek gerekiyor.

Tekrarlanabilirlik: Always

Tekrarlanması için Gerekli Adımlar:
**1.Seçilen ayarlar için kaydet denir.
**2.Şifre giriş kısmında iptal seçilir.
**3.Değişiklik yapılsa dahi kaydet seçeneği tekrar aktifleşmez.


Beklenen Sonuçlar:
Kaydet dedikten sonra ayarları tekrar değiştirmek için iptal'i seçtim. AyarlarıBağlantıdüzelttikten sonra tekrar Kaydet'e tıklayamadım. Kaydet her şekilde aktif
olursa, sonradan farkedilen düzenleme gereksinimi için gir-çık yapmaya gerek
olmazdı.(bknz.12698)

5)Bilgisayarında XFCE kullanan bir kullanıcı,KDE bağımlı bütün bileşenleri kaldırmış ve managerleri ve onların bağımlılıklarını tekrar yüklemiş 3 saniye boyunca hep komut bulunamadı uyarısı gelmiş.

$ time UNKNOWNCOMMAND
Command not found.

real 0m3.469s
user 0m0.013s
sys 0m0.005s


Tekrarlanma adımları :
**1. sudo pisi it -c desktop.xfce.base -c desktop.xfce.addon

**2. sudo pisi rm -c desktop.kde

**3. sudo pisi it boot-manager firewall-manager kaptan history-manager
service-manager network-manager display-settings user-manager disk-manager
migration system-manager package-manager kde-l10n-sv

**4. time UNKNOWNCOMMAND
Actual Results:
$ time UNKNOWNCOMMAND
Command not found.

real 0m3.469s
user 0m0.013s
sys 0m0.005s

(bknz.12728)

6)Açılış yöneticisindeki girdilerin sırasının değiştirilebilmesi özelliği Açılış yöneticisine eklenebilmesi istenmiş.

Özet: Açılış Yöneticisindeki Öğelerin Sırasının Değiştirilebilmesi

Tanım: Açılış yöneticisine çeşitli girdilerin sırasını değiştirebilme, yani
listedeki maddeleri yukarı veya aşağı taşıma özelliği de eklenirse güzel bir
iyileştirme olur.

Pardus'a Katkısı: Açılış yöneticisinde karşımıza çıkan grub maddelerinin
yanında küçük ok simgeleri olmalı. Listedeki maddelerin yerlerini değiştirmek
istiyorsam bunu menu.list dosyasını elle düzenlemek yerine bu program ile
yapabilmek bence şık olur. Sonuçta bu programın amacı da bu zaten.

Örnek olarak, makinesinde Windows ve birden fazla Linux olan arkadaşlar böylece
bilgisayarlarında yüklü dağılımları kolayca istedikleri sıraya sokabilirler.

Diğer bir örnek: Yeni aldığım dizüstünde, bilgisayarı fabrika ayarlarına
getirmeye yarayan boot edilebilir bir recovery disk bölümü var. Şu an benim
grub listesinde başta Pardus, ikinci olarak "recovery" (hard diskteki ilk
bölümde yer aldığı için) ve üçüncü olarak da Vista var. Kullanışlılık adına
recovery'i en alta koymam gerekiyor ve eğer ki Pardus'ta bir açılış yöneticisi
var ise, bu işlemi grafik kullanıcı arabirimi ile kolayca yapabilmeliyim.

(bknz.14049)

Beyin Bölümünde Açılış Yöneticisi Hakkındaki Fikirler

1)Mevcut durumda Pardus kurulumundan sonra farklı işletim sistemlerinin kurulumu yapıldıktan sonra Pardus önyükleme menüsüne bu sistemler elle ekleniyor.
Ancak kurulumda otomatik bulunarak eklenebiliyor. Bu otomatik bulma ve menüye ekleme özelliği Açılış Yöneticisinde de bulunsun. Puanı 232
(bknz.Otomatik Bulma Özelliği)

2)Açılış yöneticisi grafik ekrana gelmesinden oldukça memnunum daha önce grubun text metninden silmemiz gerekenleri kolayca yapabilir hale geldik. Grub ekranı üzerinde daha fazla kişiselleşmeyi sağlayacak yani renk, açılış ekranı resmi gibi gelişmeler eklenemez mi? Bu sayfada gördüğüm benzeri bir şeyin kendine özgü düzenlenmiş sistem sevenlerin hoşuna gideceğini düşünüyorum. Puanı 60
(bknz.Açılış Yöneticisinin Geliştirilmesi)Bağlantı
Bağlantı

7 Ekim 2010 Perşembe

EasyGUI - BackEnd - Comar ile Service Manager Yapımı

Pardus 'ta service-manager nasıl çalışıyormuş diye bakarken işimize çok yarayacak backend.py dosyası olduğunu farkettim. Bu dosya COMAR apisini kullanıyor ve şunun gibi bazı GUI den bağımsızsız fonksyonlar içeriyor:

services() //servislerin listesi
start()
stop()
restart()
setEnable() // servisin başlangıçta başlayıp başlamayacağı
info() // servis hakkında bilgiler

Bu backend i kullanarak istediğimiz arayüzde service-manager yazabiliriz.
Hatta bir örnekte yazmak istedim. Arayüz programlamanın belkide en kolayı olan EasyGUI ile tabi ki...
Örneği svn de "playground/kreyziturk" dizininde bulabilirsiniz. python-EasyGUI paketini kurmak yeterli...

NOT: Bu yazdığım service-manager da nasıl çalıştığını anlamak için hem backend i hemde comar apiyi kullandım. Belki sonrada birde EasyGUI portunu yaparız :)