Invertire i colori nella configurazione a doppio schermo / doppio monitor?


9

Per invertire i colori sul monitor, invoco:

xcalib -invert -alter

Il problema è che nella configurazione a doppio monitor inverte i colori solo sulla prima schermata.

Non riesco a utilizzare i gadget Compitz per invertire i colori, perché la mia configurazione è

  • Due monitor ruotati (perno)

Il doppio schermo quando entrambi sono Piovot non funziona con la composizione sulla mia carta.

Xorg sembra l'unica soluzione.

xcalib è un'ottima causa, posso cambiare immediatamente a seconda dell'app.

Cany suggerimenti, soluzioni come invertire i colori su entrambi gli schermi con xcalib?

PS

-screen il parametro non funziona:

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

Ecco la mia xrandrconfigurazione dello schermo:

~$ 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)   

Come puoi vedere, vengono ruotati - 1200x1920configurazione su uno schermo virtuale con maximum 3840 x 3840. Penso, questo è il motivo per cui è come "uno" schermo con 2400x1920, diviso su entrambi (quindi, xcalib si applica solo a quello primario). Ma è solo la mia ipotesi, forse la ragione è diversa.

Risposte:


5

Ecco un piccolo programma di utilità che fa quello che vuoi:

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

1
Per favore, non solo pubblicare un link (e testo di riempimento inutile); includere alcuni dettagli pertinenti in modo che vi sia un contesto sufficiente attorno alla risposta.
Jasonwryan,

Mentre @jasonwryan ha ragione sulla qualità della risposta, posso confermare che xrandr-invert-colours funziona. È tempo di lanciare lo xcalib non mantenuto fuori dalla finestra e annunciare il nuovo campione.
lkraav,

1
@jasonwryan "dettaglio rilevante": funziona. :) Questa utility fa esattamente ciò che OP stava chiedendo.
VasyaNovikov,

A mio avviso, ritmi brevi e dolci inutilmente prolungati ogni giorno della settimana.
Sam Watkins,

4

Si potrebbe provare a armeggiare con valori gamma negativi e valori di luminosità <1 per generare una gamma rampa negativa su un'uscita specifica.

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

questo mi basta e funziona immediatamente, ma non tiene conto delle curve gamma esistenti per un output. Potrebbe valere la pena di un colpo. Saluti Konrad


3

Provare xcalib -d :0 -invert -alter

L'opzione -d si riferisce al dispositivo e ha funzionato per me quando -s no


Nel mio caso non aiuta ... -d :1-> Can't open display :1ecc.
Grzegorz Wierzowiecki

1
-dsi riferisce al display, non al dispositivo. A proposito, ho riscontrato lo stesso problema e vorrei conoscere la soluzione.
Cyker,

2

Stavo riscontrando lo stesso problema del PO. Ho fatto un

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

Quindi ho installato l'unica dipendenza annotata nel file README, l'ho costruita e installata e funziona alla grande. Problema risolto.

Ho dato un'occhiata al codice sorgente. La maggior parte del lavoro viene eseguita con una chiamata nella libreria xcb per impostare la rampa gamma. Il codice essenzialmente passa in rassegna il numero di schermate collegate, crea una rampa gamma, la inverte e la imposta su quella schermata. Molto semplice, e non c'è nessun altro programma X che lo fa, per quanto ne sappia.


1

La manpage indica che esiste un parametro -screen(breve -s). Questo dovrebbe farlo! Basta usare due xcalibcomandi con -sparametri diversi .


2
Lo so. Non funziona. Bene, ne hai parlato, l'ho dimenticato. Aggiornerò la mia dichiarazione del problema.
Grzegorz Wierzowiecki,

2
Il tuo xrandroutput dice che hai Xorg configurato come uno schermo (solo Screen 0nella parte superiore). xcalibsi interfaccia direttamente con il server Xorg, quindi non può vedere più schermate. Credo che sia necessario configurare più Screensezioni nel tuo /etc/X11/xorg.confaffinché questo funzioni correttamente.
rozcietrzewiacz,

Sfortunatamente, quando faccio questo, il pivot su entrambi gli schermi non funziona :(. Grazie per il suggerimento, ora so dove cercare miglioramenti.
Grzegorz Wierzowiecki

Hai provato Option "Rotate"nel tuo xorg.conf? Oppure devi ruotare le schermate dopo l'avvio di X?
rozcietrzewiacz,

1
Sto anche cercando una soluzione, -s 1 non funziona quando si aggiungono dinamicamente schermate con --output VGA1 --auto.
lkraav,

0

Ho trovato quel consiglio:

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

dell'uso di "Effetti desktop" (ce l'ho in KDE), ce n'è uno che permette di invertire i colori di tutti gli schermi o solo delle finestre selettive.

Dal momento che sul mio hardware attuale Compiz o cose simili funzionano bene, posso sfruttare tali "effetti desktop". Comunque mi chiedo come usarlo su altri gestori di finestre (come fluxbox) ... ma questo è argomento per una domanda separata :). (PS dopo aver dato un'occhiata alle fonti di tale effetto: kwin /.../ invert.cpp sembra che stia solo aggiungendo hook per l'elaborazione di finestre rese in buffer separati quando viene fatto in compositing window manager , quindi forse è richiesto solo KWin , con capacità di correre con cose diverse da KDE - da sperimentare;))

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.