Perşembe, Ekim 16, 2008

Pardus'ta red5 kurulması

Diğer Linuxlara red5 kurulmasından farklı olmaması beni şaşırtmadı.

Javayı normal bir şekilde kuruyoruz.

Ant için:
wget http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.7.1-bin.tar.gz
tar -zxf apache-ant-1.7.0-bin.tar.gz
sudo mv apache-ant-1.7.0 /opt/ant
export ANT_HOME=/opt/ant
sudo ln -s /opt/ant/bin/ant /usr/bin/ant
Red5 için:
svn co http://red5.googlecode.com/svn/java/server/trunk red5
Ortam değişkenlerini ayarlamamız gerekiyor:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/
export ANT_HOME=/opt/ant/
Red5'i derlemek ve çalıştırmak için
cd red5
/opt/ant/bin/ant prepare
/opt/ant/bin/ant dist
cd dist
sh red5.sh

localhost:5080 ile test ediyoruz kurulumu

Pazar, Ekim 12, 2008

Kuş uçar

Kuş uçar yavrular
Yuvalarda cıvıldar
Göğe bak ne parlak
Ne saf ne berrak

Haydi derse girelim
İyi yanıt verelim
Hepimiz biliriz
Bu dersleri biz

Çocukluğumdan kalma eski bir okul şarkısıdır. Melodisi ile de pek bi güzeldir. Nerden geldiyse aklıma şimdi :)

Edit: http://www.tuerkisch-lernen-online.de/forum/messages/1243.htm

Salı, Temmuz 15, 2008

Debian, egroupware, ldap, vsftp, pam, nss falan fıstık - yazı dizisi - 5

Şimdi de nss'yi yapılandıralım.

#nano /etc/nsswitch.conf

passwd: compat ldap
group: compat ldap
shadow: compat ldap

Buraya "ldap" kelimelerini yazdık.

Test etmek için:

#getent passwd
...
[sistem kullanıcıları]
...
mustafa:yGBMuI4R4N8..:1001:1:mustafa:/home/mustafa:

oldu galiba:)
Son satır LDAP'dan geldi.

Hepsi bu.

Bir de ftp ile bağlanalım. Şimdilik /home/mustafa dizinini elle açıyoruz. İlerde onu da pam'a yaptırıcaz:

#mkdir /home/mustafa
#chmod 755 /home/mustafa
#ncftp -u mustafa localhost
NcFTP 3.2.0 (Aug 05, 2006) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to 127.0.0.1...
(vsFTPd 2.0.5)
Logging in...
Password requested by 127.0.0.1 for user "mustafa".

Please specify the password.

Password: ******

Login successful.
Logged in to localhost.
ncftp /home/mustafa >

Mükemmel. Aslında bir haftadır buna çalışıyorum ve bu blog girdilerine başlarken bunun olacağını ummuyordum. Hatta yukarıya "şimdi de nssyi yapılandıralım" derken bile:) nss ile ilgili bir ayar da yapmadım ama pam ile nss bir şekilde anlaştı ve kullanıcının ev dizini bilgisi ldap'dan vsftpye kadar ulaştı. Bütün bunlar 5dk önce oldu :)

Bundan sonra yapılacaklar:
Güvenlik için: İletişimin ssl ile yapılması, parolaların şifreli olması
ldap kullanıcısının ilk girişinde ev dizinini oluşturulması (pam_mkhomedir.so ile).
Sistem kullanıcılarının ldap'a aktarılması (apt-get install migrationtools)
Bunlar nispeten daha kolay işler.

Debian, egroupware, ldap, vsftp, pam, nss falan fıstık - yazı dizisi - 4

Şimdi vsftp kimlik doğrulama işini pam'e yaptıralım. pam de kullanıcı kimlikleri için ldap'a da baksın ki ldap kullanıcıları ftp'ye bağlanabilsin. Sonra da sistem kullanıcılarını ldap'a nasıl aktarırız ona bakalım.


libpam-ldap kurulu değilse:

#apt-get install libpam-ldap

ldapscripts paketi kurulurken libpam-ldap paketi de kurulduğu için aslında buna gerek yok.

/etc/vsftpd.conf dosyasında
pam_service_name=vsftpd
olduğundan emin oluyoruz.

/etc/pam_ldap.conf dosyasını yapılandırıyoruz:

Burada değiştirdiğim satırlar:

host 127.0.0.1 //commenti kaldırdık
#uri ldap://127.0.0.1/ //comment koyduk
bindpw
pam_login_attribute uid
scope sub

