Az openbox telepítése után szembesültem azzal, hogy a két monitorom felbontása és a pozíciója nem megfelelő. Fel van cserélve és maximális felbontással üzemelnek. Az egér a két monitor közt nem tud átmenni, a „rossz” oldalon lehet átmozgatni a másikra...
Ezen valamiképp segíteni kell, mert nem így akarom használni őket:
- fordított elhelyezéssel és
- kisebb felbontással
Eddigi ablakkezelőknél minden esetben volt valami olyan megoldás, ahol grafikusan lehetett mozgatni a két, vagy több monitor helyzetét, és a felbontást stb. állítani lehet. Itt is van, mert lehet(ne) telepíteni ArandR-t, ami egy jó grafikus beállítási lehetőség. Használata egyszerű, nem okoz senkinek sem gondot.
Én egy lehetőségre hívnám fel a figyelmet: a beállításokat scriptbe is menteni lehet, azaz több beállítást is létrehozhatunk, majd azt a scriptet, amibe mentettük lefuttatva váltani is lehet. Egy ilyen scriptet érdemes létrehozni és belenézni. Az elérési út (alapesetben)
/home/laci/.screenlayout/
ahol természetesen a laci a te felhasználói neved legyen.
Egy hibája van ennek a megoldásnak: induláskor nem azzal indul a rendszer, amivel akarom, hanem megint be kell állítani, vagy az adott scriptet futtatni.
Természetesen van arra is lehetőség, hogy az autostart-ba beírjuk a parancsokat és a paramétereket. Én ezt választottam.
Az ArandR az xrandr előtétprogramja, azaz „csak” azt paraméterezi fel és menti el a paramétereket a scriptekbe. Így már viszonylag egyszerű dolgunk van. Ha megfelel a beállítás, amit a ArandR létrehozott, akkor simán be kell másolni az autostart-ba és ki és belépni.
xrandr --output VIRTUAL1 --off --output DP2 --off --output DP1 --off --output HDMI2 --off --output HDMI1 --mode 1280x720 --pos 0x0 --rotate normal --output VGA1 --mode 1024x768 --pos 1280x0 --rotate normal
igencsak hosszú beállítást adott. A fele nem kell (off-al letiltott monitorok, rotate forgatás stb.) és jó lenne, ha számomra jobban átlátható lenne. Ezért a google keresés után javasolt manuális megoldást választottam.
Bár a fenti ArandR sorokból ki tudjuk olvasni az adatokat, de most elölről kezdve mutatom be.
xrandr
Futtassuk le paraméter nélkül, így felderíti a rendszert és kiírja az eredményeket:
Screen 0: minimum 8 x 8, current 2304 x 768, maximum 32767 x 32767 DP1 disconnected primary (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) HDMI1 connected 1280x720+0+0 (normal left inverted right x axis y axis) 600mm x 340mm 1920x1080 60.00 + 1680x1050 59.88 1280x1024 75.02 60.02 1440x900 74.98 59.90 1280x960 60.00 1280x720 60.00* 1024x768 75.03 60.00 800x600 75.00 60.32 640x480 75.00 72.81 66.67 59.94 720x400 70.08 HDMI2 disconnected (normal left inverted right x axis y axis) VGA1 connected 1024x768+1280+0 (normal left inverted right x axis y axis) 470mm x 260mm 1920x1080 60.00 + 1600x1200 60.00 1680x1050 59.95 1280x1024 75.02 70.00 60.02 1440x900 59.89 1280x960 60.00 1152x864 75.00 1024x768 75.03* 70.07 60.00 832x624 74.55 800x600 75.00 60.32 56.25 640x480 75.00 72.81 59.94 VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Számunkra ebből két adat a fontos: a monitor megnevezése
HDMI1 és VGA1
Ez nyilván mindenkinél más lesz, pontosan ezért is futtattuk le a paracsot, hogy megtaláljuk a pontos megnevezést.
Illetve az adott monitornak az alapértelmezések szerinti felbontásait. Most tekintsünk el attól, hogy az xrandr-nak megadható ezektől letérő is. Az haladó megoldás és nem kezdő szint.
Ezután már fel tudjuk paraméterezni a xrandr-unkat, hogy azt tegye amit akarunk.
Bár ahogy az ArandR scriptben láttuk, megadható egy sorban is a paraméter a két monitorra, de én ketté vettem, mert így jobban átlátható.
xrandr --auto --output VGA1 --mode 1024x768
Azaz megmondjuk a VGA1 monitornak, hogy az általam kívánt felbontásban működjön. Arra mindenképp figyeljünk, hogy a képarány ne torzuljon, ha fontos nekünk a pontos szerkesztés. A monitor működni fog, de a képe kissé torz lesz, ha tényleges képarány és a kisebb képarány nem egyforma. A kör ellipszis, a négyzet pedig téglalap lesz. Illetve pontosan adjuk meg listában szereplő felbontást, mert alapesetben csak azokat ismeri fel.
xrandr --auto --output HDMI1 --mode 1280x720 --left-of VGA1
Ugyanaz, csak a másik monitorra adjuk meg a kívánt felbontást. Majd meg kell határozni, hogy az adott monitor a másikhoz képest hol helyezkedik el.
--left-of, --right-of, --above, --below, --same-as
Egy megadott, másik monitorhoz képest hol helyezkedik el.
A paraméter használata egyszerű: az másik monitorhoz képest balra van nálam a HDMI1-es.
Ezt akkor hasznos, ha jól definiálható a pozíció, de van lehetőség ennél sokkal bonyolultabb pozicionálásra is a --pos kapcsolóval. Ilyenkor kerül elő az ArandR újra. Azzal beállítjuk vizuálisan a monitorok helyzetét, majd lementjük a scriptet és abból kiolvassuk az értékeket.
VGA1 --mode 1024x768 --pos 1280x720
az alábbi helyzetben:
Így nem kell számolgatni a pixeleket. A képen láthatónál sokkal bonyolultabb (átfedés és eltolódás) monitor elhelyezésekkel is megbirkózhatunk ezzel.
-- auto paraméterrel megmondtuk az xrandr-nak, hogy minden az alapbeállítás szerinti, majd a kívánt monitoron (nálam mindegyiken) megváltoztattam amit akartam. A többi (elforgatás stb.) maradjon alapértéken.
Az xrandr -help és a man xrandr ennél lényegesen komolyabb műveletekre is segítséget nyújt, a lehetőségek tizedét sem érintettük, de a célt elértük: ott és olyan elhelyezkedésben és felbontásban működnek a monitorok, ahogy akartam. Szokjuk meg, hogy nem csak automatikusan bemásolunk egy parancsot, hanem elolvassuk a leírást és a helpet is.
Tipp: Egy script-et is készíthetünk valamilyen beállítással és azt futtatva ideiglenesen megváltoztathatjuk a felbontást – gyorsan, majd egy másikkal vissza.
Ennyi.
Az eredeti bejegyzés a blogomban jelent meg