Selamlar,
Dediğiniz gibi öğrenme amaçlı yapmak istiyorum. Perl bilmiyorum ama çok
az Python bilgim var. Elimde kitabı da var belki birşeyler yapabilirim.
Bu arada lineakd ile yapmayı düşünüyorum ama bu iş için root hakları
lazım çünkü modül ekletip çıkartacağım. sudo ayarlarını da dikkatli
yapmak istiyorum. Kendi kullanıcı adıma komple root hakkı vermek pek
güvenli değil çünkü.. Bu işi başka bir kullanıcı ile de yapamam çünkü
lineakd benim kullanıcı adım altında çalışıyor, yaptığım şey benim
kullanıcı adımla yapılmaya çalışılacak büyük ihtimalle..
Yapmaya çalıştığım şeyin hatları iyice belli oldu aslında.. Söylediğiniz
gibi, tuşa basıldığında bir betik lsmod altında ndiswrapper modülünün
bulunup bulunmadığına bakacak; eğer modül varsa silecek, yoksa da
ekleyecek. Bu tuş donanımı kapatıp açmaya yarıyor ve ben bu tuşa basılıp
modülün otomatik olarak eklenip çıkarılmasını istiyorum.
En kötü ihtimalle şenliğe kadar başaramazsam birlikte bakarız ;-)
Serdar Aytekin wrote:
Sal, 2005-05-03 tarihinde 00:28 +0300 saatinde, Alper KANAT yazdı:
Merhaba,
Istediğim aslında tam anlamıyla bu değil... Ben modülün her daim yüklü
olmasını istemiyorum. Yalnızca tuşa bastığımda donanımın aktif hale
gelmesiyle birlikte modülün yüklenmesini istiyorum.
Anladigim kadari ile bunu zaruretden degil, tecrube edinmek farkli
seyler denemek icin yapmak istiyorsunuz. Cunki normalde hotplug bu isi
tusa bile gerek kalmadan kendisi halledebilir. Sizin karti takmaniz yada
cikarmaniz hotplugun tetiklenmesi icin yeterli. Bunun ile ilgili onceki
mailde bir adresde gondermistim.
Bu olayın hotplug ya da ACPI ile yapılabilmesi lazım ama bir türlü
anlayamadım. Ufak bir C programı yazayım dedim, lsusb çıktısında
049f:0086 bilgisini gördüğü anda modulü yükleyen ve bunu da cron job
haline getirip devamlı kontrol ettirecektim. Ancak C kodu epey uzun
oluyor...
Boyle bir yontemde C yerine perl kullanmak daha uygun. Diger yandan o
tusa bastiginizda tusa basildigini anlayabilmenizi saglayan degerin
dmesg ciktisina gelip gelmedigini cron ile her saniye kontrol etmek
biraz kirli bir cozum olur.
hotkeys veya lineakd ile o tusu kontrol etmeyi denediniz mi? Sayet
klavye yapiniza hotkeys veya lineakd gibi programlarin destegi varsa o
tusa basildiginda istediginiz bir betigi tetikleyebilirsiniz. Betigin
icerigide lsmod ciktisindan o modulun yuklu olup olmadigina bakip yuklu
degilse yukleyen bir yapisi olabilir. Bir kac ufak kontrol ve modprobe,
rmmod ile bu isteginizi halledebilirsiniz gibi.
Wifi Radar da bir türlü istediğim gibi çalışmadı.. :( Hata verip
duruyor.. sudoers dosyasını nasıl yapılandıracağımı da adam gibi
anlayamadım manuel sayfalarından... :(
Wifi Radar programini root yetkisine sahip bir kullanici ile
calistirmalisiniz ki /etc/network/interfaces dosyasini duzenleyebilme
yetkisine sahip olsun. Ardindan da networku yeni yapilandirmasi ile
baslatabilsin.
Bunu ya direk root ile yaparsiniz. Yada sudoers de bir kullaniciya root
yetkilerini verip o kullanici ile yaparsiniz.
Ornekler (/etc/sudoers dosyasindan):
alper ALL=(ALL) ALL
alper ALL=ALL
bunlar "alper" isimli kullaniciya root yetkilerini verir. "sudo
<komut_ismi" ile kullanabilirsiniz. Sifre sorduktan sonra devam eder.
alper ALL=NOPASSWD:ALL
"alper" kullanicisina tum root yetkilerini verir. "sudo <komut_ismi>"
seklinde kullanirken de sifre sormaz.
alper ALL=NOPASSWD:/usr/bin/apt-get
"alper" kullanicisina sadece "apt-get" i calistirma izni verir. "sudo
apt-get install <paket>" seklinde calistirildiginda da sifre sormaz.
gibi...
--
Saygilarimla,
Serdar Aytekin
tunix.vcf
Description: Vcard