nın düz şifrelenmiş tutulması güvenlik için daha iyi olur. Ayrıca ssl de açılmalı.

Şimdi vsftp'nin kimlik doğrulama işini pam'e aktaralım:

#nano /etc/pam.d/vsftpd

Burada;

auth sufficient /lib/security/pam_ldap.so

account sufficient /lib/security/pam_ldap.so

password sufficient /lib/security/pam_ldap.so

auth required pam_warn.so
account required pam_warn.so
session required pam_warn.so

satırlarını ekliyoruz. Son üç satır hataları takip edebilmek için.

phpldapadmin ile "people" ismini verdiğimiz (başka isim de olur) bir OrganizationalUnit oluşturuyoruz. Tüm kullanıcılar bu düğümün altında bulunacak. Sonra denemek için mustafa isimli bir kullanıcı ekliyoruz. Kullanıcıyı "Custom" template'inden "account" ve "possixaccount" objectclass'larını seçerek ekliyoruz.

Test edelim:

#ncftp -u mustafa
NcFTP 3.2.0 (Aug 05, 2006) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to 127.0.0.1...
(vsFTPd 2.0.5)
Logging in...
Password requested by 127.0.0.1 for user "mustafa".

Please specify the password.

Password: ******
Unexpected response: OOPS: cannot locate user entry:mustafa
OOPS: cannot locate user entry:mustafa

Evet hata verdi. Kullanıcının ev dizini bilgisini alamadığı için bir klasöre bağlayamadı. Fakat kimlik kanıtlamadan geçti. parolayı yanlış girdiğimizde veya ldap'da (veya sistemde) olmayan bir kullanıcı ile ftp yaptığımızda hata şöyle oluyor:

ncftp -u mehmet localhost
NcFTP 3.2.0 (Aug 05, 2006) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to 127.0.0.1...
(vsFTPd 2.0.5)
Logging in...
Password requested by 127.0.0.1 for user "mehmet".

Please specify the password.

Password: ******
Login incorrect.
Could not open host localhost: username and/or password was not accepted for login.

Bunu vsftp kayıt dosyalarından da doğrulayabiliriz:

#tail /var/log/vsftpd.log
Tue Jul 15 03:53:57 2008 [pid 4943] CONNECT: Client "127.0.0.1"
Tue Jul 15 03:53:57 2008 [pid 4942] [mustafa] OK LOGIN: Client "127.0.0.1"
Tue Jul 15 03:54:06 2008 [pid 4947] CONNECT: Client "127.0.0.1"
Tue Jul 15 03:54:12 2008 [pid 4946] [mehmet] FAIL LOGIN: Client "127.0.0.1

Malesef pam servislere kimlik doğrulama dışında bilgi vermiyor. Ev dizini gibi bilgileri servislere sağlayabilmek için nss (Name Service Switch) kullanmak gerekecek.

Debian, egroupware, ldap, vsftp, pam, nss falan fıstık - yazı dizisi - 3

Gelelim fasulyenin faydalarına:)

Şunu da yazmam lazımdır ki burada yazılanlar hatalı olabilir ve kendi sisteminizde denediğinizde sisteminizi çalışmaz hale getirebilir. Use at your own risk.

Önce kurulum:
ftp sunucu için vsftpd,
yetenekli ftp istemci için ncftp,
ssh sunucu için openssh-server

#apt-get install vsftpd
#apt-get install ncftp
#apt-get install openssh-server


vsftp2'nin anonymous dışındaki bağlantılara izin vermesi için /etc/vsftp.conf dosyasında local_enable=YES satırındaki #'i kaldırıp vsftpyi yeniden başlatıyoruz.

#nano /etc/vsftp.conf
#/etc/init.d/vsftpd restart

Kurulumları test edelim:

#ncftp -u kemal localhost
Login successful.
Logged in to localhost.
#ssh -l kemal localhost
bu da successful

Şimdi ldapla ilgili kurulumlar.
ldap sunucu için slapd - OpenLDAP server (slapd),
web'den ldap'ı yönetmek için: apache2, php5, phpldapadmin
ldap komutları ... için ldapscripts

#apt-get install apache2
#apt-get install php5
#apt-get install phpldapadmin
#apt-get install slapd
#apt-get install ldapscripts


