Я использую 2 экрана и хочу инвертировать цвета на обоих из них без использования compiz (я использую оболочку gnome).
Я могу использовать xcalib -invert -alter
, как предложено в этого вопроса , но он инвертирует только один из экранов. Есть ли способ указать оба из них, или даже какой из них, используя xcalib
? Есть ли другой способ?
С помощью xcalib
вы можете указать, какой экран изменять, с помощью опций -d
(-display
) или -s
(-screen
), но, увы, X
Кажется, известно только об одном экране: когда я использую команду w
, я вижу только один (обычно ": 0")
пс: этот вопрос был изначально опубликован [ 1116] k0pernikus в качестве комментария здесь .
--- edit ---
Это вывод xrandr
:
Screen 0: minimum 320 x 200, current 3200 x 1200, maximum 8192 x 8192
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.0*+ 75.0
1280x960 60.0
1152x864 75.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
DVI-0 connected 1920x1200+1280+0 (normal left inverted right x axis y axis) 518mm x 324mm
1920x1200 60.0*+
1600x1200 60.0
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.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
Я могу использовать -s DVI-0
или -s VGA-0
, но они делают то же самое как -s :0
№
Обратите внимание, что на дату последнего тестирования (2014, xcalib версия 0.8) xcalib не был способен инвертировать цвета на всех мониторах в конфигурации с несколькими мониторами, поскольку все мониторы представлены сервером X11 как один экран. Таким образом, это ограничение исходит от сервера X11. xrandr-invert-colors не имеет этого ограничения, поскольку использует API XRandR, который корректно обрабатывает все подключенные мониторы.
blockquote>
Отображаемые идентификаторы в X имеют вид :<screen>.<display>
. Вопреки интуиции, все мониторы в конфигурации с несколькими мониторами совместно используют <screen>
, но имеют различные значения <display>
. Экран «первый» в настройке - :0.0
, другие - :0.1
, :0.2
и т. Д. Последняя команда - xcalib -invert -alter -display :0.1
Параметр xcalib
-screen
принимает целочисленный индекс экрана, равный нулю, т.е. в вашем случае 0
для VGA-0
и 1
для DVI-0
.