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

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:


title Ubuntu 9.04, Egykepernyos
kernel /vmlinuz-2.6.28-15-generic root=... ro quiet splash
initrd /initrd.img-2.6.28-15-generic
quiet

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

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:


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

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:


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

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 Vigyor

Hozzászólások

Nem akarok kötözködni, de a

Nem akarok kötözködni, de a cél nem az volt, hogy az X-et _se_ indítsuk újra? Ez így olyan ágyúval verébre dolog. Vigyor

Igaz, korrigálom: a cél az

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.

disper

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...

Köszi

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

szimszon képe

Én az xrandr-t és a grandr-t

É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...

Megnézzük

Köszi szimszon, megnézem őket.