Sorun yok. http://localhost/phpldapadmin/ adresine baktığımızda şöyle bir görüntü olmalı:
Malesef base entry eklemeden, /etc/ldap/slapd.conf ve /etc/ldap/ldap.conf dosyalarını düzenlemeden henüz login olamıyoruz. Ayrıca daha sonra ssl kullanarak güvenliği arttırmalıyız.
Daha ayrıntılı bilgi için http://www.openldap.org/doc/admin23/quickstart.html

#nano /etc/ldap/slapd.conf
    database bdb
    suffix "dc=,dc="
    rootdn "cn=Manager,dc=,dc="
    rootpw secret
    directory /usr/local/var/openldap-data

burada değiştirdiğm satırlar:

suffix "dc=nodomain"

rootdn "cn=admin,dc=nodomain"

rootpw'yi de daha sonra şifreli tutmak gerekicek.

base entry eklemek için önce bir ldif dosyası oluşturuyoruz:

# nano base.ldif
dn: dc=nodomain
objectclass: dcObject
objectclass: organization
o: Ev
dc: nodomain

dn: cn=admin,dc=nodomain
objectclass: organizationalRole
cn: admin
#ldapadd -x -D "cn=admin,dc=nodomain" -W -f base.ldif
komutuyla oluşturduğumuz kök düğümü ldap'a aktardık. base.ldif dosyasında satırların başındaki boşlukları silmeden hata veriyor.

Test için

ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'

# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# nodomain
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain

# admin, nodomain
dn: cn=admin,dc=nodomain
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Artık phpldapadmin ile webdeb login olabileceğimi düşünürken hata alıyorum. Daha önce de aynı problemi yaşamıştım ve birkaç saat aramayla çözmüştüm. Keşke o zaman bu blog girdisini yazsaymışım diyorum ama neyseki fazla aramadan bulabildim bu sefer.

#nano /etc/phpldapadmin/config.php
burada
$ldapservers->SetValue($i,'login','attr','dn');
yerine
$ldapservers->SetValue($i,'login','attr','cn');

yapıyoruz. Tamam artık login ekranını görelim:

Debian, egroupware, ldap, vsftp, pam, nss falan fıstık - yazı dizisi - 2

Ara vermeden yazı dizisinin bu 2. kısmında web tarayıcımız için flash ve java eklentilerini yükleyelim.
saat 01:16

Önce java:

java.sun.com'dan jdk'yı indiriyoruz.

Yaklaşık 15dk sürdü.

#mv Desktop/jdk-6u10-beta-linux-i586.bin /usr/local
#cd /usr/local
#chmod 755 jdk-6u10-beta-linux-i586.bin
#./jdk-6u10-beta-linux-i586.bin

/usr/local/jdk1.6.0_10 dizini oluştu. iceweasel eklentisini sembolik bağlayalım.

ln -s /usr/local/jdk1.6.0_10/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/iceweasel/plugins

http://www.java.com/en/download/help/testvm.xml sayfasından test ediyoruz ve çalışıyor.

Benzer şekilde flash için:

http://www.adobe.com/products/flashplayer/

Bu 2 dk'da indi.

# mv ~kemal/Desktop/install_flash_player_9_linux.tar.gz /usr/local
#cd /usr/local
#tar xvfz install_flash_player_9_linux.tar.gz
#ln -s /usr/local/install_flash_player_9_linux/libflashplayer.so /usr/lib/iceweasel/plugins

Enerjimizin ve vaktimizin önemli kısmını temel kurulumlara harcadıktan sonra artık egroupware,ldap vs mevzulara geçebiliriz.

saat 01:42

Debian, egroupware, ldap, vsftp, pam, nss falan fıstık - yazı dizisi - 1

Bir haftadır kurcaladığım egroupware, ldap, pam, nss ile ilgili yazı dizisidir.

Önce sıfırsan bir debian kuralım. Üzerine daha sonra egroupware, ldap, pam, nss, mysql falan fıstık kuracağız.

saat 23:00 (kuruluma başlamak için biraz geç bir saat).

Bilgisayarı yeniden başlatıyoruz. Elimizdeki debian dvd/cdsini cdrom sürücüye yerleştiriyoruz. Birkaç denemeden sonra çizilmemiş olanını buluyoruz:)

Kurulum başlıyor, bir isim seçelim: "özgür" olsun. Kılavuzla diskin tamamını kullansın. / dizini için 7gb yeter mi acaba, neyse.

root parolası, yeni kullanıcı, temel sistem kurulumu ...

