26.03.2010

LCD/LED TV'ler, DLNA ve kablosuz bağlantı

DLNA biraz yanlış anlaşılıyor. Çok basit cümlelerle anlatmaya çalışacağım. DLNA, sadece bilgisayarınızdaki resim, müzik ve film dosyalarınızı televizyonunuzda görüp oynatabilmeniz içindir. DLNA ile bilgisayarınızın ekranına erişemez, internette sörf yapamaz ve Word & Excel dosyalarını televizonunuzda görüntüleyemezsiniz.

Birçok LCD/LED TV kablosuz adaptör olmadan satılırlar. Harici bir kablosuz adaptör (mesela şu) aracılığıyla kablosuz olarak DLNA özelliğinden faydalanmak mümkün. Ama bu kablosuz adaptör olsa bile bilgisayarınızın ekranına bağlanmak mümkün değil. Bunu yapmanın en sağlıklı yolu bir HDMI kablo. Bu olmazsa bir DVI kablosunu da kullanabilirsiniz. Ama bu yöntemle bilgisayardaki sesin aktarılması biraz karışık.

İlle bilgisayarımın ekranındaki görüntüyü kablosuz olarak televizyonumda görmek istiyorum diyorsanız piyasada bu işi yapabilecek elbette bir kaç cihaz vardır. Ama bunların DLNA ile hiç ilgisi yok. Tabi böyle bir şey yapacak cihazların görüntü aktarma formatına satın almadan dikkat etmek gerek. 1920x1080 çözünürlüğe sahip bir Full HD televizyon alıp, sadece DVD kalitesinde görüntü aktarabilmek istemezsiniz sanıyorum.

25.03.2010

Text mode browser: Links

Pardus-wiki sayfalarında Lynx adıyla bahsedilmiş ama Pardus 2009 depolarında Links olarak geçiyor (Wikipedia sayfasında Lynx ile links'in farklı iki komut satırı browser'ı olduğu söylenmiş). İşte bu da sourcefoge'daki proje sayfası. Komut satırından
# pisi it links
ile kurulumu yapılabilir. Bundan sonra links yazıldığında browser başlıyor. Fare ve okun olmadığı bir dünyada linkler arasında geçişi üst/alt oklarla yapıyoruz. Sayfayı bir ekran boyu aşağı kaydırmak için boşluk tuşu, menüyü açmak için ESC. İlk başta boş sayfa gelince menüyü açmak için de bir kez ESC'e basın. İşte renkli şekilleri olmadan Google sayfasının links'de görünümü:


Bu da Setup menüsünden desteklenen karakter seti ayarları


Tam teşekküllü bir browser'ın yerini tutmaz ama acilen ihtiyaç duyulan durumlar için birebir...

23.03.2010

Google DNS sunucuları

Google'ın DNS sunucuları genel kullanıma açıldı. Özellikle Youtube yasağı sonrası yaygınlaşan bu tip genel kullanıma açık DNS sunucuları, yerel servis sağlayıcının çözümleme bazlı kısıtladığı erişimi aşmamızı sağladı.
DNS sunucuları, alan adlarını (ozmener.net gibi) IP adreslerine çevirip aslında isim üzerinden gibi görünen internet trafiğini IP adresleri üzerinden yürümesini sağlayan çözümleme sorumlularıdır. Her internet sitesine erişimde bilgisayarınız sizin adınıza bir veya birkaç DNS sorgusu yapar. Bu sorguların sonucunda dönülen IP adresi, bilgisayarınızın nihai olarak iletişime gireceği bilgisayarı belirler. Dolayısıyla Cyberciti.biz sitesindeki habere göre, her gün yüzlerce DNS sorgusu yapılan bir durumda DNS sunucunun erişim süreleri internet bağlantınızın ne kadar etkin kullanıldığını belirleyen faktörlerden biri olabilir. Bu sitenin yaptığı istatistiklere göre Google DNS, OpenDNS ve ortalama bir internet servis sağlayıcının (ISS) DNS sunucularına erişim süreleri şu şekilde

DNS sunucuPing testiÇözümleme testi
İSS20 ms41 ms
Google116 ms262 ms
OpenDNS190 ms213 ms

Ayrıca sitede, OpenDNS'in elindeki bilgileri reklam hizmeti veren firmalarla paylaştığı söyleniyor. Google'ın da bu konuda dürüst davranacağına dair söz verdiği belirtilmiş ama pek umut verilmemiş.

Buna göre, yasaklı sitelere erişim hariç hiçbir sebep henüz ne Google DNS, ne de OpenDNS kullanmak için yeterli bir sebep değil.

Kullanmak isteyenler olursa yine de OpenDNS'in sunucuları
208.67.222.222
208.67.220.220
Google'ın DNS sunucuları
8.8.8.8
8.8.4.4

Ubuntu'da özel bir çözünürlük seçmek

