Mengubah kecerahan saat startup

8

Lenovo T440s saya memulai dengan kecerahan maksimum. Mengikuti utas ini saya telah mencoba untuk mengubah rc.local, tetapi ini tidak berhasil.

Ketika saya menjalankan perintah cat /sys/class/backlight/acpi_video0/brightnesssaya mendapatkan output 851. Lalu saya menurunkan kecerahan secara manual melalui tombol cepat dan menjalankan perintah lagi - itu masih terlihat 851.

Ini membuat saya percaya bahwa saya tidak dapat mengontrol kecerahan saya dengan cara ini hanya dengan menambahkan perintah rc.local.

Apakah ada hal lain yang bisa saya coba?


Inilah konten grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="2"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"

Ini rc.localisinya

#!/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.

#echo 2 > /sys/class/backlight/acpi_video0/brightness
#echo 2 > /sys/class/backlight/intel_backlight/brightness

#xrandr --output eDP1 --brightness 0.3
rfkill block bluetooth
#echo 3 > /sys/class/backlight/thinkpad_screen/brightness
exit 0
BillyJean
sumber
coba jawabanku, itu akan berhasil
nux

Jawaban:

6

Sudahkah Anda mencoba menggunakan beberapa perangkat lunak untuk menghindari berurusan secara manual dengan sistem file sys? Saya sarankan menggunakan xbacklight.

xbacklight -set 10

Perintah ini akan mengatur kecerahan layar menjadi 10%. Anda dapat menambahkannya ke rc.local Anda.

Sunting : Jika prosedur di atas tidak berfungsi mungkin ada beberapa masalah antara kernel dan bios acpi. Edit file:/boot/grub/menu.lst

Tambahkan parameter berikut ke konfigurasi default: thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

Baris default seharusnya terlihat seperti ini:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor"

Simpan file yang dimodifikasi dan jalankan:

sudo update-grub

Nyalakan ulang dan periksa apakah xbacklight berfungsi

Swordfish90
sumber
Saya mencoba perintah itu di terminal dan sama sekali tidak mengubah lampu latar (mencoba banyak nilai, 10, 40, ...). Saya juga menambahkannya rc.local, tetapi tidak mengubah apa pun saat reboot.
BillyJean
Sepertinya ada sesuatu yang "menghalangi" saya untuk mengubahnya melalui perintah
BillyJean
Diedit jawabannya, periksa apakah ini menyelesaikan masalah Anda ...
Swordfish90
Saya tidak memiliki sebuah file bernama menu.lstdi/boot/grub
BillyJean
1
Maaf atas respons yang terlambat ... Bagaimanapun, untuk beberapa alasan saya pikir Anda menggunakan versi LST dari ubuntu. Dalam versi terbaru file tersebut telah dipindahkan (karena bagian ke GRUB2) ke "/ etc / default / grub" ... Anda dapat menghapus file yang sudah Anda buat dengan aman. Sistem akan mengabaikannya.
Swordfish90
1

Jika Anda menggunakan Gnome 3 atau Unity -

Periksa cabang master dari https://github.com/ishanthilina/setBrightness .

Jika Anda menggunakan Gnome 2 -

Periksa cabang Gnome2 dari https://github.com/ishanthilina/setBrightness .

Ini adalah skrip python menyelesaikan masalah Anda.

Perintah yang akan diberikan dalam aplikasi startup adalah "python ////setBrightness.py <Brightness level>".

Contohnya adalah python /home/ishan/.setBrightness/setBrightness.py 20. Jika Anda tidak menentukan tingkat kecerahan, skrip akan mengubah tingkat kecerahan sesuai dengan waktu hari itu. Jika antara 07:00 dan 20:00, skrip akan membuat kecerahan diatur ke 75.

Jika antara 8 malam dan 7 pagi, skrip akan membuat kecerahan diatur ke 20. Anda dapat mengedit tingkat kecerahan ini dengan mengubah variabel day_level dan night_level masing-masing.

sumber

Maythux
sumber
1

Dari kata-kata pertanyaan Anda, saya pikir Anda hanya mencoba mengendalikan kecerahan /sys/class/backlight/acpi_video0/brightness, tetapi mungkin ada kecerahan lain yang mengendalikan file semu di /sys/sistem file Anda . Lihat jawaban saya di sini , yang saya simpulkan di bawah ini:

  1. Lari

    tail /sys/class/backlight/*/brightness
    

    akan menampilkan sesuatu seperti

    ==> /sys/class/backlight/acpi_video0/brightness <==
    7
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  2. Sekarang turunkan atau naikkan tingkat kecerahan seperti biasa, dan setelah itu jalankan lagi tail /sys/class/backlight/*/brightness:, akan menampilkan nilai baru, misalnya:

    ==> /sys/class/backlight/acpi_video0/brightness <==
    6
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  3. File yang nomor outputnya di output di atas diubah setelah menyesuaikan kecerahan adalah file yang mengontrol kecerahan Anda, jadi Anda harus menggunakannya.