apt yapılandırılıyor. Bizim comunun depo adresi neydi acaba, yanlış olmasın, ftp.tr.debian.org ile devam edelim.

popularity contest'e katılmayalım:)

Yalnızca temel sistem olsun, sonra kde falan kurarız.

Grub'u mbrye mi kursun. Tabiki evet. Ve temel sistem kuruldu. kernel 2.6.18-5-686

Önce güncelleme:
#apt-get update
#apt-get upgrade
#apt-get dist-upgrade

kernel 2.6.18-6-686 oldu. Birkaç güncelleme daha oldu. Elimdeki cd çok eski değilmiş. Bu arada
Debian GNU/Linux 4.0 r1 "Etch" ile kurulum yaptık.


Grafik ekranı kuralım:

#apt-get install x-window-system

kde kuralım:

#apt-get install kde kdm
//zaman kazanmak için kde-core da kurabilirdik

kahve molası...

...

bir sürü pakette hata veriyor, inşallah kurulum tamamlanır.

...

saat 23:55
hatalarla da olsa beklediğimden hızlı kuruldu.

Bir daha güncelleme:
#apt-get update
#apt-get upgrade
#E: unmet dependencies
bunu bekliyordum.
kurulamayan paketleri kurmak için:

#apt-get install -f (veya --fix-missing)

Hayret yine hata verdi. Hep de cdromdan kurulan paketlerde. Cdrom'u depo listesinden çıkarmalıydım. Nasılsa çoğu paketi internetten indiriyor.

#nano /etc/apt/sources.list (şu vi'yi bir ara öğrenmem lazım:)

cdromla ilgili satıra # koyduk.

#apt-get update

Tekrardan:

#apt-get install -f (veya --fix-missing)

Şimdi tamam. Emin olmak için:

#apt-get update
#apt-get upgrade
#apt-get dist-upgrade

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Mükemmel!

reboot edip sistemi inceleyelim.
saat 00:05

cd'yi çıkarmayı ve çizilmeyecek şekilde bir yere koymayı unutmayalım:)

#reboot

oturum açınca unuttuğumuzu farkettiğimiz kde türkçe paketini kuralım:

#apt-get install kde-i18n-tr

Kde Control Center'da Country/Region & Language kısmından Türkçeyi ekleyelim.
Tamam, kurulum neredeyse tamamlandı.

Daha alışkın olduğumuz iceweasel'i kuralım. Sonra javayı ve flash'ı kuracağız.

#apt-get install iceweasel iceweasel-l10n-tr

Kurulum sırasında kağıda aldığımız notları blog girdisine dönüştürelim. Ekran görüntüsü de koyalım. PrintScreen çalışsaydı keşke.



saat:01:08

Perşembe, Mayıs 22, 2008

Şenliğe gidemedim


Ama maksat gönüller bir olsun.

head/body tattoo :)

Microsoft MS Office formatında geri adım attı

Haberi Burak gönderdi, olumlu bir gelişme. odt, ods vb. türlerindeki dosyaları gönderirken artık "bana uzaylı muamelesi yaparlar mı" diye düşünmeyeceğimizi umuyorum.

Çarşamba, Nisan 16, 2008

Java paketleri

Ornijanli burada olan belgeyi çevirmeyi hep düşünüyordum. Java paket mevzusu çok sade ve anlaşılır bir şekilde anlatılmış.

JAVA Paketleri
İçerik

* Giriş
* Örnekler
* Java Derleyicisi dosyaları nasıl buluyor
* CLASSPATH çevre değişkeni

Giriş

* Her sınıf bir paketin parçasıdır.

* Bir dosya içindeki bütün sınıflar aynı paketin parçasıdır.

* Paket belirtimi şöyle yapılır:
package paket-adı;
dosyanın ilk (non-comment) satırında.

* Farklı dosyalar aynı paketi belirtebilir.

* Eğer herhangi bir paket belirtilmediyse bir dosyadaki sınıflar özel, isimsiz bir pakete (tüm dosyalar için aynı isimsiz paket) dahil edilirler.

* Eğer package paket-adı belirtildiyse dosya paket-adı dizininde olmalıdır (dizin adıyla paket adı uyuşmalıdır).

