คุณจะเปลี่ยนความสว่างสีและความคมชัดของบรรทัดคำสั่งได้อย่างไร


32

ฉันกำลังควบคุมพีซีด้วย SSH และการเขียนสคริปต์ ฉันจะเปลี่ยนความสว่างสีและความคมชัดจากบรรทัดคำสั่งได้อย่างไร

ลอง 1: ล้มเหลว

$ sudo redshift -t 5000:5000 -g .5
Cannot list GNOME panel applets.
Initialization of gnome-clock failed.
Trying next provider...
Latitude and longitude must be set.

ลอง 2: ล้มเหลว

$ cat brightness 
20
$ cat max_brightness 
20
$ echo 1 | sudo tee /sys/class/backlight/acpi_video0/brightness 
1
$ echo 20 | sudo tee /sys/class/backlight/acpi_video0/brightness 

มีทางเลือกอื่นให้ทำอย่างไร?

ติดตาม : http://jonls.dk/redshift/

[command]     [1000K to 10000K]       [effects 0.1 to 10.0]
|       |     /      /                /
^       ^     ^      ^                ^
redshift  -t  1000:1000   -l 0:0  -g .1; Dark
redshift  -t  1000:1000   -l 0.0  -g  5; Bright

ดูaskubuntu.com/questions/57236/?hl=thสำหรับการเปลี่ยนความสว่าง
Lekensteyn

@Lekensteyn: โปรดดูความคิดเห็นที่โพสต์ ไม่ทำงานฉันกำลังใช้งาน 11.04 และลองใช้ echo 0 ถึง 20 ยังคงเหมือนเดิม

โปรดทราบว่าการใช้การแก้ไขแกมม่า (การ-gโต้แย้งกับการเปลี่ยนทางสีแดง) นั้นไม่ได้มีผลเหมือนกับการปรับความสว่าง ( -b)
Dzamo Norton

คำตอบ:


43

หากไดรเวอร์การ์ดแสดงผลของคุณรองรับคุณสามารถใช้งานxrandrได้

คำสั่งต่อไปนี้แสดงรายการการกำหนดค่าปัจจุบัน:

xrandr --current --verbose

หากคุณต้องการเปลี่ยนการกำหนดค่าของเอาต์พุตคุณต้องมีชื่อของเอาต์พุต ชื่อนี้เป็นส่วนหนึ่งของการส่งออกของตัวอย่างเช่นxrandr --currentLVDS1

ความสว่างสามารถเปลี่ยนแปลงได้ดังนี้:

xrandr --output <outputname> --brightness 0.8

แกมมา:

xrandr --output <outputname> --gamma 0.5:1.0:1.0

1
งานนี้ FYI: แล็ปท็อปรุ่นใหม่ใช้ eDP
nwgat

ฉันพบว่าฉันไม่จำเป็นต้องใช้verboseตัวเลือก
David Oliver

2
มันจะมีประโยชน์หากเห็นตัวอย่างของเอาต์พุตสำหรับ "xrandr --output <outputname> --brightness 0.8"
ไฮดรอกไซด์

17

xrandr จะไม่เพิ่มความสว่างของหน้าจอในระดับฮาร์ดแวร์ (สิ่งที่เปลี่ยนโดยปุ่มความสว่างหน้าจอแล็ปท็อป) ตามที่คู่มือ xrandr พูดว่า:

- ความสว่างสดใส

คูณค่าแกมมาบน crtc ที่ต่อกับเอาท์พุทเป็นค่าลอยตัวที่ระบุ มีประโยชน์สำหรับเอาต์พุตที่สว่างมากหรือมืดเกินไป อย่างไรก็ตามนี่เป็นการแก้ไขซอฟต์แวร์เท่านั้นหากฮาร์ดแวร์ของคุณรองรับการเปลี่ยนความสว่างได้จริงคุณอาจต้องการใช้ xbacklight

ใช้xbacklightเพื่อเปลี่ยนความสว่างแทน:

xbacklight -get #get the current level
xbacklight -set *percent* #set brightness to a given percentage
xbacklight -inc *percent* #increase by a given percentage
xbacklight -dec *percent* #decrease by a given percentage

