Программа, аналогичная xcalib, для инвертирования цветов рабочего стола

12

Я использую, xcalibчтобы инвертировать цвета на моем компьютере дома. У меня есть два монитора на работе, и, к сожалению, xcalib -i -aинвертирует только один из них (тот, который я не хочу инвертировать). Я не нашел решений для этой проблемы, поэтому я ищу замену xcalib.

Цель состоит в том, чтобы иметь возможность инвертировать только выбранные цвета монитора или оба одновременно. Кстати, я использую Mint 13 Mate.

Обновление: компьютер Dell Optiplex 990 со встроенной картой Intel.

lspci -k | grep VGA

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

Данные из xrandr:

Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
VGA1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x800       59.8  
   1152x864       75.0  
   1280x720       60.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+   50.0  
   1680x1050      60.0  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x800       59.8  
   1152x864       75.0  
   1280x720       50.0     60.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   720x576        50.0  
   720x480        59.9  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
DP1 disconnected (normal left inverted right x axis y axis)
tomrozb
источник
Какой графический драйвер вы используете (radeon, fglrx, nvidia, nouveau,…)? Это часто относится к проблемам с несколькими мониторами.
Жиль "ТАК ... перестать быть злым"
@ Жиль проверить обновленную запись
Tomrozb

Ответы:

5

Я знаю, что это старый вопрос, но я отвечаю за потомство. xrandr-invert-colorsэто небольшое приложение, которое делает именно то, что нам нужно.

У меня есть и xcalib, и xrandr-invert-colors, привязанные к разным ярлыкам, поэтому, если я хочу инвертировать только свой дополнительный монитор, я могу выполнить оба (xcalib вернет основной монитор к нормальным цветам).

Получите его по адресу https://github.com/zoltanp/xrandr-invert-colors

Кэмпбелл
источник
3

Если вы хотите инвертировать оба экрана одной командой, вам придется придерживаться действительно хорошего сценария:

xrandr-invert-colors

Если это недоступно для вас и допустимо запускать две команды за один раз, используйте это:

xcalib -i -a -s 0 && xcalib -i -a -s 1

Который будет инвертировать оба экрана одновременно. Если у вас есть три или более экранов, просто добавьте их && xcalib -i -a -s 2и т. Д.

Я использую archlinux и предпочитаю это xrandr-invert-colorsрешение, поскольку оно доступно в репозитории пользователей и легко назначается сочетанию клавиш.

Afr
источник
1

ПРИМЕЧАНИЕ: OP, я и @Marco подтвердили, что это невозможно сделать xcalib. Я оставляю это здесь, чтобы другие не пошли по этому пути!

Я думаю, что эта xcalibкоманда будет делать то, что вы хотите:

$ xcalib -s 1 -i -a

Я считаю, что это нумерация экранов, начинающихся с 0. Таким образом, 1 будет следующим экраном.

выдержка из вывода об использовании xcalib

$ xcalib -help
xcalib 0.8
Copyright (C) 2004-2007 Stefan Doehla <stefan AT doehla DOT de>
THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY!

usage:  xcalib [-options] ICCPROFILE
     or xcalib [-options] -alter

where the available options are:
    -display <host:dpy>     or -d
    -screen <screen-#>      or -s
    -clear                  or -c
    -noaction <LUT-size>    or -n
    -verbose                or -v
    -printramps             or -p
    -loss                   or -l
    -invert                 or -i
    -gammacor <gamma>       or -gc
    -brightness <percent>   or -b
    -contrast <percent>     or -co
    -red <gamma> <brightness-percent> <contrast-percent>
    -green <gamma> <brightness-percent> <contrast-percent>
    -blue <gamma> <brightness-percent> <contrast-percent>
    -alter                  or -a
    -help                   or -h
    -version

last parameter must be an ICC profile containing a vcgt-tag

Example: ./xcalib -d :0 -s 0 -v bluish.icc
Example: ./xcalib -red 1.1 10.0 100.0
SLM
источник
xcalib не работает с несколькими экранами, он инвертирует только один экран.
Марко
@Marco - не по этой теме: ubuntuforums.org/showthread.php?t=1482995
ОДС
@ Марко - ты Марко в этой теме (тот, который ты включил)? Что касается темы, на которую я ссылался, я не уверен, что с этим делать? Изменится ли использование драйвера NVidia?
SLM
@ Марко прав. Это не работает для меня. Команда xrandr возвращает только один экран (0) как 3840x1080. Как упоминалось выше, только один экран инвертируется с помощью xcalib.
Томрозб
@toro - у меня нет этой настройки, поэтому я не могу попробовать / воспроизвести, предлагал только команду, которую я нашел через поиск в Google. Выглядело как хорошее лидерство. Вам довелось попробовать это? Мне любопытно, что он сделал тогда для другого парня.
SLM