* Başka bir (ismi belli olan) paketteki public sınıfa şöyle erişebilirsiniz:
paket-adı.sınıf-adı
Böyle sınıfların public eleman saha veya fonksiyonlarına şöyle erişebilirsiniz:
paket-adı.sınıf-adı.elema-saha-veya-fonksiyon-adı
paket-adını kullanma zorunluluğundan şöyle kurtulabilirsiniz:
import paket-adı.*; veya
import paket-adı.sınıf-adı;
(dosyanın ilk satırlarında package deklerasyonundan sonra). İlki paketteki tüm sınıfları içe aktarır (import), ikincisi sadece belirtilen sınıfı. Bu şekilde sadece paket-adı nı yazmaktan kurtuluruz. Hala sınıfa erişmek için sınıf-adı nı, eleman saha veya fonksiyonlara erişmek için sınıf-adı.eleman-saha-veya-fonksiyon-adı nı kullanmalıyız.

Örnekler

Javadir isimli dizinde çalıştığınızı ve aşağıdaki gibi kodları olan dosyalar oluşturduğunuzu farzedin.

dosya 1
package ListPkg;
public class List { ... }
class ListNode {...}

dosya 2
package ListPkg;
public class NoNextItemException { ... }


dosya 3
public class Test { ... }
class Utils { ... }

dosya 4
class Test2 { ... }

Kullanmanız gereken dizin ve dosya isimleri şöyle olmalı:

* Dosya 1 List.java isimli dosyada, Listpkg dizininde bulunmalı.
* Dosya 2 NoNextItemException.java isimli dosyada ve yine Listpkg dizininde bulunmalı.
* Dosya 3 Test.java isimli dosyada bulunmalı (Javadir dizininde).
* Dosya 4 .java uzantılı her hangi isimli dosyada bulunabilir (Javadir dizininde).

Bunlar da her bir dosyanın kodundan erişilebilecek sınıflar:

* Dosya 1 ve 2:
o İlk iki dosyadaki kodlar (ListPkg/List.java ve ListPkg/NoNextItemException.java) aynı paketin içindeki sınıflara erişebilirler (List, ListNode, ve NoNextItemException). (Bu paketler için erişim belirtilmediğinden varsayılan paket erişimini kullanırlar)

o Dosya 1 ve 2 deki kodlar, her ne kadar public olarak tanımlansa da, Test sınıfına erişemezler. Problem şudur ki Test sınıfı isimsiz bir paketin içindedir, bu yüzden bu paketi veya Test sınıfını içe aktarmanın yolu yoktur.

o Dosya 1 ve 2 deki kodlar Utils ve Test2 sınıflarına erişemezler çünkü bu sınıflar farklı pakettedir ve varsayılan paket erişimine sahiptirler.

* Dosya 3 ve 4:
o Dosya 3deki kodlar (Test.java) ListPkg.List, ListPkg.NoNextItemException, Test, Utils, and Test2 sınıflarına erişebilir. (ilk ikisi isimli bir pakettei public sınıflar olduklarından, son üçü aynı isimsiz pakette ve hem public hem de paket erişiminden dolayı). Yine de dikkat edin, eğer Test.java daki kodlar Test2 sınıfını kullanırsa ve bu sınıf Test2.java isimli dosyada değilse Test2 sınıfının olduğu dosya önce derlenmelidir, aksi taktirde bu sınıf bulunamaz.

o Dosya 4 deki kodlar (Test2 sınıfını içeren dosya) Dosya 3 (Test.java) dekilerle aynı sınıflara erişebilirler.

Örneği özetlemek gerekirse:
Here's a summary of the example:
File Contents Directory/FileName Can Access

package ListPkg;
public class List {...}
class ListNode {...}

ListPkg/List.java List, ListNode, NoNextItemException

package ListPkg;
public class NoNextItemException
{...}

ListPkg/NoNextItemException.java List, ListNode, NoNextItemException

public class Test {...}
class Utils {...}

Test.java ListPkg.List, ListPkg.NoNextItemException, Test, Utils, Test2

class Test2 {...}

any-name.java ListPkg.List, ListPkg.NoNextItemException, Test, Utils, Test2

Java Derleyicisi dosyaları Nasıl bulur

Aynı dosyada tanımlı olmayan bir sınıfı (veya arayüzü [interface]) kullanan bir dosyayı derlediğinizde Java derleyicisi sınıf tanımlamasının olduğu yeri bulmak için şunları kullanır


* sınıfın adı
* içe aktarılan paket isimleri (eğer varsa)
* dahil olduğu paket ismi

Örneğin, içinde Test.java isimli tek bir dosyanın olduğu Javadir dizininde çalıştığınızı farzedin:

import ListPkg.*;

