Odwrócić kolory w konfiguracji podwójnego ekranu / podwójnego monitora?

9

Aby odwrócić kolory na monitorze, wzywam:

xcalib -invert -alter

Problem polega na tym, że w konfiguracji z dwoma monitorami odwraca kolory tylko na pierwszym ekranie.

Nie mogę używać gadżetów Compitz do odwracania kolorów, ponieważ moja konfiguracja to

  • Dwa obrócone (obrotowe) monitory

Podwójny ekran, gdy oba są Piovot, nie działa z komponowaniem na mojej karcie.

Xorg wydaje się jedynym rozwiązaniem.

xcalib jest świetny, ponieważ mogę natychmiast przełączać się w zależności od aplikacji.

Cany sugestie, rozwiązania, jak odwracać kolory na obu ekranach za pomocą xcalib?

PS

-screen parametr nie działa:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  130 (XFree86-VidModeExtension)
  Minor opcode of failed request:  19 (XF86VidModeGetGammaRampSize)
  Value in failed request:  0x17
  Serial number of failed request:  10
  Current serial number in output stream:  10

Oto moja xrandrkonfiguracja ekranu:

~$ xrandr                                                                                                                                                              
Screen 0: minimum 320 x 200, current 2400 x 1920, maximum 3840 x 3840                                                                                                  
DFP1 connected 1200x1920+1200+0 left (normal left inverted right x axis y axis) 518mm x 324mm                                                                          
   1920x1200      60.0*+                                                                                                                                               
   1680x1050      60.0 +                                                                                                                                               
   1440x900       59.9 +                                                                                                                                               
   1280x800       60.0 +                                                                                                                                               
   1920x1080      60.0     50.0     30.0     25.0     24.0                                                                                                             
(...)                                                                                                                   
DFP2 connected 1200x1920+0+0 left (normal left inverted right x axis y axis) 518mm x 324mm                                                                             
   1920x1200      60.0*+                                                                                                                                               
   1920x1080      60.0 +                                                                                                                                               
   1776x1000      60.0 +                                                                                                                                               
   1680x1050      60.0 +                                                                                                                                               
   1440x900       59.9 +                                                                                                                                               
   1280x800       60.0 +   75.0                                                                                                                                        
   1152x648       60.0 +                                                                                                                                               
   1600x1200      60.0                                                                                                                                                 
   1400x1050      60.0                                                                                                                                                 
   1280x1024      75.0     60.0                                                                                                                                        
(...)                                                                        
CRT1 disconnected (normal left inverted right x axis y axis)                                                                                                           
CRT2 disconnected (normal left inverted right x axis y axis)   

Jak widać, są one obracane - 1200x1920konfiguracja na jednym ekranie wirtualnym za pomocą maximum 3840 x 3840. Myślę, że właśnie dlatego jest to ekran „jeden” z 2400x1920podziałem na oba (więc xcalib ma zastosowanie tylko do ekranu głównego). Ale to tylko moja hipoteza, może powód jest inny.

Grzegorz Wierzowiecki
źródło

Odpowiedzi:

5

Oto mały program narzędziowy, który robi to, co chcesz:

https://github.com/zoltanp/xrandr-invert-colors
Campbell
źródło
1
Proszę nie tylko publikować link (i bezużyteczny tekst wypełniający); zawierać pewne istotne szczegóły, aby wokół odpowiedzi był wystarczający kontekst.
jasonwryan
Podczas gdy @jasonwryan ma rację co do jakości odpowiedzi, mogę potwierdzić, że xrandr-invert-colors działa. Czas wyrzucić z okna nieobsługiwany xcalib i obwieścić nowego mistrza.
lkraav
1
@jasonwryan „istotny szczegół”: działa. :) To narzędzie robi dokładnie to, o co prosił OP.
VasyaNovikov
Moim zdaniem krótkie i słodkie rytmy są niepotrzebnie długie w każdy dzień tygodnia.
Sam Watkins,
4

