[Çözüldü] Uygulamalara özel ekran parlaklığı?

Başlatan ignis, 14 Eylül 2012 - 16:58:34

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

ignis

Ubuntu'da yüklü bulunan farklı uygulamaların farklı ekran parlaklığında çalışması mümkün müdür? Daha da doğrusu: Misal, ben ekran parlaklığını bir metin dosyası okurken kısmak ya da film izlerken artırmak ya da masaüstü üzerinde çalışırken belli bir ölçüte getirmek yerine; smplayer için belli bir ekran parlaklığı, belge okuyucu ve libreoffice için belli bir ekran parlaklığı ayarı yapabilir miyim?

6ng4n

#1
Bilmiyorum ama intel tabanlı anakartlarda
/sys/class/backlight/intel_backlight/brightness
dosyasına 0 ile
/sys/class/backlight/intel_backlight/max_brightness
dosyasındaki değer arasında değer vererek ekran parlaklığını ayaralayabiliyorsunuz

Bilgisayarımın kendi parlaklık fonksiyonu çalışmadığı için kendi yazdığım bir betik var isterseniz ulaştırırım.
Yapmanız gereken betik kullanarak başka bir betik yazmak ve uygulamanın başlangıcında parlaklığı kısmak kapanışında açmak.

DÜzenleme Notu: Lütfen imlâ kurallarına uyunuz.

ignis

İlginiz için teşekkürler ama, ben o betiği çalıştıramam, çalıştırmam için de adım adım anlatmanız gerekir, hiç gerek yok. :) Çok özel bir istekti zaten.

furkankalkan

Lover
twitter.com/furkan_kalkan1

ignis

#4
Evet, tam da aradığım bir uygulama ancak, sayfadaki indirme bağlantısına tıkladığımda yazılım merkezinde bulunamadı diyor, paket yöneticisinde de aramama rağmen çıkmadı. sudo apt-get install cuttlefish yazdım yine bir sonuç vermedi. Google'da da tüm bağlantılar yazılım merkezinden yüklemeyi önermiş. Bende çıkmıyor, neden olabilir ki?

Düzenleme:

sudo add-apt-repository ppa:noneed4anick/cuttlefish
sudo apt-get update
sudo apt-get install cuttlefish


şeklinde yükledim. Programda birçok seçenek var, parlaklık ayarı yok ya da ben göremiyorum, üzücü. :)

furkankalkan

Alıntı yapılan: ignis - 15 Eylül 2012 - 11:17:05
Düzenleme:

sudo add-apt-repository ppa:noneed4anick/cuttlefish
sudo apt-get update
sudo apt-get install cuttlefish


şeklinde yükledim. Programda birçok seçenek var, parlaklık ayarı yok ya da ben göremiyorum, üzücü. :)

Parlaklık ayarlarını arkadaşın vereceği scriptle ayarlayabiliriz.
Lover
twitter.com/furkan_kalkan1

6ng4n

#6
Betiği ulaştırayım yardım dosyasını İngilizce yapmıştım ama; gerekli yardımı yaparım bir sorun olursa.
Dosyayı yönetici haklarıyla bir metin düzenleyici açın
misal:

sudo gedit


Betik:

#!/bin/bash
#    scr-backlight a screen backlight utility for ASUS N series laptops
#    Copyright (C) 2012  Ongun Kanat
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
value=$(cat /sys/class/backlight/intel_backlight/actual_brightness)
max=$(cat /sys/class/backlight/intel_backlight/max_brightness)
min=100
default=1100
trhold=100
function set_brightness
{
  case $1 in
    "up")
      incrsed=$(($value+$trhold))
     
      if [ $value -ne $max ]; then
        if [ $incrsed -le $max ]; then
          echo $incrsed>/sys/class/backlight/intel_backlight/brightness
        else
          echo $max>/sys/class/backlight/intel_backlight/brightness
        fi
      fi
    ;;
     
    "down")
      decrsed=$(($value-$trhold))
      if [ $value -ne $min ]; then
        if [ $decrsed -ge $min ]; then
          echo $decrsed>/sys/class/backlight/intel_backlight/brightness
        else
          echo $min>/sys/class/backlight/intel_backlight/brightness
        fi
      fi
     ;;
     
     "status")
      echo $value
    ;;
   
    "setmax")
     echo $max>/sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                                 
    ;;                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    "setmin")                                                                                                                                                                                                                                                                 
      echo $min>/sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                               
    ;;                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    "default")                                                                                                                                                                                                                                                                 
      echo $default>/sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                           
    ;;                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    [0-9]*[0-9])                                                                                                                                                                                                                                                               
          if [ $1 -le $max ]; then                                                                                                                                                                                                                                             
            if [ $1 -ge $min ]; then                                                                                                                                                                                                                                           
              echo $1>/sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                         
            fi                                                                                                                                                                                                                                                                 
          fi                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                               
    ;;                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    "allow")                                                                                                                                                                                                                                                                   
      chgrp users /sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                             
      chmod 664 /sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                               
    ;;                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    "disallow")                                                                                                                                                                                                                                                               
      chgrp root /sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                               
      chmod 644 /sys/class/backlight/intel_backlight/brightness                                                                                                                                                                                                               
     ;;                                                                                                                                                                                                                                                                       
     
         "--help")
      echo  -e "scr-backlight: screen backlight setting utility for ASUS N series laptops \n\n" \
               "Use: scr-backlight [option] | [number]\n\n" \
               "Options: \n" \
               "up       :   increases screen backlight \n" \
               "down     :   decrases screen backlight \n" \
               "setmax   :   sets screen backlight to maximum  \n" \
               "setmin   :   sets screen backlight to minimum \n" \
               "default  :   sets screen backlight to default \n" \
               "status   :   show current brightness value \n" \
               "allow    :   allows users group set brightness values \n"\
               "disallow :   blocks users set brightness values \n" \
               "--help   :   shows this help message \n\n" \
               "Examples: \n" \
               "scr-backlight up \n" \
               "scr-backlight 1200 \n\n" \
               "You can set default value of brightness and increasing|decrasing threshold by editing the default and trhold variables in the script.\n Also you can change value variable to set brightness file in the sysfs.\n" \
               "This script is licensed with GNU/GPL 3.0. Written by Ongun Kanat Version: 0.0.1"
    ;;
     
    *)
     echo "Invalid option. Please try scr-backlight --help for more information."
    ;;
  esac
}

