Linux-Pardus 855resolution ile intel chipsetli laptoplarda çözünürlük

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

Intel chipsetli laptoplardaki çözünürlük sorunu forumda daha önce uzun süre tartışıldı hatta adresine bug olarak bildirilip çözüm arandı. Forumdaki yazılara bakıldığında genellikle pardus 1.0 için bu konuda çözümler mevcut. Fakat Pardus 1.1 ile yeni bir servis sistemi sisteme adapte edildiğinden buradaki çözümlerin çoğu ne yazık ki artık geçersiz hale geldi. Yukarıdaki adreste de Onur Bey'in dediği gibi bu sorun umuyoruz ki kararlı sürüme kadar düzeltilecek. Fakat bu sorun düzeltilinceye kadar da biz istediğimiz çözünürlükten mahrum kalmayacağız tabii Smile Biraz uğraştıktan sonra yukarıdaki adreste aklıma gelen ve geçici çözüm olarak bahsettiğim şey gerçekten işe yarıyor. Fakat biraz daha Smile düşündükten sonra aklıma daha da güzel ve sorunsuz bir çözüm geldi. Eğer adresinde önerdiğim çözümü şu an için uygulamış arkadaş varsa en kısa yoldan önce pisi it 855resolution komutu ile bu paketi depodan tekrar kurup orjinal hale getirmeliler. Çünkü artık başka bir çözüm bulduk ve service kdebase restart komutunu kullanmamıza gerek kalmadı. Çözüm için aşağıdaki komutları boş bir dosyaya kopyalayıp adını da service.py olarak değiştiriyoruz:


from comar.service import *
import os

serviceType = "local"
serviceDesc = "KDE Desktop Environment"
serviceDefault = "on"

def configure():
if not os.path.exists("/etc/X11/xorg.conf"):
run("/sbin/zorg.py")

def setLang():
lang = os.environ["LC_ALL"].split("_")[0]
data = file("/usr/kde/3.5/share/config/kdm/kdmrc").read().split("\n")
for line in data:
if line.startswith("#Language=") or line.startswith("Language="):
oldlang = line.split("=")[1]
if oldlang != lang:
f = file("/usr/kde/3.5/share/config/kdm/kdmrc", "w")
for line in data:
if line.startswith("#Language=") or line.startswith("Language="):
f.write("Language=%s\n" % lang)
else:
f.write(line+"\n")
break

def status():
return checkDaemon("/var/run/kdm.pid")

def start():
call("System.Service.start", "acpid")
call("System.Service.start", "dbus")
run("/usr/sbin/855resolution 5c 1280 800")
configure()
loadEnvironment()
setLang()
os.environ["XAUTHLOCALHOSTNAME"]=os.uname()[1]
ret = run("/sbin/start-stop-daemon", "--start", "--quiet", "--exe", "/usr/kde/3.5/bin/kdm")
if ret == 0:
notify("System.Service.changed", "started")

def stop():
ret = run("/sbin/start-stop-daemon --stop --quiet --exe /usr/kde/3.5/bin/kdm")
if ret == 0:
notify("System.Service.changed", "stopped")



Burada koyu ile yazılmış 5c 1280 800 ifadelerine dikkat. Komut satırından su komutunu verip şifremizi giriyoruz ve ardından 855resolution -l ile tüm modları görüntülüyoruz. Burada listelenen değerler içinde kullanmayacağımız bir çözünürlüğü seçip (32 bit olanlar içinden) onun kodunu alıyoruz, örneğin 5c gibi. Genellikle 5c uygun bir değerdir. 1280 800 ise burada bu çözünürlüğün yerine geçecek olan asıl istediğimiz çözünürlüktür. Örneğin eğer bilgisayarımızın 1400 1050 gibi yüksek birçözünürlükte açılmasını istemiş olsaydık o zaman buradaki değerler 1400 1050 olmalıydı. Dosyamızdaki koyu renkle işaretli yerleri bu şekilde kendimize uyarladıktan sonra konsoldan bu dosyanın olduğu klasöre geliyoruz ve:

sudo hav register System.Service kdebase service.py

komutunu veriyoruz.

Result id=1, arg=[registered] çıktısını almışsak işlem tamam demektir, restart atıyoruz.

Artık laptop'muzun istediğimiz çözünürlükte açılması gerekir. Umarım işe yarar. Bu arada son bir hatırlatma bu çözüm sadece intel chipsetler için geçerlidir. Ati ve Nvidia ekran kartı olan arkadaşlar bunu uygulamamlılar. Uygulasalar da bişey değişmeyecektir zaten :cool

python dosyası düzgün görünmüyor bu yüzden bu dosyayı burdan alıp kopyalamak yerine adresinden indirip üzerinde yukarıdaki koyu harflerle yazılmış yerleri bulup değiştiriyoruz. Ve gerisi aynen...
__________________