Balikkan warna pada pengaturan Dual-Screen / Dual-Monitor?

9

Untuk membalikkan warna pada monitor, saya meminta:

xcalib -invert -alter

Masalahnya adalah, bahwa pada pengaturan Dual-Monitor, ia membalikkan warna hanya pada layar pertama.

Saya tidak dapat menggunakan gadget Compitz untuk pembalikan warna, karena pengaturan saya adalah

  • Dua monitor (pivot) yang diputar

Dual-Screen ketika keduanya Piovot tidak bekerja dengan menyusun pada kartu saya.

Xorg sepertinya hanya solusi.

xcalib sangat bagus karena saya bisa beralih tergantung aplikasi, segera

Saran Cany, solusi bagaimana membalikkan warna pada kedua layar dengan xcalib?

PS

-screen parameter tidak berfungsi:

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

Ini xrandrkonfigurasi layar saya :

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

Seperti yang Anda lihat, mereka diputar - 1200x1920pengaturan pada satu layar virtual dengan maximum 3840 x 3840. Saya pikir, itulah alasan mengapa itu seperti layar "satu" dengan 2400x1920, dipisah pada keduanya (jadi, xcalib hanya berlaku untuk yang primer). Tapi, itu hanya hipotesis saya, mungkin alasannya berbeda.

Grzegorz Wierzowiecki
sumber

Jawaban:

5

Berikut adalah program utilitas kecil yang melakukan apa yang Anda inginkan:

https://github.com/zoltanp/xrandr-invert-colors
Campbell
sumber
1
Tolong jangan hanya memposting tautan (dan teks pengisi tidak berguna); sertakan beberapa detail yang relevan sehingga ada konteks yang cukup di sekitar jawabannya.
jasonwryan
Meskipun @jasonwryan benar tentang kualitas jawaban, saya dapat mengonfirmasi xrandr-invert-colors berfungsi. Sudah waktunya untuk membuang xcalib yang tidak terawat ke luar jendela dan mengumumkan juara baru.
lkraav
1
@jasonwryan "detail yang relevan": berfungsi. :) Utilitas ini melakukan persis apa yang diminta OP.
VasyaNovikov
Menurut pendapat saya, ketukan pendek dan manis tidak perlu bertele-tele setiap hari dalam seminggu.
Sam Watkins
4

Orang bisa mencoba mengutak-atik nilai gamma negatif dan nilai kecerahan <1 untuk menghasilkan gamma-ramp negatif pada output tertentu.

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

ini sudah cukup bagi saya dan bekerja di luar kotak, tetapi tidak memperhitungkan kurva gamma yang ada untuk output. mungkin layak dicoba. Salam konrad

konrad
sumber
3

Mencoba xcalib -d :0 -invert -alter

Opsi -d merujuk ke perangkat, dan itu bekerja untuk saya ketika -s tidak

Lucian
sumber
Dalam kasus saya itu tidak membantu ... -d :1-> Can't open display :1dll.
Grzegorz Wierzowiecki
1
-dmengacu pada tampilan, bukan perangkat. BTW, saya mengalami masalah yang sama dan ingin tahu solusinya.
Cyker
2

Saya mengalami masalah yang sama dengan OP. Saya melakukan

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

Kemudian saya menginstal satu dependensi yang tercantum dalam README, membangun dan menginstalnya, dan bekerja dengan baik. Masalah terpecahkan.

Saya melihat kode sumbernya. Sebagian besar pekerjaan dilakukan dengan panggilan ke perpustakaan xcb untuk mengatur gamma ramp. Kode dasarnya memotong jumlah layar yang terpasang, membuat jalan gamma, membalikkannya, dan meletakkannya di layar itu. Sangat sederhana, dan tidak ada program X lain yang melakukan ini, setahu saya.

Paul Martz
sumber
1

Halaman manual menunjukkan bahwa ada parameter -screen(pendek -s). Itu harus melakukannya! Cukup gunakan dua xcalibperintah dengan -sparameter berbeda .

rozcietrzewiacz
sumber
2
Saya tahu ini. Tidak bekerja. Bagus Anda sudah menyebutkan tentang itu, saya sudah lupa. Saya akan memperbarui pernyataan masalah saya.
Grzegorz Wierzowiecki
2
xrandrOutput Anda mengatakan Anda memiliki Xorg yang dikonfigurasi sebagai satu layar (hanya Screen 0di bagian atas). xcalibantarmuka langsung dengan server Xorg, sehingga tidak dapat melihat lebih banyak layar. Saya yakin Anda perlu mengonfigurasi beberapa Screenbagian di dalam /etc/X11/xorg.confagar ini berfungsi dengan baik.
rozcietrzewiacz
Sayangnya, ketika saya melakukan ini, inden pada kedua layar tidak bekerja :(. Terima kasih atas petunjuknya, sekarang saya tahu di mana harus mencari perbaikan.
Grzegorz Wierzowiecki
Apakah Anda mencoba Option "Rotate"di Anda xorg.conf? Atau apakah Anda perlu memutar layar setelah X dimulai?
rozcietrzewiacz
1
Saya juga mencari solusi, -s 1 tidak berfungsi saat menambahkan layar secara dinamis dengan --output VGA1 --auto.
lkraav
0

Saya telah menemukan saran itu:

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

menggunakan "Efek Desktop" (saya punya di KDE), ada satu yang memungkinkan pembalikan warna semua layar atau hanya jendela selektif.

Karena pada perangkat keras saya yang sekarang Compiz atau hal-hal serupa berfungsi dengan baik, saya dapat mengambil keuntungan dari "Efek Desktop" tersebut. Namun saya bertanya-tanya, bagaimana cara menggunakannya pada window manager lain (seperti fluxbox) ... tapi itu topik untuk pertanyaan terpisah :). (PS setelah melihat beberapa sumber efek: kwin /.../ invert.cpp sepertinya itu hanya menambahkan kait untuk memproses windows yang dibuat dalam buffer terpisah pada saat itu dilakukan dalam menyusun window manager , jadi mungkin hanya KWin yang diperlukan, dengan kemampuan untuk berlari dengan hal lain selain KDE - untuk dicoba;))

Grzegorz Wierzowiecki
sumber