set_brightness $1


Ve /usr/bin/scr-backlight olarak kaydedin.Ardından düzenleyiciden /etc/rc.local dosyasına şu satırları ekleyin

scr-backlight allow

Ve en son betiğe çalıştıma hakkı verin
sudo chmod +x /usr/bin/scr-backlight

yapmanız gereken ilgili program başlarken
scr-backlight 100_ile_maksimum_değer_arası_bir_sayı

maksimum değeri

cat /sys/class/backlight/intel_backlight/max_brightness

ile öğrenebilirsiniz

Temelde kendi ASUS N56 serisi dizüstüm için ArchLinux'ta yazdım ama intel tabanlı anakartlarda çalışabilir. Betikle kullanabileceğiniz diğer seçenekleri
scr-backlight --help ile öğrenebilirsiniz.

monthy_python

@6ng4n ışık ayarı bende de çalışmıyordu, ilk kez gözüm rahat etti binlerce teşekkür  ;D

6ng4n

Bir şey değil. Eğer klavye ışıkları çalışmıyorsa kernel 3.5 yükleyip asus-wmi-dkms paketini kurmanız gerekiyor.
Onun için de bu betiğin bir benzeri mevcut.

monthy_python

Klavyede ışık yok zaten, ekran ışığı yok saymaya çalıştığım can sıkıcı bir sorundu. bir şey soracağım, bir kaç ışık ayarını kısayola koyacağım,
alias az="sudo scr-backlight 1500"
alias orta="sudo scr-backlight 3000"
alias çok="sudo scr-backlight 4648"

gibi; şifremi bu kısayola nasıl eklerim her defasında sormasın diye?

6ng4n

üstte anlattım /etc/rc.local dosyasına

scr-backlight allow


satırını eklerseniz sudo olmadan kullanabilirsiniz. tabi ubuntu rc.local dan dosya başlatmayı hala destekliyordur umarım.

monthy_python

Sanırım desteklemiyor, bilmiyorum.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
scr-backlight allow
exit 0


şeklinde ekledim satırı, yine de komut sudo olmadan çalışmıyor.

Şu sudo'yu kısayol komutuna ekleyebilmenin bir yolu yok mudur? atıyorum:
alias az="sudo scr-backlight 1500 echo %s"
%şifrenin_takendisi

gibi örneğin?

6ng4n

#12
Güvenlik açısından böyle bir şeyin olabileceğini sanmıyorum.
/etc/rc.local dosyanız çalıştırılabilir mi?Emin olmak için şunu deneyin:
sudo chmod +x /etc/rc.local
Ardından bilgisayarı yeniden başlatıp konsoldan:
scr-backlight up
komutunu deneyin(sudo olmadan).Eğer çalışmıyorsa başka bir yol bulmak gerekecek.

heartsmagic

Ben diğer konulara cevap vermeye çalışayım. rc.local Ubuntu üzerinde hâlâ iş görüyor. Fakat bu betiğin orada çalışıp çalışmama meselesini bilmiyorum.

Diğer konuya gelirsek. alias ile yapıp parola kayıt etmektense, bu istediklerini bir betik haline getirip bir dosyaya gömebilirsin. /usr/bin veya /usr/local/bin altına koyabilirsin (gerçi istenildiğinde her yer olabilir). Ardından bu betikler için sudo üzerinden parola sordurmamayı visudo üzerinden sağlarsın.