Ubuntu ile ekranınızın desteklediği her çözünürlüğü alamayabilirsiniz. Örneğin 1440x900 çözünürlüğü istiyor ama System>Preferences>Display'de böyle bir ayar bulamıyorsanız uygulanması gereken adımlar şöyle:
  1. İstenen çözünürlük için modeline'ı hesaplamak

    $ cvt 1440 900 
    # 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
    Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
    Bu aşamada kırmızı ile yazılan alan daha sonra işimize yarayacak. 
  2. Ekran adlarını almak. Bilgisayara bağlı hangi 0,0

    $ xrandr
    Screen 0: minimum 64 x 64, current 1440 x 900, maximum 32000 x 32000
    VBOX1 connected 1440x900+0+0 0mm x 0mm
       1440x900       60.0*+
       1360x768       59.8  
       1152x864       60.0  
       1024x768       60.0     60.0  
       800x600        60.3     60.0  
       640x480        59.9  
    Bu aşamada da yeşil olarak yazılan bölüme daha sonra ihtiyacımız olacak
  3. İstenen çözünürlüğün çalışıp çalışmadığını denemek (kırmızı bölüm 1. adımdan, yeşil kısım da 2. adımdan kopyalandı

    $ xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
    $ xrandr --addmode VBOX1 1440x900_60.00
    $ xrandr --output VBOX1 --mode 1440x800_60.00 --output LVDS1 --off
    3. satırdaki gri ile yazılan output kısmı sadece dizüstü bilgisayarınıza harici bir ekran taktıysanız ve dizüstünün ekranını kapatacaksanız gerekli. Değilse unutun. Bu adımda çözünürlüğünüz değişmiş olmalı. Ama bu değişim kalıcı değil. Kalıcı yapmak için bundan sonraki adımı uygulamak gerek. Ancak bu adımda ekran kararırsa Sağ Alt+PrintScreen+K tuşlarına basarak tekrar login ekranına dönün.
  4. Eğer /etc/X11/xorg.conf dosyanız varsa onun bir yedeğini alarak dosyayı aşağıdaki şekilde değiştirin. Eğer xorg.conf dosyanız yoksa şu bağlantıdaki adımları izleyerek oluşturun. Virtualbox üzerine kurulu Ubuntu 9.10'da xorg.conf dosyası orijinal olarak şöyleydi:

    Section "Device"
            Identifier      "VirtualBox Video Card"
            Driver          "vboxvideo"
    EndSection
    Buna bazı eklemeler yaptım. Kırmızı ile yazılan bölüm 1. adımdan kopyalandı. Section'lar arası ilişki de renklerle gösterildi. İstediğimiz çözünürlük olan 1440x900 ve 60 Hz olduğundan bu bilgi 1440x900_60.00 şeklinde elle girildi.

    Section "Monitor"
     Identifier "Monitor0"
     VendorName "Monitor Vendor"
     ModelName "Monitor Model"
     Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync Option  "PreferreMode" "1440x900_60.00"
    EndSection
    
    Section "Device"
            Identifier      "VirtualBox Video Card"
            Driver          "vboxvideo"
     Option  "Monitor0"
    EndSection
    
    Section "Screen"
     Identifier "Screen0"
     Device  "VirtualBox Video Card"
     DefaultDepth 24
     SubSection "Display"
      Viewport 0 0
      Depth  4
     EndSubSection
     SubSection "Display"
      Viewport 0 0
      Depth  24
      Modes "1440x900" "1024x768" "800x600"
     EndSubSection
    EndSection

Referanslar:
http://blog.frith.co.za/2007/12/06/xrandr-finally-simple-monitor-configuration-for-linux/
http://ohioloco.ubuntuforums.org/showthread.php?t=1346125

Ubuntu admin

Linux'ta çok sık kullanılabilecek komutların bir derlemesini yapmak istedim. Buradakilerin hepsini internet üzerinden öğrendim; örneğin cyberciti.biz,ubuntuguide.net, ubuntugeek.com, ubuntuforums.org gibi sitelerden.

Sistem kurulum tarihi
Windows'da systeminfo komutu ile bunu görebiliyordum. Linux'ta eşdeğeri basit bir komut yok. Onun yerine önerilen
/var/log/installer/syslog
dosyasına bakmak. Orada ilk satırdaki tarih ve saat bilgisi aradığımız bildi. Ama o satırda yıl yazmıyor. Onu da bu dosyanın yaratılma tarihinden ediniyoruz. ext2 ve ext3 dosya sistemlerinde dosyanın yaratılma tarihi tutulmuyor. Yeni nesil dosya sistemi ext4 ile bunun mümkün olduğu belirtilmiş. Ama şu anda ext3 kullanıyorken bu bilgiyi nasıl elde edebilirim? Çok güzel bir cevap şuradan gelmiş:
$ sudo tune2fs -l /dev/sda1 | grep created
Filesystem created:       Thu Nov 19 11:35:37 2009
Yani dosya sisteminin yaratılma tarihinden. /var/log/installer/syslog'da ilk satırdaki tarih de Nov 19 09:17:54 idi. Ufak bir zaman sorunumuz var gibi görünse de syslog dosyasındaki zaman UTC, dosya sisteminin yaratılma tarihi bilgisi ise yerel saate göre tutulmuş. Yani bilgisayarımı kurmaya Türkiye saatiyle 11:17'de başlamışım, bir şekilde boot partition'ımı formatlamam 11:35'i bulmuş.

Parola sormayı kaldırmak
Windows Vista'nın UAC (User Account Control) benzeyen şekilde Ubuntu da yapılan bazı işlemlerde kullanıcıdan parola doğrulaması ister. Ne Vista'da ne de Ubuntu'da bu denetlemeyi devre dışı bırakmanın iyi bir fikir olduğunu sanmıyorum. Ama ille yapmak isteyenler için işte çözüm. Komut satırından şu komutu verin
sudo visudo
Açılan editörde sayfanın altlarına doğru inip
%admin ALL=(ALL) ALL
satırını bulup onu şu şekilde değiştirin:
%admin ALL=(ALL) NOPASSWD: ALL
Dosyayı kaydedin ve çıkın. Bundan sonra yapılan ayrıcalık gerektiren işlerde parola sorulmayacak.

Haftanın ilk gününü Pazartesi yapmak
Ubuntu'yu İngilizce olarak kullanmak isteyip de haftanın ilk gününü Pazartesi yapmak istedim. Bunun için şu adımları uyguladım.
Hafta başı Pazar günü

Önce hangi locale'i kullandığınıza bakalım:
$ locale
ANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=  
Görülüyor ki en_US'i kullanıyorum. Bu sebeple /usr/share/i18n/locales/ klasörünün altındaki locale dosyalarından en_US'i açıp düzenlemek gerekecek.
gksu gedit /usr/share/i18n/locales/en_US
Şöyle bir satır olmalı
week    7;19971130;7
first_weekday    1
first_workday    2
Buradaki first_weekday'i 1 yerine 2 yapmak gerekecek. Bundan sonra da şu komutla locale'leri güncellemek gerek
$ sudo locale-gen
Yeni locale'i kullanabilmek için gnome-panel'i tekrar başlatmak gerek. Bilgisayarı kapatıp açmaya alternatif olarak şu da yapılabilir.
$ killall gnome-panel
Bundan sonra saatin üzerine tıklayınca açılacak takvim, haftanın ilk gününü Pazartesi olarak gösterecek.

Hafta başı Pazartesi günü

Panel Tarih Formatını Değiştirmek
Eğer ekranın sağ üst köşesinde tarihin gösterilmesini seçtiyseniz tarih, varsayılan formatta gösterilecektir. Bu formatı değiştirmek istiyorsanız Alt+F2 ile Run Application diyaloğuna
gconf-editor 
yazıp
/apps/panel/applets/clock_screen0/prefs
altında
format=custom
atamasını yaptıktan sonra
custom_format
değerini gerekli şekilde değiştirmek gerekecek. Örneğin tarihi 25.Nov (Thu), 17:46 şeklinde göstermek için buraya yazılacak şey şöyle olacak:
%d.%b (%a), %H:%M
Bunlar hakkında ayrıntılı bilgi için komut satırında
man strftime
yazarak yardım alabilirsiniz.

Tarih ve Zaman için Türkçe Yerelleştirme Kullanmak
Üstte "Haftanın ilk gününü Pazartesi yapmak" başlığında locale komutuyla mevcut yerelleştirme ayarlarını görüntülemiştik. Buradan anlaşılacağı gibi LC_TIME ortam değişkenini değiştirerek tarih ve zaman gösterimi için Türkçe yerelleştirmesini kullanabiliriz. Bunu yapmak için önce localedef ile tr_TR.UTF-8'i derlememiz gerek.
sudo localedef -f UTF-8 -i tr_TR tr_TR.UTF-8
Bu adımdan sonra /etc/environment dosyasını root yetkileriyle açıp içine şu satırı eklemek gerek:
LC_TIME="tr_TR.UTF-8"
Bundan sonra yapılacak şey ise oturumu kapatıp tekrar açmak (killall gnome-panel işe yaramıyor!)



Çalışan Ubuntu 32 bit mi 64 bit mi?
Bunu anlamak için
$ uname -a
komutunu verip çıkışın sonundaki mimari bilgisine bakmak gerek. Örneğin 32 bitlik bir sistemde bu komutun çıktısı şu şekilde olurken
Linux user-desktop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
64 bitlik bir sistemde ise şu şekilde olur
Linux user-desktop 2.6.31-17-generic #54-Ubuntu SMP Thu Dec 10 17:01:44 UTC 2009 x86_64 GNU/Linux
İşlemcinin 64 bit desteği var mı?
Çalışan linux 32 bitlik. Ama işlemcinizin 64 bit desteği var mı, yok mu bilmek istiyoruz. Bunun için
$ cat /proc/cpuinfo | grep flags
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm constant_tsc up rep_good pni monitor ssse3 lahf_lm
komutunu verip çıktıyı incelemek gerek. Bu komut işlemcinin özelliklerinden flags bilgisini süzer. Bu bilgilerin içinde işlemcinin desteklediği teknolojiler kısaltılmış olarak belirtilir. 64 bit desteği için lm (long mode) kısaltması aranmalıdır. lm varsa işlemcinin 64 bit desteği de var demektir.

Ekran kartımızın belleğini bulmak
Ekran kartımızın üzerinde ayrılmış bellek var mı, yoksa sistem belleğini mi paylaşıyorlar? Bunu bulmak için öncelikle
$ lspci | grep VGA
ile PCI veriyoluna bağlı cihazlar listesine VGA süzgeci uygulanmalı. Bu komutun çıktısı şuna benzer birşey olur

00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
Bu satırın başındaki 00:02.0 numarasını kopyalayın. Ardından şu komutu vererek ilgili slottaki cihazın ayrıntılarına ulaşın
$ lspci -vs 00:02.0
Bunun çıktısı da şunun gibi birşey olur
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
    Flags: bus master, fast devsel, latency 64
    Memory at e0000000 (32-bit, prefetchable) [size=16M]
Burada da ayrılmış bellek prefetchable kısmında yazandır. Eğer sistem ile ekran kartı arasında paylaşılan bir bellek alanı söz konusuysa bunu da non-prefetchable kısmında yazar. Yukarıdaki örnekte sadece prefetchable olarak (ayrılmış) 16M bir bellek var.

Sabit diskinizin tampon belleğini (buffer) bulmak
Bunu aslında Windows'da görebildiğim bir yer yok. Üçüncü parti yazılımlara başvurmak gerek. Ama linux'ta hdparm aracını kullanarak bulabiliriz. Şu komutu verelim (sda yerine uygun donanım ismini koyun)
$ sudo hdparm -i /dev/sda
Bunun çıktısı şuna benzer birşey olacak
/dev/sda:

 Model=VBOX, FwRev=1.0, SerialNo=VB41cc6c74-508c3c94
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=512, ECCbytes=0
 BuffType=DualPortCache, BuffSize=256kB, MaxMultSect=128, MultSect=128
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=41943040
 IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5 udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-1,2,3,4,5,6

 * signifies the current active mode
Burada kırmızı olarak işaretlenen alan BuffSize ile diskimizin tampon belleğini verir.

Sistemin ne zamandır açık olduğunu bulmak
Bunu yapmanın iki yolu var. Birincisi uptime komutunu kullanmak.
$ uptime
01:23:04 up  1:29,  2 users,  load average: 0.02, 0.06, 0.06
gibi bir çıktı üretir. Burada ilk verilen 01:23.04 sistem saatini, 1:29 ise sistemin 1 saat 29 dakikadır açık olduğunu gösterir. Diğer bir yol ise who komutunu -b anahtarı (en son boot zamanı) ile kullanmaktır.
$ who -b
         system boot  2010-03-23 23:54
Burada sistemin en son açılış zamanı tarih ve saat şeklinde verilmiş.

Sistemin kapatılma olaylarını listelemek
$ last -x | grep shutdown

Sistemin tekrar başlatma olaylarını listelemek
$ last reboot

Sistemin bütün açma, kapama, login vs. olaylarını listelemek
Bu işlerin kaydı /last/log/wtmp dosyasında tutulur. Ama bu dosya binary'dir. Bu veriye erişmek için last komutu geliştirilmiştir. Tüm kayıtları listelemek için şöyle bir komut kullanılabilir:
$ last -Fa
user1   pts/0        Tue Mar 23 23:55:05 2010   still logged in       :0.0
user1   tty7         Tue Mar 23 23:54:44 2010   still logged in       :0.0
reboot  system boot  Tue Mar 23 23:54:34 2010 - Wed Mar 24 01:49:34 2010  (01:55)     2.6.31-20-generic

Burada en alttaki reboot kelimesiyle başlayan satırda verilen ilk tarih bilgisayarın açılış tarih/saati, ikinci tarih ise şu andaki tarih/saattir. Bunun üzerindeki iki satırda ise user1 kullanıcısına ait iki oturum gözüküyor: tty7 ve pts/0. tty7, grafik arayüzü kullanarak açtığımız oturumu gösteriyor. pts/0 ise açtığımız ilk terminal arayüzünü. Eğer birden fazla terminal açılırsa bu pts/1, pts/2 diye gider. Bu iki oturuma ait bir son tarih olmadığına dikkat. Still logged in, yani hala oturumu açık. Benzer bir bilgi w komutu ile de elde edilebilir. Sistemde hangi kullanıcılar var, neleri kullanıyorlar, sistem ne zamandır açık, 1 dk, 5 dk ve 15 dk'lık sistem yükü başlıkta görüntülenir.
$ w
11:35:08 up 29 min,  3 users,  load average: 0.00, 0.01, 0.08
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty7     :0               11:09     ?    17.52s  0.30s gnome-session
user1    pts/0    :0.0             11:09    0.00s  0.28s  0.01s w
user1    pts/1    :0.0             11:12    6:33   0.27s  0.27s bash

Hangi süreç hangi bağlantıyı yapmış
Sysinternals'ın Windows araçları olan Process Explorer, Process Monitor ve TCP View gibi araçların Linux eşdeğerlerinin olmasını isterdim. Herhalde Mark Russinovich gibi bir uzmana sahip olmak her işletim sisteminin sahip olacağı bir şans değil. Neyse, Process Explorer'ın eşdeğeri sayılabilecek (onun grafik işlevselliği değil ama ona yakın bir işlevsellik) top ve htop var. Process Monitor'un benzerini bulamadım. Ama en son TCP View'un işlevselliğini ss (socket statistics)'de buldum.
$ ss -pr
State  Recv-Q Send-Q      Local Address:Port           Peer Address:Port   
ESTAB  0      0      my-desktop.local:45910       dns.bosb.org.tr:www   users:(("firefox",1806,46))
ESTAB  0      0      my-desktop.local:45398  ey-in-f102.1e100.net:www   users:(("firefox",1806,61))
ESTAB  0      0      my-desktop.local:45909       dns.bosb.org.tr:www   users:(("firefox",1806,28))
ESTAB  0      0      my-desktop.local:45914       dns.bosb.org.tr:www   users:(("firefox",1806,63))
ESTAB  0      0      my-desktop.local:45911       dns.bosb.org.tr:www   users:(("firefox",1806,47))
ESTAB  0      0      my-desktop.local:39247 www.meteoroloji.gov.tr:www  users:(("firefox",1806,68))
ESTAB  0      0      my-desktop.local:45915       dns.bosb.org.tr:www   users:(("firefox",1806,64))
ESTAB  0      0      my-desktop.local:45912       dns.bosb.org.tr:www   users:(("firefox",1806,54))
ESTAB  0      0      my-desktop.local:39246 www.meteoroloji.gov.tr:www  users:(("firefox",1806,65))
Eğer ters isim çözümlemesi istenmiyorsa -r anahtarı kullanılmayabilir. -p anahtarı süreç bazında ağ hareketlerini izlemek için kullanılıyor. Ama onun yerine dinlemedeki portları listelemek için ise -l anahtarı kullanılabilir. Linux dünyasının grafik arayüz deneyiminden uzak komut satırına takılması garip. top/htop ve ss... Process Explorer'ın grafik arayüz olmadan ne kadar kullanışsız olacağını düşünün...

IPv6'i devre dışı bırakmak
Kısaca /etc/modprobe.d/blacklist dosyasını açarak içine blacklist ipv6 ekleyin. Kaydettikten sonra sistemi tekrar başlatın.

Beep'i kapatmak
Eğer sistemin bip sesi canınızı sıkıyorsa kapatmak için /etc/sysctl.conf dosyasının içine hw.syscons.bell=0  ekleyin.

Bir sonraki açılışta dosya sistemi denetlemesi yaptırmak
Boot partition belli aralıklarla tutarlılık denetlemesinden geçse de istediğiniz zaman bunu yaptırmak için şu komutu kullanabilirsiniz (ubuntuforums):
sudo touch /forcefsck
ya da şu adreste anlatıldığı gibi
shutdown -rF now
da olur.

Configuration Editor ile Gedit'in kullandığı kodlamayı değiştirmek
Ubuntu'yu (ve diğer işletim sistemlerimi) İngilizce kullandığımdan, genelde Türkçe karakter seti (ISO-8859-9) ile kodlanmış metin dosyalarını -gedit ile- açtığımda Türkçe karakterlerin bozulduğunu görüyorum. Bunu düzeltmek için Configuration Editor ile gedit'in kullandığı karakter setine ek yapmak gerek. Önce Configuration Editor'u açmak için Ubuntu'nun sol üst köşesindeki logusuna sağ tıklayıp "Edit Menus" komutunu verdim. Açılan Main Menu diyaloğunda ise sol taraftaki System Tools'u seçtikten sonra sağ taraftaki Configuration Editor'un checkbox'ını işaretledim. Close ile diyaloğu kapattıktan sonra Applications>System Tools altında Configuration Editor çıktı. Bunu çalıştırıp -Windows'daki regedit'e benzer bir bakıma- /apps/gedit-2/preferences/encodings altındaki auto_detected ve shown_in_menu kısımlarına ISO-8859-9'u ekledim. auto_detected kısmına yapılan ek, açılan dosyanın kodlamasının listedeki sıraya göre otomatik olarak algılanmasını sağlıyor. Bu sebeple eklediğimiz ISO-8859-9'un UTF-8'in altında olması uygun olacaktır (Current'ın üstünde). shown_in_menu ise Open/Save diyaloglarında açılan/kaydedilen dosyanın kodlamasını elle değiştirmek istersek Türkçe'nin de listelenmesi için.

Normal kullanıcıların Truecrypt'i kullanma yetkisi
Varsayılan kurulumlarda kullanıcıların Truecrypt disklerini mount etmesi için root yetkileri gerekir. Eğer sıradan bir kullanıcının root yetkileri olmadan bunu yapmasını istiyorsak önce bir grup yaratıp o gruba gerekli yetkileri verip, ardından istediğimiz kullanıcıyı bu grubun üyesi yapacağız. truecrypt adında bir grup yaratalım.

$ sudo groupadd truecrypt
Şimdi de /etc/sudoers dosyasını visudo kullanarak düzenleyeceğiz.
$ sudo visudo
Dosyanın sonuna şu satırları ekleyelim
# truecrypt group access truecrypt as root
%truecrypt ALL=(root) NOPASSWD:/usr/bin/truecrypt
Şimdi de istediğimiz kullanıcıyı bu grubun üyesi yapalım.
$ sudo gpasswd -a <username> truecrypt
Bitti.

Ekleme [02.09.2016]: Bir süredir ilk seferde mount etmede sorun yaşıyordum. Truecrypt 2 dakika kadar donduktan sonra "Failed to set up a loop device" hatası veriyordu. ArchLinux gibisi var mı! Yardımı onların wikisinde buldum. Sorun loop modülünün yeni linux kernel'lerinde varsayılan olarak yüklenmemesinden kaynaklanıyor(muş). Kalıcı çözüm:

# tee /etc/modules-load.d/truecrypt.conf <<< "loop"
ile loop'u başlangıçta yüklenmsini sağlamak ve örneğin 8 adet loop device'ı yaratmak:

# echo "options loop max_loop=8" > /etc/modprobe.d/eightloop.conf
Bundan sonra da bi reboot etmek.

Ubuntu Lucid'deki Evolution Mail simgesinden kurtulmak
Ubuntu 10.04'te sağ üst köşede bir mektup simgesi geldi. Evolution mail'deki hesaplarınıza yeni mesajın geldiğini bildiren bir simge. Kullanmadığım için kaldırmak istedim. Adımları şu siteden aldım. Evolution Mail simgsi ile birlikte Network Manager ve Volume Control simgelerinin de içinde bulunduğu nesnenin adı Indicator Applet. Evolution Mail simgesine sağ tıklayıp Remove From Panel diyerek sadece Evolution simgesinden değil, tüm Indicator Applet'ten kurtuluyoruz. Bu istediğimiz birşey değil. Bunun yerine önce
$ sudo apt-get remove evolution-indicator
ile Evolution'ı Indicator Applet'ten kaldırıyoruz. Tüm mesaj bildirimlerinden kurtulmak için
$ sudo apt-get remove indicator-messages
kullanılabilir. MeMenu'den de kurtulmak için
$ sudo apt-get remove indicator-me
kullanılabilir. Bunlardan sonra hiçbir şey değişmemiş gibi gelebilir. Panel'i tekrar başlatmamız gerek. Bunun için de
$ killall gnome-panel
komutunu kullanmalıyız.

Pencere düğmelerini eski yerine taşımak
Yeni sürümde pencereyi kapatmak, simge durumuna küçültmek ve tam ekran yapmak için kullanılan düğmeler pencerenin sol üst köşesine taşındı. İlle de eski yeri olsun diyenler için Alt+F2 ile çalıştır açılaran gconf-editor yazılıp enter'a basılır. /apps/metacity/general/ yolundan button_layout'a gidilerek değeri menu:minimize,maximize,close şeklinde değiştirilir. Burada
menu: Pencerenin sistem menüsünün sırasını
minimize: Pencereyi simge durumuna küçülten düğmenin sırasını
maximize: Pencereyi tam ekran yapan düğmenin sırasını
close: Pencereyi kapatan düğmenin sırasını
İki nokta üst üste (:) ise düğmelerin sağ veya solda olma durumunu belirler.
İki nokta üst üste (:) bir nevi pencerenin başlık çubuğunu simgeler. Eğer önce minimize, maximize ve close'u yazdıktan sonra iki nokta üst üsteyi en sona eklerseniz bu, düğmeler solda olsun, sonra pencerenin başlık çubuğu olsun anlamına gelir. Ya da kapat düğmesini diğer düğmelerden ayırarak sistem menüsü kullanmadan diğer düğmeleri sağa taşımak için close:minimize,maximize yapmak yeterli olur.

TCP/IP yapılandırması
eth0 üzerindeki mevcut IP yapılandırmasını görmek için
ifconfig eth0
eth0'ya statik bir IP adresi vermek için
sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0
eth0'ya ikinci bir statik IP adresi vermek için
sudo ifconfig eth0:1 192.168.2.2 netmask 255.255.255.0
Varsayılan ağ geçidi belirlemek için
sudo route add default gw 192.168.1.1
Yeni bir route eklemek için (172.16.0.0/16 ağına geçiş için 192.168.3.1 geçidini kullan)
sudo route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.3.1
Kalıcı ayarların saklandığı dosya
/etc/network/interfaces
Bu dosyanın eth0 üzerindeki iki statik IP adresi için muhtemel içeriği
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.2
  netmask 255.255.255.0
  gateway 192.168.1.1

auto eth0:0
iface eth0:0 inet static
  address 192.168.2.2
  netmask 255.255.255.0
Bu dosyada bir değişiklik yapıldıktan sonra servisleri tekrar başlatmak için
sudo /etc/init.d/networking restart
DNS sunucuların yazıldığı dosya
/etc/resolv.conf
eth1'i DHCP'den IP almaya ayarlamak için
ifconfig eth1 dynamic
En son DHCP kiralaması ile ilgili bilgilerin saklandığı dosya
/var/lib/dhcp3/dhclient.leases
Kablosuz arayüzler hakkında bilgi almak için
iwconfig
Etraftaki kablosuz ağları aramak için
iwlist wlan0 scan
Ubuntu CD'sinin sürümünü bulmak
Kurulu bir Ubuntu sistemin sürümünü bulmak için
cat /etc/lsb-release
olduğunu biliyordum. Ama üzerinde hiçbir şey yazmayan bir Ubuntu CD'sinin sürümünü nasıl bulacağımı yeni öğrendim. Bunun için CD'nin içindeki dists klasörünün altında sürüm kod adına ait (örneğin lucid) bir klasör bulunur. Bu klasörün içinde de Release dosyasında ayrıntılı bilgiler vardır.

19.03.2010

Grub2 menüsünde değişiklik yapmak

Microsoft'a boot.ini'yi kaldırıp yerine bcd'yi koydu diye kızarken linux dünyasında da grub'dan grub2'ye geçiş oldu. Artık Linux'ta da boot menümüzü basit bir metin dosyasını düzenleyerek değiştiremeyeceğiz.

Şu anda Ubuntu kurulumunda v1.97beta4 aşamasında olan grub2 projesi, önceki sürüme göre bazı yenilikler içeriyor. Ayrıntılar için bu linke gözatabilirsiniz. Pratik olarak farklarına gelirsek, artık /boot/grub/menu.lst dosyası yok. Bu dosyanın artık elle değiştirilmemesi öneriliyor. Onun yerine şu tavsiye ediliyor:
Eski menu.lst'nin bazı bölümlerden oluştuğunu düşünelim. Bu bölümlerin her birini ayrı ayrı metin dosyalarında düzenleyeceğiz. Sonra da bunları derleyip /boot/grub/grub.cfg dosyası oluşturacağız. Ama bu dosyayı update-grub komutu bizim yerimize oluşturacak. update-grub'ı çalıştırmak için root yetkileri gerek. Ama root ile bile olsa grub.cfg'yi elle değiştirmememiz önemli. menu.lst'nin bazı bölümlerden oluştuğunu düşünelim demiştim. Bu bölümler /etc/grub.d altında şöyle sıralanmış:
  • 00_header
  • 05_debian_theme
  • 10_linux
  • 20_memtest86+
  • 30_os-prober
  • 40_custom
00_header ve 05_debian_theme'i geçip 10_linux'a gelelim. Bu kısım, mevcut linux kurulumuna ait açılış menüsü. Örneğin kernel 2.6.24 sürüm çekirdek ile kurup, ardından 2.6.26 güncellemesi yaptıktan sonra bu iki çekirdek sürümü de ekranda bu satır aracılığıyla gözükecek.
Bunun altındaki 20_memtest86+ satırı da grub menüsünde görünecek bellek testi satırı. Bunu görüntülemek istemiyorsanız bu dosyanın execute yetkilerini almak yeterli. Yani komut satırından
sudo chmod -x 20_memtest86+
ile bunu yapabiliriz. 30_os-prober ise, grub2'nin bilgisayarda kurulu diğer işletim sistemlerinden haberdar olmak için yaptığı taramanın sonucunda bulduğu bilgileri menüye eklemesi için. Bilgisyarınızda bir Windows kurulumu varsa bu kuruluma ait bir chainloader komutu muhtemelen grub2 menünüzde gözükecektir. Eğer gözükmesini istemiyorsanız aynı şekilde bu dosyanın da execute yetkilerini kaldırabilirsiniz. Ama örneğin Windows kurulumunun başlığını (menüde gözüken adını) değitşrimek istiyorsanız bunu 30_os-prober dosyasını düzenleyerek yapamazsınız. Çünkü bu dosyanın içi boş. Menüde gözüken Windows girdisi, update-grub'ı çalıştırdığınız anda oluşturulacak ve doğrudan /boot/grub/grub.cfg dosyasına yazılacak. Bu işi yapmak için 40_custom'a giriş yapmanız gerek.
Eğer os-prober'ın bulamadığı girişleriniz varsa, veya os-prober'ın bulduklarını beğenmiyor ve kendi girişlerinizi yapmak istiyorsanız bunları yazacağınız yer 40_custom dosyası. Biraz önceki örneğimize devam edelim. Mesela grub2 menüsündeki Windows girdisine ait başlığı beğenmedik ve Windows XP SP2 yazmasını istiyoruz. Bu durumda öncelikle 30_os-prober'ın execute yetkilerini kaldırmak, ardından da şuna benzer satırları 40_custom dosyasının sonuna eklemek gerek.
menuentry "Windows XP SP2" {
set root=(hd0,2)
chainloader +1
}
Dosyayı kaydedip kapattıktan sonra komut satırından
sudo update-grub
komutunu vererek /boot/grub/grub.cfg dosyasını güncellemek gerek.

Örnek eski grub (grub legacy deniyor) ile yeni grub (grub2) menüsündeki öğeler arasındaki farkları aşağıdaki resim aracılığıyla gösterebiliriz sanırıım.


Bir nokta da grub2 menüsünün ayarları ile ilgili. Örneğin Ubuntu menüsünde gözüken recovery mode girdilerini görmek istemiyorsanız, bunu /etc/default/grub dosyasını root yekileriyle açıp en sondaki recovery ile ilgili satırın başındaki # karakterini silip şu şekilde bırakarak

GRUB_DISABLE_LINUX_RECOVERY=true

yapabilirsiniz. Veya menünün gösterilme zamanını (default 0)
GRUB_TIMEOUT=10
gibi bir satırla, veya menüdeki varsayılan girdiyi değiştirmeyi de
GRUB_DEFAULT=3
gibi bir satırla yapabilirsiniz.

Pardus'ta grafik arayüzün başlayamaması

Birçok Pardus kurulumunda bir güncellemenin ardından ilk yeniden başlatma girişiminden sonra başıma gelir bu. Grafik arayüz başlatılamaz, siyah ekranda kullanıcı adı sorar. Yetkili kullanıcı ile giriş yapar, startx ile X'i başlatmayı denerim. Ama ekranda
(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!
ve/veya
(EE) Screen(s) found, but none have a usable configuration.
hatası belirir ve kolay kolay da gitmez. Hatanın ayrıntısını /var/log/Xorg.0.log dosyasında da görebiliriz. Grafik arayüze dönmek için /etc/X11 klasörünün altındaki xorg.conf dosyasının adını değiştirip örneğin xorg.conf-sorunlu yapıp, daha önce otomatik olarak yedeklenmiş xorg.conf-backup gibi adlandırılmış dosyayı bunun yerine koyarım. Genelde bu çözüm olur. Sonrasında startx ile X başlar, ama grafik kartının üretici tarafından geliştirilen kapalı kodlu sürücüleri devre dışı kalır, beni açık kodlu sürücülerle başbaşa bırakır. Bir oyun fanatiği olarak bununla yetinmek istemeyince de insanın canı sıkılır, saatler bilgisayar karşısında geçer.
Nihayet bugün, yine aynı olayın yaşanmasının ardından önemli bir sonuca ulaştım. Bu hata, aslında ekran kartı sürücülerimin mevcut çekirdeğimle uyumsuz olmasından kaynaklanıyormuş. Ekran kartımın üretici firması tarafından piyasaya sürülen kapalı kodlu sürücüleri belli bir çekirdek sürümü için yayınlanıyormuş. Elbetteki ben eğer o çekirdek sürümünü kullanmıyorsam bu, X'in başlmamamasının pekala sebebi olabiliyormuş. Bunu ben demiyorum; X'in sitesi söylüyor:

Q: My X server fails to start, and my Xorg log file contains the error: "(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!"
A: Nothing will work if the NVIDIA kernel module doesn't function properly. If you see anything in the X log file like "(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!" then there is most likely a problem with the NVIDIA kernel module. First, you should verify that if you installed from rpm that the rpm was built specifically for the kernel you are using. ...
Pardus depolarındaki en son çekirdek sürümünü yükleyip kullanmaya başladıktan sonra (elbetteki ekran kartımın sürücülerinin de en yeni sürüm yapıp) sorun çözüldü.

17.03.2010

Dual boot Ubuntu ve Pardus (grub2 sorunu)

Ubuntu 9.10 sayesinde grub2 ile tanıştım. Ama birkaç kez denememe rağmen kurulum sonrasında Pardus'un açılmadığını gördüm. Önce vga mod parametresine takıldım. Şöyle bir hata mesajı ile boot sonlanıyordu:

vga=0x314 is deprecated. Use set gfxpayload=800x600x16 before linux command instead.
error: file not found


Press any key to continue...

Çaresiz grub2 ekranında "e" tuşuna basarak edit moduna girdim. Bahsettiği gibi gibi vga=0x314'ü silip, bir üst satıra yeni bir giriş yaparak set gfxpayload=800x600x16 yazdım. "Ctrl+x" ile tekrar boot etmeyi denediğimde ise bazı kodlarla birlikte

error: file not found

Press any key to continue...

hatası ile karşılaştım. Daha önceki bir single boot bir Pardus kurulumunun Grub'ı ile Ubuntu'nun Grub2'sini karşılaştırdığımda Grub2'de initrd'nin önünde gereksiz bir (hd0,3) bölümünün olduğunu gördüm. Bunu kaldırdığımda Pardus açılmaya karar verdi. Ama bu sefer de splash=silent konusu var. Pardus artık eskisi gibi şu şekilde değil
bu şekilde
açılıyor. Ne yaptıysam eski silent splash ekranıma dönemedim.

12.03.2010

OpenOffice'te varsayılan dosya tipini belirlemek

Bir ara OpenOffice için varsayılan dosya kaydetme formatının .doc veya .xls olarak nasıl değiştirilebileceğini düşünüyordum. Microsoft Office programları OpenOffice dosya formatlarını açamadığından (en azından Office 2007 SP2 öncesi böyleydi) OpenOffice kullanıcıların dosya kaydederken doc ve xls olarak kaydetmesi gerekiyordu. Ve şimdi bunun nasıl yapıldığını buldum. Herhangi bir OpenOffice uygulaması açıkken Araçlar menüsünden Seçenekler komutunu verin (Tools>Options)


Açılan pencerenin sol menüsünde Yükle/Kaydet (Load/Save) kısmını genişleterek bunun altındaki Genel kısmına tıklayın. Sağ taraftaki bölümde alt kısımda "Belge Türü" ve "Her zaman farklı kaydet" kısımlarını her dosya tipi için ayarlamamız gerek. Örneğin OpenOffice Writer ile hazırlanan belgeleri varsayılan olarak .doc dosyası olarak kaydetmek için "Belge türü" combobox'ından "Metin belgesi", "Her zaman farklı kaydet" combobox'ından da "Microsoft Word 97/2000/XP" seçimini yapın ve Tamam'a basın. Bu adımdan sonra her Writer belgesini .doc olarak kaydedecektir.


Benzer şekilde OpenOffice Calc ile hazırlanan belgeleri de .xls dosyası olarak kaydetmek için de "Belge türü" combobox'ından "Hesap tablosu", "Her zaman farklı kaydet" combobox'ından "Microsoft Excel 97/2000/XP" seçimini yapın ve Tamam'a basın. Bu adımlardan sonra da her Calc belgesini .xls olarak kaydedecektir.


Bu ayarları çok sayıda bilgisayara uygulamak isteyenler için MyDigitalLife sitesinde bir çözüm önerilmiş. OpenOffice 2.0 sürümü için

C:\Program Files\OpenOffice.org 2.0\share\registry\modules\org\openoffice\Setup

klasöründeki setup-writer.xcu, setup-calc.xcu ve setup-impress.xcu dosyalarındaki
<prop oor:name="”ooSetupFactoryDefaultFilter”">
satır(lar)ının altındaki satır(lar)ı Writer için
<value>MS Word 97</value>
ve Calc için de
<value>MS Excel 97</value>
şeklinde değiştirmemiz öneriliyor. OpenOffice 3.x için bu dosyalar

C:\Program Files\OpenOffice.org 3\Basis\share\registry\modules\org\openoffice\Setup

klasöründe. Ama bu dosyaları değiştirerek aynı sonuca ulaşmayı denemedim.

7.03.2010

DLNA üzerine başka incelemeler

Tyler78'in yorumu sonrasında kendi blog'unda DLNA ile ilgili incelemelerini okudum. Samsung'un PC Share Manager'ini beğenmediğini söylemiş ve benim bahsettiklermin dışında iki farklı DLNA sunucu bulmuş: Serviio ve Wild Media Server. İki yeni program öğrendiğim için çok sevindim; ikisi de güzel görünüyor. Wild Media Server'ın transcoding özelliği de varmış ama ona ihtiyaç duymadığı için incelemediğini söylemiş. İlk firsatta transcoding'i denemek istiyorum.

5.03.2010

Media player alternatifi : Western Digital TV serisi

Harici media player piyasasında herhalde ilk gördüğüm ürün Western Digital'in WD TV HD serisi. Hem güzel bir tasarımı var, hem de yetenekli. Ama piyasada gördüğüm iki farklı ürünün birbirinden ne farkı var diye yaptığım bir aramada ulaştığım sonuçları burada paylaşmak istedim. Buna göre piyasada WD TV HD ile WD TV HD Live adlarıyla gördüğüm cihazların bir de WD TV Mini'leri varmış. Bunu sanıyorum hiç görmemiştim. İşte bu ürünlerin farkları:

ÖzellikWD TV miniWD TV HDWD TV HD Live
ÇözünürlükDVD kalitesinde
(480p, 1080i upscale)
Full HD
(1080p)
Full HD
(1080p)
Youtube, Flikr'dan içerik oynatma yokyokVar
Ev Ağı'ndan içerik oynatma (DLNA)yokyokVar
Aynı anda İki USB disk erişimiyokVar Var
HDMI 1.3 çıkışıyokVar Var
Component video çıkışıVar yok Var
Real Media desteğiVar yokyok

Buna göre 480p üzerinde filmleri oynatmak için WD TV mini kullanılamıyor; WD TV HD veya WD TV HD Live almak gerek. Ama üstüne bir de Youtube, Flikr'dan içerik oynatmak istiyorsanız veya DLNA destekli bir ürün almak istiyorsanız bu durumda WD TV HD Live almanız gerek. Samsung B650 serisi, WD TV HD Live'ın tüm özelliklerini sunuyor.

1.03.2010

Vista'da kopyalama hızı hatası

Windows Vista, önceki Windows sürümlerinden farklı olarak, dosya kopyalama işlemlerinde kopyalama hızını da gösteriyor. Ancak bu hız, karşılaştığım çok sayıda durumda yanlış ölçülüyor. Mark Russinovich'in makalesinde belirttiği gibi, aslında en temel işletim sistemi işlevi olan dosya kopyalama, çok basit bir işlem gibi gözükse de arka planda çok karışık işlemlerin yapıldığı bir iş. Ve, Microsoft mühendislerinin kopyalama performansını artırmak için çok çalışmış olmalarına rağmen, hala Vista'da bazı sorunlar var. Karşılaştığım durumlarda kopyalama işlemi ile ilgili gerçek bir sorun olmamasına rağmen, dosya kopyalama penceresinde hız yanlış ölçülüyordu. Bunu birden fazla bilgisayarda, birçok kez yaşadım. Ve hemen ekran görüntülerini aldım. İşte bunlardan bazıları.

İki farklı disk arasında kopyalama işleminde dosya kopyalama penceresi 1,49 MB/saniye hız gösterirken, arka planda açık duran Performance Monitor'da hedef diske yazma hızının 27 MB/saniye civarında olduğu gözüküyor. Kopyalanan verinin miktarına ve kopyalama işleminin toplam süresine bakınca Performance Monitor'un gösterdiği hız doğru.


Biraz sonra durum daha da vahim hale geliyor. Aynı kopyalama işleminde kopyalama penceresi hızı 0 byte/saniye gösterirken, Performance Monitor 26 MB/saniye olarak doğru hızı gösteriyor.



Bu resimde ise kopyalama penceresinde hız sadece 113 KB/saniye olarak gözüküyor. Ama arka plandaki Performance Monitor penceresi öyle demiyor: yine 26 MB/saniye civadında. Ayrıca kopyalanan veri toplam miktarını gösteren aşağıdaki çubuk da sanki işin büyük bir kısmı tamamlanmamış gibi gösterse de aslında durum bu değil; toplam kopyalanan veri miktarı daha fazla.



Bunun neden olduğuna dair bir şey bulamadım. Google'da yaptığım aramalarda hep, Vista'nın SP1 öncesinde eleştirildiği yavaş kopyalama performansı ile ilgili şikayet ve çözüm önerileri ile karşılaştım. Bu işlemleri yaptığmı makinelerin en son service pack seviyesinde olduğunu da söylemeliyim. Hala konuyla ilgili çözüm önerileri arıyorum.