Váltás egyképernyős és dual-képernyős üzemmód között Grub menü segítségével

tibcsi küldte be h, 2009-10-12 14:59 időpontban

Egyik Ubuntu 9.04-et használó barátom kérdezett meg arról, hogy hogyan tudná megoldani a laptopján, hogy otthon 1-képernyős XOrg beállításokkal, míg munkahelyén két képernyős XOrg beállításokkal indíthassa kedvenc operációs rendszerét, mindemellett ne kelljen a váltáshoz újraindítani az XOrg-ot.

Egy kis töprengés után a következő tippet adtam neki:

A Grub menüben vegyen fel egy új menüpontot ugyanazzal a kernellel, mint amit használ, és egészítse ki a kernel opciókat egy 'dualkepernyo' szócskával. Valahogy így:

<br />
title       Ubuntu 9.04, Egykepernyos<br />
kernel      /vmlinuz-2.6.28-15-generic root=... ro quiet splash<br />
initrd      /initrd.img-2.6.28-15-generic<br />
quiet</p>
<p>title       Ubuntu 9.04, Ketkepernyos<br />
kernel      /vmlinuz-2.6.28-15-generic root=... ro quiet splash dualkepernyo<br />
initrd      /initrd.img-2.6.28-15-generic<br />
quiet<br />

Tehát két menüpont legyen, az egyik az egyképernyős, a másik pedig a kétképernyős üzemmód.
Ezután hozzon létre egy init scriptet az /etc/init.d -ben dualkepernyo néven, ami a következőt tartalmazza:

<br />
#!/bin/sh<br />
if grep -q -w -- "-s\|dualkepernyo\|S" /proc/cmdline; then<br />
&nbsp;&nbsp;cp /etc/X11/xorg.dual.conf /etc/X11/xorg.conf<br />
else<br />
&nbsp;&nbsp;cp /etc/X11/xorg.single.conf /etc/X11/xorg.conf<br />
fi<br />

Ez a script nem csinál mást, minthogy ellenőrzi, szerepel-e a kernel-opciók között a 'dualkepernyo' szócska.
Ettől függően a választott boot-menünek megfelelő XOrg konfigurációs fájlt másolja a helyére.
Természetesen ezeket a konfigurációs fájlokat előzetesen létre kell hozni a megfelelő XOrg beállításokkal.

Már csak azt kell elérni, hogy a script lefusson boot-időben, még a gdm indulása előtt:

<br />
chmod 755 /etc/init.d/dualkepernyo<br />
ln -s /etc/init.d/dualkepernyo /etc/rc2.d/S29dualkepernyo<br />

A 2-es futási szintbe tettem, mivel Ubuntu 9.04-ben ez az alapértelmezett futási szint. A sorrend meghatározásához pedig 1-gyel kisebb számot (S29-et) használtam, mint a gdm sorrendje - mivel nálam a gdm S30-as.

Elég csúnya megoldásnak tűnik, de működött :)

Én az xrandr-t és a grandr-t használom erre a célra, mivel nem is nagyon boot-olom újra a gépet, csak sleep meg hibernate megy a lapin...

Az egyszerűség kedvéért először kiadok egy „xrandr --auto” -t, hogy észrevegye, hogy van még egy monitor/ vagy nincs. Aztán a „grandr”-ral beállítom, hogy milyen irányban és mekkora felbontással rendelkezik az új monitor...

nvidia-hoz ajánlom a disper nevü progit, le kell menteni a beallitast, majd ha gyorsbillentyűt vagy ikont csinálunk, akkor egy kattintással/gombnyomással meg is van a dualscreen...én az autostart progikhoz adom, és lefut mindig, ha nincs hozzákötve a monitor, semmit nem csinál, ha meg hozzávan kötve akkor meg szépen inditja automatice...

tibcsi

sze, 2009-10-14 12:30

Válasz rebegin üzenetére

Köszi, javasoltam az ismerősömnek, gondoltam, hogy van erre kész megoldás is, csak nem találtam.

Igaz, korrigálom: a cél az volt, hogy munkahelyi környezetben indíthassa dualképernyősen a gépét, otthon pedig egyképernyősen. Viszont eddig - mivel nem volt kiválasztható - mindig módosítania kellett az xorgon, majd újraindítani az X-et, így pedig már van választási lehetősége bootoláskor.
Lehet, hogy ágyúval verébre, de nekem jobb megoldás nem jutott eszembe, viszont a többiek a hozzászólásban írtak ennél sokkal jobb megoldásokat is. Köszönet érte.