public class Test {
List L;
...
}

List Tedt.java'da tanımlı olmadığından ve dizinde List.java bulunmadığından derleyici ListPkg altdizininde List.javayı arayacak (Test.java Listpkg yi içe aktardığı için).

Şimdi ListPkg altdizininin içinde iki dosya olduğunu varsayalım: List.java ve ListNode.java, her ikisi de ListPkgye dahil. Ayrıca List.java nın ListNode.java da tanımlı olan List sınıfını kullandığını varsayalım. List.java yı ListPkg altdizininde derlemeye çalışırsanız hata alırsınız, çünkü derleyici List.java yı aktif dizinde aramak yerine ListPkg altdizininde bulmayı deneyecektir.

Bu problemi çözmenin (en azından) üç yolu vardır:

1. Bir paketi her zaman üst dizinden derleyin. Örneğin List.java yı Javadir/Listpkg dizini yerine Javadir dizini içindeyken derleyin. Javadir dizininde şu komutu girin:
javac ListPkg/List.java
2. Bir paketteki tüm dosyaları her zaman aynı anda derleyin; örneğin Javadir/LitsPkg dizininde şu komutu girin:
javac *.java
3. Paketin bulunduğu altdizinden kendisine dairesel sembolik link tanımlayın; Javadir/ListPkg dizininde:
ln -s . ListPkg

CLASSPATH Çevre Değişkeni

Aktif dizinin (örn. javac komutunu verdiğiniz dizin) alt dizininde olmayan bir paketi kullanmak için, Java derleyicisinin nereye bakması gerektiğini belirtmek amacıyla CLASSPATH çevre değişkenini girmelisiniz.

Örneğin /p/course/cs368-horwitz/public/ListPkg dizini içinde bir List paketi bulunuyorsa CLASSPATH değişkenini şöyle ayarlamalısınız:
setenv CLASSPATH .:/p/course/cs368-horwitz/public

Nokta ve iki nokta üstüste (.:) derleyiciye ayrıca derlmenin yapıldığı dizine de bakmasını şöyler. Dikkat edin, CLASSPATH çevre değişkeni ListPkg nin üst dizinine ayarlandıi ListPkg dizininin kendisine değil.

Pazartesi, Nisan 07, 2008

Akvaryumumun yeni hali



Akvarist arkadaşım Necdet'in getirdiği bitkilerle akvaryumumun yeni hali böyle oldu.


Akvaryumda 2 zebra, 4 plati, 3 salyangoz, 3 albino corrydoras, 3 de Otocinclus var.

Cuma, Şubat 15, 2008

Pardusta recordmydesktop

Her zaman lazım olabilecek minik kullanışlı bir program recordmydesktop. Dosyayı buradan indirdikten sonra komut satırında:

~$ tar -xvfz recordmydesktop-x.y.z.tar
~$ cd recordmydesktop-x.y.z
~$ ./configure
~$ make
~$ sudo make install

ile kuruluyor. configure sırasındaydı yanılmıyorsam (adını hatırlamıyorum) eksik diyerek hata vermişti yeni kurduğum pardusta. Onu da

~$sudo pisi install

şeklinde kuruyoruz. 0.3.7.3 sürümü olmasına rağmen sorunsuz çalıştı.

qt ve gtk arayüzlerini de indirip kullanmak mümkün ama ben komut satırından daha kolay kullandım.

~$recordmydesktop
ile tam ekran sesli+görüntülü kayıt yapıyor. Ctrl+C ile kayıt durduruluyor.

şöyle de kullanılabilir:
~$recordmydesktop -o dosya -width 200 -height 200 --follow-mouse -dummy-cursor black -stop-shortcut Shift+Mod1+S -pause-shortcut Shift+Mod1+P

Shift+Alt+P pause için Shift+Alt+P stop için klavye kısayolları. Ayrıntılar için man recordmydesktop.

Cuma, Ocak 11, 2008

Ben Pardus kurdum

1 yıldır kullandığım ve hiçbir şikayetimin olmadığı debian'ı kaldıraraktan geçen haftasonu ani bir kararla pardus kurdum. 21 saniye gibi supersonic bir hızla açılıyor. Daha ayarlara dokunmadım ama hiçbirşeyde sorun yok. Daha önce bir çok kez kurup şöyle bir bakmıştım. Bundan böyle uzun bir süre pardus kullanmayı düşünüyorum. Yanına bir de ubuntu kurabilirim incelemek için.