Linux——显示屏呈红色

Linux——显示屏呈红色

使用 DVI 输入时,我的显示器似乎略带红色(它是 LCD,不是 CRT)。在 VGA 输入上我可以调整颜色,但在 DVI 上则不行。在 OSX/Windows 上,我会为该显示器创建自定义颜色配置文件,并更改伽玛/等设置,但我似乎无法找到如何在 Linux 下执行此操作。

有没有什么办法可以改变 Linux 下的颜色配置文件(除了购买颜色校准硬件和使用 dispcalgui)?

答案1

输入xrandr --gamma 1:1:1可能会修复该问题。这应该适用于任何基于 X11 的显示系统。

答案2

您可以尝试通过软件进行更改,例如:

$ xrandr --listmonitors
Monitors: 1
 0: +*DP1 3840/600x2160/340+0+0  DP1

$ xrandr --output DP1 --gamma 1:1:1

#or

$ redshift -x -m randr

这将尝试将其重置为默认值,但如果另一个软件像xgamma这样运行:

$ xgamma -rgamma 1.0 -ggamma 0.6949030005552019 -bgamma 0.4310480202110507

那么上述操作xrandr不会重置它(因为 xgamma 没有使用vidmode模式xrandr,见下文),所以你必须使用:

$ xgamma -gamma 1.0
-> Red  1.000, Green  0.695, Blue  0.431
<- Red  1.000, Green  1.000, Blue  1.000

重置它,或者$ redshift -x -m vidmode(见下文)

这取决于每个程序在后台使用哪些函数。但重点是,您可以在这些程序中使用不同的红色、绿色和蓝色数值,并尝试去除红色色调。

还可以redshift像上面两个程序一样改变开尔文色温或 R/G/B 伽马颜色:

$ redshift -h
Usage: redshift -l LAT:LON -t DAY:NIGHT [OPTIONS...]

Set color temperature of display according to time of day.

  -h            Display this help message
  -v            Verbose output
  -V            Show program version

  -b DAY:NIGHT  Screen brightness to apply (between 0.1 and 1.0)
  -c FILE       Load settings from specified configuration file
  -g R:G:B      Additional gamma correction to apply
  -l LAT:LON    Your current location
  -l PROVIDER   Select provider for automatic location updates
                (Type `list' to see available providers)
  -m METHOD     Method to use to set color temperature
                (Type `list' to see available methods)
  -o            One shot mode (do not continuously adjust color temperature)
  -O TEMP       One shot manual mode (set color temperature)
  -p            Print mode (only print parameters and exit)
  -P            Reset existing gamma ramps before applying new color effect
  -x            Reset mode (remove adjustment from screen)
  -r            Disable fading between color temperatures
  -t DAY:NIGHT  Color temperature to set at daytime/night

The neutral temperature is 6500K. Using this value will not change the color
temperature of the display. Setting the color temperature to a value higher
than this results in more blue light, and setting a lower value will result in
more red light.

Default values:

  Daytime temperature: 6500K
  Night temperature: 4500K

Please report bugs to <https://github.com/jonls/redshift/issues>

设置 3000 开尔文的三种方法redshift

$ redshift -P -O 3000 -m drm
$ redshift -P -O 3000 -m randr
$ redshift -P -O 3000 -m vidmode

并将颜色重置为正常:

$ redshift -x -m randr
$ redshift -x -m drm
$ redshift -x -m vidmode

所有这三种都应该使用,以防万一,例如xgamma使用了它所做的更改vidmode,并且直到您也重置它vidmode,您仍然会看到一些色调。

或者,如果您有兴趣将伽马值设置为不太红(但首先使用上面 3 条红移线重置所有内容):

$ redshift -P -O 6500k -g 0.8:1:1
Using method `randr'.

(由于某种原因,必须指定色温,否则您无法使用-g来设置伽马,redshift

在 Gentoo 上,以下是拥有这些二进制文件的软件包:

Gentoo Package : executable binary  
x11-apps/xrandr: /usr/bin/xrandr  
x11-apps/xgamma: /usr/bin/xgamma  
x11-misc/redshift: /usr/bin/redshift

如果你以非 suid root 身份运行 X,并且有兴趣找出哪个程序(其名称和位置)正在设置或重置你的 gamma/RGB 颜色,有一种方法可以找出这里

相关内容