Można próbować bawić się z ujemnymi wartościami gamma i wartościami jasności <1, aby wygenerować ujemną rampę gamma na określonym wyjściu.

xrandr --output [output] --gamma -0.5:-0.5:-0.5 --brightness 0.1 

to mi przynajmniej wystarcza i działa od razu po wyjęciu z pudełka, ale nie uwzględnia żadnych istniejących krzywych gamma dla wyjścia. być może warto spróbować. Pozdrawiam Konrad

konrad
źródło
3

Próbować xcalib -d :0 -invert -alter

Opcja -d odnosi się do urządzenia i działało dla mnie, gdy -s nie

Lucian
źródło
W moim przypadku to nie pomaga ... -d :1-> Can't open display :1itd.
Grzegorz Wierzowiecki
1
-dodnosi się do wyświetlacza, a nie do urządzenia. BTW, napotkałem ten sam problem i chciałbym poznać rozwiązanie.
Cyker,
2

Wystąpił ten sam problem co OP. zrobiłem

git clone https://github.com/zoltanp/xrandr-invert-colors.git

Następnie zainstalowałem jedną zależność odnotowaną w README, zbudowałem i zainstalowałem i działa świetnie. Problem rozwiązany.

Rzuciłem okiem na kod źródłowy. Większość pracy jest wykonywana przez wywołanie biblioteki xcb w celu ustawienia rampy gamma. Kod zasadniczo zapętla liczbę podłączonych ekranów, tworzy rampę gamma, odwraca ją i ustawia na tym ekranie. Bardzo proste, i nie ma innego programu X, który to robi, o ile wiem.

Paul Martz
źródło
1

Strona man wskazuje, że istnieje -screen(krótki -s) parametr. Że należy to zrobić! Wystarczy użyć dwóch xcalibpoleceń o różnych -sparametrach.

rozcietrzewiacz
źródło
2
Wiem to. To nie działa. Dobrze, że o tym wspomniałeś, zapomniałem. Zaktualizuję moje zgłoszenie problemu.
Grzegorz Wierzowiecki,
2
Twój xrandrwynik mówi, że masz Xorg skonfigurowany jako jeden ekran (tylko Screen 0u góry). xcalibwspółpracuje bezpośrednio z serwerem Xorg, więc nie widzi więcej ekranów. Uważam, że musisz skonfigurować wiele Screensekcji w swoim, /etc/X11/xorg.confaby działało to poprawnie.
rozcietrzewiacz
Niestety, kiedy to robię, funkcja przestawiania na obu ekranach nie działa :(. Dziękuję za podpowiedź, teraz już wiem, gdzie szukać poprawy.
Grzegorz Wierzowiecki,
Próbowałeś Option "Rotate"w swoim xorg.conf? A może musisz obrócić ekrany po uruchomieniu X?
rozcietrzewiacz
1
Szukam również rozwiązania, -s 1 nie działa, gdy dynamicznie dodaje ekrany z --output VGA1 --auto.
lkraav
0

Znalazłem tę radę:

http://ubuntuforums.org/showthread.php?t=1482995

korzystania z „efektów pulpitu” (mam takie w KDE), istnieje taki, który pozwala odwracać kolory wszystkich ekranów lub po prostu wybranych okien.

Ponieważ na moim obecnym sprzęcie Compiz lub podobne rzeczy działają dobrze, mogę skorzystać z takich „efektów pulpitu”. Zastanawiam się jednak, jak korzystać z takich na innych menedżerach okien (takich jak fluxbox) ... ale to temat na osobne pytanie :). (PS po przyjrzeniu się źródłom tego efektu: kwin /.../ invert.cpp wygląda to tak, jakby po prostu dodawało haki do przetwarzania okien renderowanych w oddzielnych buforach po wykonaniu w menedżerach okien do komponowania , więc może wymagane jest tylko KWin , z możliwością uruchamiania z innymi rzeczami niż KDE - do eksperymentowania;))

Grzegorz Wierzowiecki
źródło