elang
sumber
Ini berguna! String yang berubah adalah /sys/class/backlight/thinkpad_screen/brightness. Minimal itu ditampilkan 3, maksimal itu ditampilkan 5. Ketika saya mengubah kecerahan secara manual melalui hotkey, panjang bar kecerahan juga hanya berubah sekali meskipun kecerahan fisik berubah 10 level?
BillyJean
1
@BillyJean Maka Anda hanya perlu menggunakannya rc.local. Anda dapat mengikuti jawaban saya yang tertaut untuk instruksi dengan seluruh proses. Saya tidak tahu bagaimana umpan balik grafis ditampilkan untuk perubahan kecerahan, yang bisa buggy. Anda dapat echomengizinkan nilai untuk file pseudo ini dan melihat bagaimana kecerahan berubah (Hanya saja jangan gema nilai di atas maksimum atau di bawah 0, tetapi bahkan jika Anda melakukannya saya pikir itu tidak akan menyebabkan masalah.), Ini adalah juga tertulis di jawaban saya yang lain.
Falcon
Hanya mencoba menambahkan echo 3 > /sys/class/backlight/thinkpad_screen/brightnesske rc.local-file saya , tetapi tidak ada yang berubah saat reboot ... ketika saya menjalankan sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness"tidak ada yang terjadi sama sekali Mungkin ada hubungan antara kedua pengamatan ini?
BillyJean
@ BillyJean Aneh bahwa itu tidak akan mengubah kecerahan. Katakanlah Anda meningkatkan kecerahan ke max jadi cat /sys/class/backlight/thinkpad_screen/brightnesslaporkan 5. Sekarang Anda lakukan sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness". Tidak ada yang berubah? Jalankan lagi cat /sys/class/backlight/thinkpad_screen/brightness, apakah masih melaporkan 5 atau diubah menjadi 3?
Falconer
1
@BillyJean Strange.
Falconer
0

Ini jelas merupakan masalah Kompatibilitas Kernel dengan beberapa Hardware , dan saya hanya ingin Anda mencoba solusi ini:

  1. Cadangkan dan buka file grub . Buka terminal ( Ctrl+ Alt+ T) dan ketik:

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. Anda akan menemukan baris ini di jendela yang baru dibuka: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Ubah ke:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. Simpan dan tutup jendela dan perbarui grub Anda:

    sudo update-grub
    
  4. Mulai ulang sistem Anda:

    sudo reboot
    

Jika prosedur di atas tidak berhasil, ulangi langkah yang sama tetapi kali ini cobalah untuk mengubah baris pada langkah 2 dengan ini:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Jawab jika ada yang salah. Jika tidak berhasil, harap edit pertanyaan Anda dan rekatkan konten file grub Anda :cat /etc/default/grub

Saurav Kumar
sumber
Terima kasih, itu tidak berhasil.
Menyisipkan
@ BillyJean: Saya tidak melihat perbedaan. File grub Anda sesuai dengan yang diharapkan. Sudahkah Anda mencoba opsi kedua, mengganti baris GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"? Hanya untuk konfirmasi .. Saya juga ingin Anda menjalankan perintah ini setelah sudo update-grubperintah: sudo update-initramfs -udan restart sistem Anda. Jawab apa yang terjadi ..
Saurav Kumar
Ya, saya juga mencoba GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force". Juga mencoba menjalankan sudo update-initramfs -usetelah sudo update-grub, tetapi masih tidak ada setelah reboot
BillyJean
1
@ BillyJean: Saya berharap seseorang akan mencari tahu dan menyelesaikan masalah Anda. Di waktu luang Anda, Anda dapat melalui tautan ini . Semoga itu akan berhasil untuk Anda ..
Saurav Kumar
0

Lalu saya menurunkan kecerahan saya secara manual melalui hotkey dan menjalankan perintah lagi ...

Karena Anda dapat menurunkan kecerahan menggunakan Hokeys, metode dbusatau xdotoolmetode berikut ini akan berfungsi

xbacklight

$ xbacklight +30% # increases brightness by 30 percent
$ xbacklight -30% # decreases brightness by 30 percent

cara dbus

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:<percentage>
Contoh

Setel kecerahan menjadi 30%:

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:30 

