จะบันทึกการตั้งค่าความสว่างได้อย่างไร?


15

หลังจากฉันอัพเกรดโน้ตบุ๊กเป็น ubuntu 12.04 ฉันพบว่าฉันไม่สามารถบันทึกการตั้งค่าพลังงานได้ ทุกครั้งที่ฉันตั้งค่าความสว่างของหน้าจอเป็น 70% จะคืนค่าเป็น 100% ในครั้งต่อไป ฉันหาปุ่มบันทึกบนแผงการตั้งค่าพลังงานใหม่ไม่ได้ (ขออภัยที่ฉันไม่สามารถโพสต์ภาพหน้าจอได้ในขณะนี้) ใครสามารถบอกวิธีการบันทึกการตั้งค่านี้ได้ไหม ขอบคุณ

คำตอบ:


16

หากคุณเพียงแค่เปลี่ยนและบันทึกความสว่างของหน้าจอเท่านั้นคุณสามารถใช้ xbacklight

     sudo apt-get install xbacklight

หลังจากติดตั้งแล้วให้พิมพ์คำสั่งเพื่อตั้งค่าความสว่างหน้าจอได้อย่างง่ายดาย

     xbacklight -set `num`

numคือเปอร์เซ็นต์ของความสว่างหน้าจอของคุณ

วิธีที่ง่ายกว่าในการตั้งค่าความสว่างและความเปรียบต่าง

     sudo setpci -s `00:02.0` F4.B=`XX` 

เพื่อตั้งค่าความสว่าง00:02.0เป็นรหัสอุปกรณ์ VGA ของคุณ XXคือรูปแบบเลขฐานสิบหกที่ 00 ถึง FF

ใช้lspciคำสั่งเพื่อค้นหารหัสอุปกรณ์ VGA ของคุณ

     xgamma -gamma `X`

เพื่อตั้งค่าความเปรียบต่างXตั้งแต่ 0 ถึง 1


โอ้ตอนนี้ฉันแค่ต้องการบันทึกการตั้งค่าความสว่างหน้าจอของฉัน ขอบคุณ Teifi :)
บอริส

2
ฉันไม่อยากจะเชื่อเลยว่าไม่มี GUI สำหรับสิ่งนี้ Ubuntu ควรเป็นลินุกซ์สำหรับมนุษย์ ขอบคุณสำหรับทิป!
umpirsky

ระวังเกี่ยวกับการใช้ setpci สำหรับสิ่งนี้ สำหรับรายละเอียดดูaskubuntu.com/questions/66751/...
สเตฟานโกริชน

19
  1. ตรวจสอบระดับความสว่างโดยรันคำสั่งนี้เป็นรูท:

    cat /sys/class/backlight/acpi_video0/max_brightness 
    

    (ความสว่างสูงสุดแล็ปท็อปของฉันคือ 20)

  2. ตั้งค่าความสว่างของหน้าจอเป็นระดับต่ำสุดและตรวจสอบระดับปัจจุบันโดยเรียกใช้คำสั่งถัดไป

    cat /sys/class/backlight/acpi_video0/brightness 
    

    (ระดับความสว่างต่ำสุดของแล็ปท็อปของฉันคือ 0;)

  3. แก้ไข/etc/rc.localและเพิ่มก่อน exit 0บรรทัดต่อไปนี้:

    echo YOUR_VALUE > /sys/class/backlight/acpi_video0/brightness
    

จากนี้ไประดับความสว่างนี้จะถูกตั้งค่าทุกครั้งที่คุณเปิดเครื่องคอมพิวเตอร์


ไดเรกทอรีที่มีการตั้งค่าความสว่างอาจมีชื่อแตกต่างกัน ในกรณีของฉัน (ThinkPad T540p, อูบุนตู 14.04.3) /sys/class/backlight/intel_backlight/คือ:
pabouk

ทำงานในการเริ่มต้น แต่ไม่หลังจากไฮเบอร์เนตหรือระงับ Ubuntu 16.04
Craicerjack

8

โดยส่วนตัวฉันชอบเริ่มต้นจากความสว่างฉันมีครั้งล่าสุดที่ฉันใช้คอมพิวเตอร์ นี่คือวิธีที่ฉันได้รับฟังก์ชั่นนั้น:

ขั้นแรกสร้างไฟล์เพื่อเก็บความสว่างหน้าจอระหว่างเซสชัน:

cd /etc/init.d

สัมผัส sudo prev_brightness

sudo chmod o + w prev_brightness

จากนั้นสร้างสคริปต์ที่เก็บความสว่างหน้าจอปัจจุบันของคุณเมื่อปิดลงในไฟล์ที่คุณสร้างในขั้นตอนก่อนหน้า:

sudo touch save_screen_brightness

sudo chmod + x save_screen_brightness

sudo gedit save_screen_brightness

ใส่สิ่งนี้ลงในไฟล์ที่คุณเพิ่งเปิด:

#! / bin / ดวลจุดโทษ

