LimiT-MaTz
27-08-2005, 19:52
Ciao
Ho X configurato in modo da avere 2 monitor in modalità twinview poiche' non posso avere anche il TV-OUT abilitato contemporaneamente al Dual monitor ho deciso di fare uno scriptino tale da permettere lo switch (script che verra poi lanciato da lircd).
Ho pensato di realizzare lo script in questo modo:
file esterno in cui scrivo la modalità in cui sto operando (o DUAL o TV-OUT)
in base alla variabile (scritta sul file) sostituisco la giusta configurazione a xorg.conf.
Qui si presentava un problema per andare a scrivere il file /etc/X11/xorg.conf ho bisogno di avere i permessi di root per ovviare al problema ho scritto questo nella configurazione di /etc/sudoers
matz ALL=(root) NOPASSWD: /bin/cp
in modo da poter richiamere il comando cp con permessi di Root senza pass.
Dopo aver fatto questa operazione killo il server grafico poiche' non uso greeter e quindi non posso avere una soluzione del tipo /etc/init.d/xxx restart sono costretto a fare un killall X e poi rieseguirlo tramite startx
questo e' il codice:
#!/bin/bash
## OGNI VOLTA CHE VIENE ESEGUITO DA ROOT
## SWITCH DUAL-MONITOR A TV-OUT RIAVVIANDO IL SERVER
## E CAMBIANDO LA VARIABILE NEL $LOC
LOC="/home/matz/prova"
VAR=`cat $LOC`
case $VAR in
TV-OUT)
sudo cp /etc/X11/xorg.conf-FUNZ-DUAL /etc/X11/xorg.conf
echo DUALMON > $LOC
;;
DUALMON)
sudo cp /etc/X11/xorg.conf-FUNZ-TV-MONO /etc/X11/xorg.conf
echo TV-OUT > $LOC
;;
*)
## SIAMO IN UNA SITUAZIONE DI ERRORE E STOPPARE
exit
;;
esac
### RESTO DEL CODICE
killall X;startx
non funziona perche nel momento in cui arriva a killall X uccide tutti i figli del processo compreso lo script stesso e quindi non arrivo allo startx ...
Come posso risolvere?
come posso migliorare la parte relativa al sudo ?
Consigli ? Grazie
:D
Ho X configurato in modo da avere 2 monitor in modalità twinview poiche' non posso avere anche il TV-OUT abilitato contemporaneamente al Dual monitor ho deciso di fare uno scriptino tale da permettere lo switch (script che verra poi lanciato da lircd).
Ho pensato di realizzare lo script in questo modo:
file esterno in cui scrivo la modalità in cui sto operando (o DUAL o TV-OUT)
in base alla variabile (scritta sul file) sostituisco la giusta configurazione a xorg.conf.
Qui si presentava un problema per andare a scrivere il file /etc/X11/xorg.conf ho bisogno di avere i permessi di root per ovviare al problema ho scritto questo nella configurazione di /etc/sudoers
matz ALL=(root) NOPASSWD: /bin/cp
in modo da poter richiamere il comando cp con permessi di Root senza pass.
Dopo aver fatto questa operazione killo il server grafico poiche' non uso greeter e quindi non posso avere una soluzione del tipo /etc/init.d/xxx restart sono costretto a fare un killall X e poi rieseguirlo tramite startx
questo e' il codice:
#!/bin/bash
## OGNI VOLTA CHE VIENE ESEGUITO DA ROOT
## SWITCH DUAL-MONITOR A TV-OUT RIAVVIANDO IL SERVER
## E CAMBIANDO LA VARIABILE NEL $LOC
LOC="/home/matz/prova"
VAR=`cat $LOC`
case $VAR in
TV-OUT)
sudo cp /etc/X11/xorg.conf-FUNZ-DUAL /etc/X11/xorg.conf
echo DUALMON > $LOC
;;
DUALMON)
sudo cp /etc/X11/xorg.conf-FUNZ-TV-MONO /etc/X11/xorg.conf
echo TV-OUT > $LOC
;;
*)
## SIAMO IN UNA SITUAZIONE DI ERRORE E STOPPARE
exit
;;
esac
### RESTO DEL CODICE
killall X;startx
non funziona perche nel momento in cui arriva a killall X uccide tutti i figli del processo compreso lo script stesso e quindi non arrivo allo startx ...
Come posso risolvere?
come posso migliorare la parte relativa al sudo ?
Consigli ? Grazie
:D