อย่างไรก็ตามเนื่องจากเป็นเช่นเดียวกับการใช้ปุ่มปรับความสว่างแล็ปท็อปจึงไม่สามารถเกินขีด จำกัด 0-100% หากคุณต้องการทำให้หน้าจอของคุณสว่าง / มืดลงเกินขีด จำกัด ดังกล่าวคุณสามารถใช้ xrandr เพื่อบังคับระดับความสว่างของซอฟต์แวร์:

xrandr --output LVDS1 --brightness 0.5

โปรดทราบว่าxrandrยอมรับเศษส่วน (0.0-1.0) ในขณะที่xbacklightยอมรับเปอร์เซ็นต์ (0-100)


3
ในกรณีของฉันxrandr --output eDP1 --brightness 0.2วิธีการทำงานได้ดีในขณะที่xbacklight -set 20ล้มเหลว
landroni

1
ยอมรับเศษส่วน (0.0-1.0)ทำให้เข้าใจผิด สำหรับ DisplayPort TB3 ภายนอกไปยัง HDMI ของฉันทำงานได้ดี:xrandr --output DP-1-1 --brightness 1.2
WinEunuuchs2Unix

@ WinEunuuchs2Unix ใช่ตั้งค่า> 1.0 ตัดขอบเขตช่วงการแสดงผลเพื่อแลกกับการเพิ่มความสว่างโดยรวม ในคำอื่น ๆ ที่คุณสูญเสียรายละเอียดในพื้นที่สว่าง
Wil

สิ่งนี้เกี่ยวข้องกับอุณหภูมิของจอภาพหรือไม่? ฉันหมายถึงxrandrถ้ามันมืดกว่านั้นควรจะเย็นกว่าการใช้เครื่องมืออื่น? ฉันกลัวว่าจอภาพของฉันอบอุ่นเกินไป
Sigur

7

สำหรับแล็ปท็อปฉันเพิ่งเรียนรู้จากman xrandr:

   --brightness brightness
          Multiply  the gamma values on the crtc currently attached to the
          output to specified floating value. Useful for overly bright  or
          overly  dim outputs.  However, this is a software only modifica‐
          tion, if your  hardware  has  support  to  actually  change  the
          brightness, you will probably prefer to use xbacklight.

ดังนั้นฉันจึงพยายาม

xbacklight -get
xbacklight -set 70

และมันใช้งานได้!


5

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

redshift -t 5000:5000 -l 55.7:12.6 -g .5 

แม้ว่าอาจจะเป็นการใช้ redshift ที่แปลกใหม่ :)

มันทำงานได้ดีโดยไม่ต้อง sudo


+1 ที่ทำอุบายเล็กน้อยจริง ๆ แต่จริงๆแล้วฉันกำลังมองหาวิธีเดียวกันกับการปรับแต่งความสว่าง RAW + สี + แกมม่า

3

ฉันใช้สคริปต์นี้เพื่อตั้งค่าความสว่างบนจอแสดงผลทั้งหมดของฉันในครั้งเดียว:

#!/bin/bash
if [ -z $1 ]; then
    echo "Usage: brighntess BRIGHTNESS"
    echo "BRIGHTNESS is a float (0.0-1.0)"
else
    xrandr --listmonitors | grep "^ " | cut -f 6 -d' ' | \
    xargs --replace=MONITOR xrandr --output MONITOR --brightness $1
fi

2

เปลี่ยน VGA-1 ด้วยอุปกรณ์ของคุณ

xrandr --listmonitors
Monitors: 1

0: + * VGA-1 1366 / 410x768 / 230 + 0 + 0 VGA-1

xrandr --output VGA-1  --brightness 1   (for 100% brightness)
xrandr --output VGA-1  --brightness 1.5 (for 150% brightness)
xrandr --output VGA-1  --brightness 2   (for 200% or double brightness)
xrandr --output VGA-1  --brightness 4 (for 400% brightness)

ระวังด้วย 0 (คุณจะต้องรีสตาร์ท Xorg):

xrandr --output VGA-1  --brightness 0 (for Blank Screen)

xrandr --output VGA-1  --brightness 0.8 (for 80% brightness)

ใช้งานได้บนจอ LCD / LED ปกติเนื่องจากไม่รองรับความสว่างของฮาร์ดแวร์เช่นแล็ปท็อป


0

นอกจากนี้ยังมีDDC / CIและไคลเอนต์ linux: ddccontrol (และ, gddccontrol สำหรับ GUI)

Tt's ในที่เก็บอูบุนตูอย่างเป็นทางการ:

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