cat / sys / class / backlight / acpi_video0 / ความสว่าง> /etc/init.d/prev_brightness

ตอนนี้เราต้องทำให้สคริปต์ทำงานทุกครั้งที่เราปิดระบบหรือรีบูตคอมพิวเตอร์:

sudo ln -s /etc/init.d/save_screen_brightness /etc/rc0.d/K99save_screen_brightness

sudo ln -s /etc/init.d/save_screen_brightness /etc/rc6.d/K99save_screen_brightness

ในที่สุดเราจำเป็นต้องโหลดค่าที่เราเก็บไว้เมื่อเริ่มต้นคอมพิวเตอร์:

sudo gedit /etc/rc.local

ใส่นี่ก่อนออก 0 เป็นไฟล์ที่คุณเพิ่งเปิด:

cat /etc/init.d/prev_brightness> / sys / class / backlight / acpi_video0 / ความสว่าง

แค่นั้นแหละ!


ขอบคุณโซลูชันทำงานได้อย่างมีเสน่ห์แม้ว่าจะมีการหยุดชั่วคราวเล็กน้อยก่อนที่การตั้งค่าก่อนหน้าจะยังคงอยู่
Vesnog

3

การใช้ Ubuntu 12.10 โซลูชันที่ Hevilath ให้ใช้ไม่ได้สำหรับฉัน ไม่ว่าฉันจะทำอย่างไรกับ rc.local มันจะไม่ทำงาน

ฉันพยายามเพิ่ม

echo 5 > /sys/class/backlight/acpi_video0/brightness

ก่อนหน้านั้นexit 0และมันไม่ได้ถูกเรียก ฉันจะเพิ่มงบการเข้าสู่ระบบบางอย่าง/etc/rc.localและ/etc/init.d/rc.localและไม่มีอะไรที่ถูกเรียกใช้ในทุก

สิ่งนี้ควรใช้งานได้เพราะ Upstart ยังคงรันสคริปต์ System V รุ่นเก่าตามเวลาที่เหมาะสมเพื่อให้เข้ากันได้

ดังนั้นผมจึงอ่านข้อมูลเกี่ยวกับวิธีการเขียนสคริปต์พุ่งพรวดจากที่นี่

ฉันคิดว่าเนื่องจาก System V ใกล้จะถึงแล้วฉันควรเรียนรู้เกี่ยวกับการพุ่งพรวด

ฉันเขียนสคริปต์ง่าย ๆ เพื่อตั้งค่าความสว่างบนจอภาพสองจอของฉันและทำงานได้โดยไม่มีปัญหา

ตรวจสอบออกที่นี่

สิ่งที่คุณต้องทำคือคัดลอกไฟล์ลงในไดเรกทอรี / etc / init / ของคุณโดยใช้ sudo มันควรจะทำงานเว้นแต่ว่าค่าความสว่างจะถูกสะท้อนไปยังไฟล์ที่ไม่ถูกต้องในกรณีที่มันเป็นการเปลี่ยนแปลงที่ง่าย

หวังว่านี่จะช่วยได้


1
gksudo gedit /usr/local/bin/brightness_changer.py

วางรหัสด้านล่าง

#!/usr/bin/python

import dbus
bus = dbus.SessionBus()
proxy = bus.get_object('org.gnome.SettingsDaemon',
                       '/org/gnome/SettingsDaemon/Power')
iface = dbus.Interface(proxy, dbus_interface='org.gnome.SettingsDaemon.Power.Screen')
iface.SetPercentage(70)

บันทึกไว้ จากนั้นออกคำสั่ง

sudo chmod 755 /usr/local/bin/brightness_changer.py

เปิดแอปพลิเคชั่นเริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่

คลิกเพิ่ม

ป้อนคำอธิบายรูปภาพที่นี่

ให้เส้นทาง/usr/local/bin/brightness_changer.pyในคำสั่งและบันทึก

ตอนนี้เมื่อใดก็ตามที่คุณเข้าสู่ระบบ, 70ความสว่างจะถูกตั้งค่า


ฉันคิดว่าโปรแกรมของคุณอาจเหมาะกว่าสำหรับ Bash แต่ฉันชอบคุณตอบและชอบ Python
Sepero

@virpara: ฉันใช้สคริปต์ของคุณและมันเคยทำงาน แต่มันจะไม่ทำงานอีกต่อไปกับ Gnome 3.10 ฉันหา org.gnome.SettingsDaemon.Power.Screen ด้วย dconf ไม่พบ ความคิดใด ๆ
Swarnendu Biswas

0

ฉันใช้ HP all-in-one PC และฉันไม่สามารถสร้าง xbacklight ให้ทำงานใน rc.local ซึ่งเป็นเหตุผลที่ต้องสำรวจ

ดังนั้นฉันแค่ใส่

xbacklight -set 0

คำสั่งในแอปพลิเคชันเริ่มต้นและช่วยลดความสว่างของหน้าจอหลังจากเข้าสู่ระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.