scelta configurazione X11 al bootup

Premessa:
Uscito finalmente dal nirvana della configurazione di X per una ubuntu
dapper mi trovo ad avere 3 file di xorg.conf per le configurazioni
1920x1200 in modalita' solo laptop, 1280x1024 per monitor collegato a un port
replicator e 1024x768 con clone dello schermo per eventuale proiettore.
Credetemi se vi dico che ho tentato di fare coesistere tutte e tre in
una sola configurazione e, contento delle mie risoluzioni, per ora ho
accettato l'idea di avere tre file per le diverse modalita'.

Domanda:
Qualcuno conosce il modo di lanciare uno script da root (in bash) con una
selezione nel bootloader grub (e comunque prima che parte X)?

Ciao
Andrea

Fatti la scelta al boot con grub con un parametro aggiuntivo tuo tipo

myvideo=1920x1200

poi fatti uno script in /etc/rc* che parta prima di gdm/kdm che, leggendo la
stringa in /proc/bootparam, ti sostituisca al volo xorg.conf giusto.

fatto.

Excellent, grazie.
Andrea

* [A.D. 110906, 09:21], Marco Ciampa <ciampix(a)libero.it> probably wrote:

Marco Ciampa schrieb:

Fatti la scelta al boot con grub con un parametro aggiuntivo tuo tipo

myvideo=1920x1200

poi fatti uno script in /etc/rc* che parta prima di gdm/kdm che, leggendo la
stringa in /proc/bootparam, ti sostituisca al volo xorg.conf giusto.

Si io ho fatto proprio questo. Uso la variabile head. In grub mi sono
duplicato il menu entry per far partire GNU/Linux. Per ogni valore della
variabile ho un entry:

title Ubuntu, kernel 2.6.12-10-386 dualhead
root (hd0,2)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda3 ro quiet splash head=dual
initrd /boot/initrd.img-2.6.12-10-386
boot

title Ubuntu, kernel 2.6.12-10-386 singlehead
root (hd0,2)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda3 ro quiet splash
head=single
initrd /boot/initrd.img-2.6.12-10-386
boot

title Ubuntu, kernel 2.6.12-10-386 beamer
root (hd0,2)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda3 ro quiet splash
head=beamer
initrd /boot/initrd.img-2.6.12-10-386
boot

Poi nel init script do gdm ho aggiunto:

  # (PO)
  if [ "$head" = "dual" ]; then
      rm /etc/X11/xorg.conf
      ln -s /etc/X11/xorg.conf_dualhead /etc/X11/xorg.conf
  fi
  if [ "$head" = "single" ]; then
      rm /etc/X11/xorg.conf
      ln -s /etc/X11/xorg.conf_singlehead /etc/X11/xorg.conf
  fi
  if [ "$head" = "beamer" ]; then
      rm /etc/X11/xorg.conf
      ln -s /etc/X11/xorg.conf_beamer /etc/X11/xorg.conf
  fi

/etc/X11/corg.conf è solo solo un symlinks, così posso cancellarlo senza
paura di perdere una config...

Happy hacking!
Patrick

p.s. Volevo fare un pacchetto, ma non ho mai trovato il tempo. Forse
qualcuno ha voglia e tempo!?

Marco Ciampa wrote:

attachment.htm (1.63 KB)

Andrea Sisti schrieb:

Solo una precisazione riguardo al file in /proc dal quale leggere i
parametri
passati al boot : si chiama /proc/cmdline :slight_smile:

Non serve se si usa una variabile con un valore. In quel caso durante il
boot vien settato il valore della variabile e nel init-script si usa la
variabile. Ha il vantaggio che lo script è indipendente dal utilizzo,
cioè lo si può usare anche dopo il boot settando la variabile sulla
console e eseguendo lo script.

Happy hacking!
Patrick

Buono a sapersi! Grazie, ogni giorno si impara qualcosa.