Portál AbcLinuxu, 8. května 2025 13:41

Dotaz: Přepínání aktivních monitorů (LCD)

30.9.2020 20:56 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
Přepínání aktivních monitorů (LCD)
Přečteno: 431×
Odpovědět | Admin
Co využíváte pro rychlé přepnutí konfigurace (setu aktivních LCD)? Dle aktuálního workflow (DE Cinnamon) využívám 1 až 4 LCD a pro přepínání používám skripty volající xrandr. Typicky se cílová konfigurace podaří až po druhém spuštění skriptu (monitory či výstup GK patrně nejsou aktivní a akce skončí s náhodným rozložením .. např. stejný obsah na všech LCD). Druhý pokus již je úspěšný, napoprvé prochází asi jen skript s jediným LCD.

Skript pro ctyři monitorový set

[FHD] [UHD][UHD][UHD]

#!/bin/sh xrandr --output DVI-D-0 --off --output HDMI-1 --mode 3840x2160 --pos 7680x1080 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 2576x0 --rotate normal --output DP-3 --off --output DP-2 --mode 3840x2160 --pos 0x1080 --rotate normal --output DP-1 --off --output DP-0 --primary --mode 3840x2160 --pos 3840x1080 --rotate normal
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.9.2020 20:58 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Se mi monitory v předchozím příspěvku srovnaly. ;-)
  [FHD]
[UHD][UHD][UHD]
Josef Kufner avatar 30.9.2020 21:18 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Připravené skripty jsou asi to nejlepší řešení. Ještě je naskládat do menu, aby byly hezky po ruce.
Hello world ! Segmentation fault (core dumped)
30.9.2020 22:00 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Mám je jako ikony přímo v panelu Cinnamonu (asi 5 různých rozložení).

Tak jsem zkusil ten arandr zavolat ve skriptu dvakrát za sebou se sleep 2 mezi a vypadá, že to funguje (ze single LCD na quad LCD na jeden klik do panelu). ;-)
30.9.2020 22:34 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Tak sleep 2 byl málo. Když jsem po zapnutí na single LCD nechal zbylé LCD přepnout do úsporného módu (neruší tak jejich podsvícení) tak se za 2s nestačily probrat, se sleep 5 už to stíhají. Třeba někdo zná jiný postup s deterministickým chováním.
k3dAR avatar 1.10.2020 23:17 k3dAR | skóre: 63
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Odpovědět | | Sbalit | Link | Blokovat | Admin
pro zajimavost, v Xfce 4.14 je moznost si naklikat profily sestav monitoru a lze je pak prepinat pres:
xfconf-query -c displays -p /Schemes/Apply -t string -n -s profilu_systemem_pridelenej_neco_jako_uuid
porad nemam telo, ale uz mam hlavu... nobody
7.10.2020 11:28 Jar-Jar Blinks | skóre: 12
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Odpovědět | | Sbalit | Link | Blokovat | Admin
osobne jsem s tim dost bojoval 
GPDcko + dock + display

Moje reseni je .... nedavat vsechno najednou ... 
ale vypnout je vsechny krome primary ... 
a pak je pozapinat po jednom v poradi jak je chces 
bez sleepu 

tj jeden velkej xrandr neee 
ale nekolik malych xrandr 
tak jak na sebe navazuji ... 


#-[Pro inspiraci]-------------------------------------------------------------
#!/bin/bash

	jak=$1 
	echo $jak
#---------------------------------------------------------
#xinput
#xrandr
# xinput --map-to-output 14 DSI-1


	case $jak in

		VertixU|vertixu|VXU|vxu)
			xrandr --output HDMI-1 --mode 1920x1080 --primary --above DSI-1	
			xrandr --output DSI-1 --mode 1200x1920 --scale 0.64x0.64 --rotate right 
			xinput --map-to-output 14 DSI-1
			mys vx
			FvwmCommand restart
			

                           #.....[CUT]....


		Acer|acer)
			xrandr --output HDMI-1 --mode 1920x1080 --primary --above DSI-1	--output DSI-1 --mode 1200x1920  --scale 0.64x0.64 --rotate right
		    ;; #------------------------------
		FULL|Full|full)
			xrandr 	--output DSI-1 --mode 1200x1920  --scale 1x1 --rotate right
		    ;; #------------------------------
		ZOOM|Zoom|zoom)
			xrandr --output DSI-1 --mode 1200x1920 --scale 0.64x0.64 --rotate right
		    ;; #------------------------------
		Doma|doma|DOMA)
#			xrandr --output HDMI-1 --mode 1600x1200 --primary --output DSI-1 --mode 1200x1920 --rotate right --below HDMI-1
			xrandr --output DSI-1 --off
			xrandr --output HDMI-1 --mode 1600x1200 --primary 
                        xrandr --output DSI-1 --mode 1200x1920 --rotate right --scale 0.64x0.64 --rotate right --below HDMI-1 
			FvwmCommand restart
                        mys doma
                        setbg
		    ;; #------------------------------

		kill|end|reset)
			xrandr --output HDMI-1 --off --output DSI-1 --mode 1200x1920 --primary --scale 0.64x0.64 --rotate right
			mys reset
			xinput --map-to-output 14 DSI-1
			FvwmCommand restart
		    ;; #------------------------------
		zero|small|0)
			xrandr --output HDMI-1 --off 
			xrandr --output DSI-1 --mode 1200x1920 --primary --scale 1x1 --rotate right		
			mys reset			
			xinput --map-to-output 14 DSI-1
			FvwmCommand restart
		    ;; #------------------------------
		*)
			echo "Neni argument !"
		    ;; #------------------------------
	esac
#---------------------------------------------------------
		

7.10.2020 14:36 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
Rozbalit Rozbalit vše Re: Přepínání aktivních monitorů (LCD)
Já od založení vlákna vysledoval to, že ideální při přepínání setů LCD je pomocí arandr skriptu zapnout nejprve všechny aktivní, počkat 5 sec a následně v dalším volaní arandr zapnout jen ty co mají být aktivní a zbylé vypnout.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.