Atau
Untuk mengurangi kecerahan dengan langkah (~ 7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepDown

Untuk meningkatkan kecerahan selangkah (~ 7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepUp

Jika dikatakan sebagai berikut, OS Anda mungkin terlalu tua. Kemudian gunakan xdotool:

Error org.freedesktop.DBus.Error.UnknownMethod: 
Method "SetPercentage" with signature "u" on interface 
"org.gnome.SettingsDaemon.Power.Screen" doesn't exist

xdotool

  • Meningkatkan kecerahan:

    $ xdotool key XF86MonBrightnessUp
    
  • Kurangi kecerahan:

    $ xdotool key XF86MonBrightnessDown
    

Setelah berhasil menguji semut dari metode di atas, Anda dapat menambahkannya /etc/rc.local

Cara perangkat lunak
Jika Anda tidak dapat menggunakan metode berikut untuk menyesuaikan kecerahan penutup belakang perangkat keras Anda, kemudian sesuaikan kecerahan perangkat lunak layar Anda.
xrandr --output OUTPUT --brightness VALUE
Sebagai contoh,
xrandr --output LVDS1 --brightness 0.9
Anda dapat menemukan monitor yang terhubung menggunakanxrandr | grep connected

totti
sumber
Mencoba perintah pertama, itu memberi saya method return sender=:1.7 -> dest=:1.137 reply_serial=2 uint32 100, tidak ada yang terjadi
BillyJean
Output yang Diharapkanmethod return sender=:1.6 -> dest=:1.111 reply_serial=2 uint32 30
totti
Tetapi kecerahan tidak berubah, itu hanya memberi saya output
BillyJean
Saran terakhir Anda dengan xrandrkarya. Menggunakan 0,6 misalnya menurunkannya, dan 1,0 memaksimalkannya. Tetapi jika saya menggunakan 0,5 dan kemudian ingin mengubahnya hingga maks dengan hotkey, maka itu berhenti di ca. 0.8. Jadi masih ada masalah mendasar, tetapi setidaknya ada sesuatu yang berfungsi sekarang
BillyJean
Di mana saya harus menambahkan perintah untuk dijalankan pada saat startup? Saya sudah mencoba /etc/rc.local, tetapi tidak mengubah kecerahan saat startup
BillyJean
0

Saya memiliki masalah yang sama pada t430s saya setelah saya memutakhirkan dari OpenSuse 12.3 (3.7 kernel) ke 13.1 (3.11 kernel). Layar selalu pada kecerahan maksimum saat boot, tetapi kekhawatiran saya yang lebih besar adalah bahwa tombol fungsi kecerahan (biasanya) tidak berfungsi. Xbacklight akan (biasanya) berfungsi, tetapi tidak selalu. Jika saya mengubah kecerahan menjadi 80 menggunakan xbacklight, itu akan berhasil. Jika saya mengubahnya menjadi 70, tidak ada yang akan terjadi sampai saya menekan tombol fungsi pengurangan kecerahan. Maka akan turun menjadi (sekitar?) 70%. Sangat aneh.

Untuk alasan yang tidak berhubungan, saya beralih ke Mint 16 Cinnamon sebelum saya menemukan solusi. Tombol fungsi bekerja dengan baik sekarang, jadi saya belum melihat lebih jauh. (Saya TIDAK menyarankan beralih distro sebagai solusi, BTW!) Sebelum saya beralih, inilah yang saya pelajari:

Saya membaca (di suatu tempat ??) bahwa kernel 3.8 + membahas tren perangkat keras yang terkait dengan Windows 8: Win8 membutuhkan perangkat keras untuk melaporkan kembali 101 tingkat kecerahan; t430 hanya mendukung 16. Saya menduga bahwa kernel "meminta" perangkat keras yang "berpikir" pada 1/16 untuk perubahan kecerahan 1/1! (Tolong jangan mengutip saya tentang ini.)

Alih-alih menggunakan acpi_backlight=vendordi / etc / default / grub, Anda dapat mencoba acpi_backlight="!Windows 2012"- yaitu, katakan "Saya tidak menggunakan Windows 8!" Beberapa orang OpenSuse sukses dengan ini, meskipun tidak satupun dari mereka menggunakan Thinkpads. Cobalah.

Shane Steinfeld
sumber
@BillyJean - Aah - Anda mungkin harus melarikan diri dari tanda kutip sekitar "! Windows2012" atau menggunakan tanda kutip tunggal sebagai gantinya. (I'm n / s!) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=\"!Windows2012\""
Shane Steinfeld
Terima kasih untuk sarannya. Saya mencoba kedua opsi (dengan / tanpa tanda kutip), tetapi sayangnya tidak berhasil. Seharusnya pergi dengan Mac ... :)
BillyJean