sudo visudo
ile dosyayı açar ilgili yere meselâ şunu eklersin:
Alıntı Yapmonthy_python ALL=NOPASSWD:/usr/bin/falanca_betik

Artık falanca _betiği çağırdığında parola olmadan kullanacaktır sudo bunu.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

6ng4n

@heartsmagic visudo kullanmamamın sebebi güvenlikti. Betikteki allow komutu sadece ilgili dosyaya users grubu için yazma izni veriyor.
@monthy_python kullanıcınız users'a üyedir herhalde?

Çalışma olayını denemek için /etc/rc.local'a:
scr-backlight status>/home/falanca_kullanici/uygulama_calisti
denenebilir. Eğer "uygulama_calisti" dosyasında o anki parlaklık değeri yazıyorsa işlem tamamdır.

heartsmagic

visudo ile sadece o betiğe izin vermek büyük bir güvenlik açığına sebebiyet vermez, zaten nihayetinde parlaklık ayarlayıcı bir betik sanırım.
Kendisine bakmadığım için neye nasıl izin veriyor bilmiyorum o satır, fakat Ubuntu'da öntanımlı olarak kullanıcı "users" grubuna dahil olmuyor.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

monthy_python

#16
@6ng4n,
scr-backlight up komutu bir şey döndürmedi. (hata da vermedi, değişiklik de olmadı)
scr-backlight 2000komutu:
/usr/bin/scr-backlight: line 67: /sys/class/backlight/intel_backlight/brightness: Permission denied
döndürüyor.

@heartsmagic kısayol yapmayı biliyorum da, betik nasıl yapılır bilmiyorum. .bash_aliases dosyam şöyle:
...
alias 1="sudo scr-backlight 100"
alias 2="sudo scr-backlight 500"
alias 3="sudo scr-backlight 1000"
alias 4="sudo scr-backlight 2000"
...

bu nasıl betik haline getirilir bilmiyorum.
Alıntı yapılan: 6ng4n - 21 Eylül 2012 - 02:02:16@monthy_python kullanıcınız users'a üyedir herhalde
Kullanıcı benim, users'a üye miyim bilmiyorum, tam anlamadım soruyu.

Alias yerine betik yapabilirsem visudo ile hallolacak sanki. (tek kullanıcı benim, güvenlik sorun değil yani.)

Alıntı yapılan: heartsmagic - 21 Eylül 2012 - 02:21:56Ubuntu'da öntanımlı olarak kullanıcı "users" grubuna dahil olmuyor.
Ben kullanıcı grubunda değilim bu durumda.

6ng4n

#17
O zaman betikteki

chgrp users /sys/class/backlight/intel_backlight/brightness

satırını,

chown root:kullanici_adiniz /sys/class/backlight/intel_backlight/brightness

olarak değiştirirseniz sorun çözülür ya da kendinizi users grubuna da ekleyebilirsiniz.
ArchLinux kullandığım için betiği ona göre hazırladım kullanıcılar genellikle kendilerini users'a dahil ediyorlar.

Ekleme: Kullanıcı ve gruplar hk. http://www.linuxogren.com/linux-kullanici-ve-gruplar.html
Ekleme 2: Yeniden başlatmadan betiği çalışır hale getirebilmeniz için
sudo scr-backlight allow yeterlidir.

monthy_python

Kendimi users grubuna nasıl eklerim? (arama yaptım sormadan, valla yok bu konu  :) )

6ng4n

Kendinizi users'a eklemeniz zorunlu değil. Üstteki değişikliği bir metin editörüyle yaparsanız uygulama çalışacaktır.
Ama illaki eklemek istiyorsanız:

sudo gpasswd -a kullanici_adiniz users

Eğer users grubunun olmadığına dair bir uyarı alırsanız:

sudo groupadd users

monthy_python

Yegane kullanıcı olarak "users" içinde olmamak garibime gitti, ondan eklemek istedim  :)
Kısayollar sudo olmadan çalışıyor artık, tekrar teşekkürler.

6ng4n

Bir şey değil. @if çözüldü etiketi ister şimdi :D. Ama @ignis'in sorunu çözülmedi galiba?

ignis

Ben konuyla pek ilgilenemedim ancak, arkadaşın sorunu çözüldüyse etiketi koyalım. İlgi için herkese teşekkürler.

monthy_python

@ignis aslında kısayol ve yukarıdaki betiği kullanarak siz de istediğinizi yapabilirsiniz:
alias gdt="scr-backlight 2000 && gedit"
gibi bir yolla uygulamayı istediğiniz ışıkta uçbirimden çalıştırabilirsiniz örneğin.

cagriemer

@ignis siz sorununuz icin tatmin edici bir cevap aldiysaniz, verilen cevap isinizi gorduyse cozuldu etiketini koyun. Aksi halde koymaniza gerek yok.