https://guide.debianizzati.org/api.php?action=feedcontributions&user=Gmc&feedformat=atomGuide@Debianizzati.Org - Contributi dell'utente [it]2024-03-29T08:38:26ZContributi dell'utenteMediaWiki 1.39.5https://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=38328Xrandr e udev: configurare un monitor esterno in automatico2015-05-07T19:13:38Z<p>Gmc: </p>
<hr />
<div>{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare <code>udev</code> e <code>xrandr</code> per configurare in automatico uno o più monitor quando si collegano alla VGA, DVI o HDMI.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [[Udev_e_Debian|udev]], che attiverà uno [[script]] al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>xrandr</code> si avrà un output simile al seguente:<br />
<pre><br />
$ xrandr<br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta VGA, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con <code>xrandr</code>. Ad esempio:<br />
<pre><br />
$ xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre><br />
che rende primario l'output sul monitor del portatile, e affianca a sinistra un monitor collegato alla porta VGA. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite Xorg. A questo punto dare:<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da <code>xrandr</code>. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio VGA). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno.<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il [[path]] nel syfs della porta VGA (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite <code>xrandr</code> lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura <code>xrandr</code> in una certa maniera (in questo caso alla stessa maniera della sezione [[#Xrandr|Xrandr]], altrimenti si lascia tutto come in precendenza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio DVI/HDMI o cose del genere. Inoltre facendo il parsing dell'edid, tramite ''get-edid'' e ''parse-edid'', si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta <code>xrandr</code> in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}<br />
<br />
[[Categoria: Xorg]]</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29719Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:47:39Z<p>Gmc: /* Script principale */</p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il path nel syfs della porta vga (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite xrandr lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura xrandr in una certa maniera (in questo caso alla stessa maniera della sezione [[#Xrandr|Xrandr]], altrimenti si lascia tutto come in precendeza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio dvi/hdmi o cose del genere. Inoltre facendo il parsing dell'edid, tramite get-edid e parse-edid, si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta xrandr in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29718Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:47:12Z<p>Gmc: /* Script principale */</p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il path nel syfs della porta vga (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite xrandr lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura xrandr in una certa maniera (in questo caso alla stessa maniera della sezione [[#Xrandr Xrandr]], altrimenti si lascia tutto come in precendeza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio dvi/hdmi o cose del genere. Inoltre facendo il parsing dell'edid, tramite get-edid e parse-edid, si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta xrandr in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29717Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:46:52Z<p>Gmc: /* Script principale */</p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il path nel syfs della porta vga (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite xrandr lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura xrandr in una certa maniera (in questo caso alla stessa maniera della sezione [[#Xrandr]], altrimenti si lascia tutto come in precendeza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio dvi/hdmi o cose del genere. Inoltre facendo il parsing dell'edid, tramite get-edid e parse-edid, si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta xrandr in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29716Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:43:39Z<p>Gmc: /* Script principale */</p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il path nel syfs della porta vga (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite xrandr lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura xrandr in una certa maniera (in questo caso alla stessa maniera della sezione [#Xrandr Xrandr], altrimenti si lascia tutto come in precendeza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio dvi/hdmi o cose del genere. Inoltre facendo il parsing dell'edid, tramite get-edid e parse-edid, si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta xrandr in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29714Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:43:02Z<p>Gmc: /* Script principale */</p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il path nel syfs della porta vga (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite xrandr lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura xrandr in una certa maniera (in questo caso alla stessa maniera della sezione [http://guide.debianizzati.org/index.php/Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico#Xrandr Xrandr], altrimenti si lascia tutto come in precendeza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio dvi/hdmi o cose del genere. Inoltre facendo il parsing dell'edid, tramite get-edid e parse-edid, si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta xrandr in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29713Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:42:14Z<p>Gmc: </p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
UNI=stringa esadecimale contenente l'edid dello schermo<br />
VGA=/sys/class/drm/card0/card0-VGA-1/<br />
<br />
<br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
Spieghiamo cosa fa lo script.<br />
<br />
<code>UNI</code> è una costante, l'edid dello schermo esterno, ottenuto come detto in precedenza. La variabile <code>VGA</code> è il path nel syfs della porta vga (ricordarsi che può cambiare a seconda della propria configurazione).<br />
<br />
Se lo schermo risulta connesso (primo if) si abilita tramite xrandr lo schermo esterno (necessario altrimenti non si riesce a prendere l'edid). Dopodiché se l'edid è uguale a quello della costante UNI si configura xrandr in una certa maniera (in questo caso alla stessa maniera della sezione [#Xrandr], altrimenti si lascia tutto come in precendeza.<br />
<br />
Se lo schermo non è attaccato si deconfigura il secondo monitor.<br />
<br />
Ovviamente creando più costanti e più elseif, si possono configurare quanti monitor esterni si vogliono.<br />
==Sofisticherie==<br />
Ovviamente si possono fare cose decisamente sofisticate, come abilitare l'audio dvi/hdmi o cose del genere. Inoltre facendo il parsing dell'edid, tramite get-edid e parse-edid, si può andare a cercare il nome del modello e fare cose molto sofisticate (anche se quasi inutili...) come se hai questo modello di monitor attaccato imposta xrandr in questa maniera (uno potrebbe avere 10 monitor uguali... però il seriale sarebbe diverso).<br />
<br />
Ovviamente le possibilità sono solo limitate dalla fantasia.<br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Xrandr_e_udev:_configurare_un_monitor_esterno_in_automatico&diff=29712Xrandr e udev: configurare un monitor esterno in automatico2012-09-22T14:31:50Z<p>Gmc: Creata pagina con '{{stub}} {{Versioni compatibili|Wheezy}} ==Introduzione== Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si ...'</p>
<hr />
<div>{{stub}}<br />
{{Versioni compatibili|Wheezy}}<br />
==Introduzione==<br />
Questa guida si propone di spiegare come usare udev e xrandr per configurare in automatico uno o più monitor quando si collegano alla vga, dvi o hdmi.<br />
<br />
Normalmente per configurare un monitor esterno si utilizza xrandr. Seguendo le seguenti istruzioni sarete in grado di farlo una tantum e dalla volta successiva in poi in maniera automatica, possibilmente scegliendo la configurazione a seconda del monitor che si attacca.<br />
<br />
Per raggiungere questo scopo, si userà [http://guide.debianizzati.org/index.php/Udev_e_Debian udev], che attiverà uno script al collegamento (o scollegamento) di un monitor. Questo script, tramite l'[http://en.wikipedia.org/wiki/Extended_display_identification_data edid] riconosce univocamente il monitor esterno. A questo punto con una serie di if, possiamo configurare a piacere il nostro monitor.<br />
==Xrandr==<br />
Prima di tutto, bisogna capire che configurazione si ha. Lanciando da terminale <code>$ xrandr</code> si avrà un output simile al seguente<br />
<pre><br />
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192<br />
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 270mm x 150mm<br />
1366x768 60.0*+<br />
1360x768 59.8 60.0 <br />
1024x768 60.0 <br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 disconnected (normal left inverted right x axis y axis)<br />
DP1 disconnected (normal left inverted right x axis y axis)<br />
</pre><br />
Qui, <code>LVDS1</code> è il monitor del portatile, <code>VGA1</code> è una porta vga, <DP1> è un porta DisplayPort, probabilmente presente nel chipset grafico, ma nel caso in questione non fisicamente collegata ad una porta. Generalmente altri possibili output sono <code>HDMI</code>, <DVI> con ovvia interpretazione.<br />
<br />
Prendere nota dei propri dati. Serviranno successivamente.<br />
<br />
Ora collegare un monitor esterno e configurarlo, secondo le proprie necessità, con xrandr. Ad esempio<br />
<pre><br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
</pre> che rende primario l'output sul monitor del portatile, e affianca a sinistra un mointor collegato alla porta vga. In questo caso, dato che il monitor esterno ha una risoluzione verticale maggiore del portatile, si è scelto di allineare i due monitor in basso.<br />
<br />
Se si hanno più monitor esterni, configurare ogni monitor.<br />
==Edid==<br />
Come detto in precedenza, tramite l'edid avremo un modo univoco per riconoscere un monitor esterno. Per trovare l'edid del monitor, bisogna prima di tutto collegarlo e attivarlo tramite xorg. A questo punto dare<br />
<pre><br />
$ cat /sys/class/drm/card0-VGA-1/edid | hexdump -v -e '"" "%X" '<br />
</pre><br />
Si otterrà una stringa esadecimale. Ricordarsi di cambiare "VGA-1" a seconda dell'output avuto in precedenza da xrandr. Copiare questa stringa.<br />
==Regola udev==<br />
Il punto interessante è che udev si accorge quando si collega (o scollega) un monitor ad una porta (per esempio vga). A questo punto si crea una regola udev che lancia uno script. Quindi bisogna creare il file <code>/etc/udev/rules.d/90-monitor.rules</code><br />
<pre><br />
ACTION=="change", SUBSYSTEM=="drm", RUN+="/path/to/script/monitor.sh"<br />
</pre><br />
Questa regola attiverà lo script <code>/path/to/script/monitor.sh</code> ad ogni collegamento o scollegamento di un cavo esterno<br />
==Script principale==<br />
Creare e rendere eseguibile il seguente file <code>/path/to/script/monitor.sh</code><br />
<pre><br />
export DISPLAY=:0.0<br />
<br />
if [[ `cat $VGA\status` == "connected" ]]<br />
then<br />
xrandr --output LVDS1 --primary --output VGA1 --auto;<br />
EDID=`cat $VGA\edid | hexdump -v -e '"" "%X" '`;<br />
if [[ $UNI == $EDID ]]<br />
then<br />
xrandr --output LVDS1 --pos 1280x256 --primary --output VGA1 --pos 0x0 --auto<br />
fi<br />
else<br />
xrandr --output VGA1 --off<br />
fi<br />
</pre><br />
[[Categoria: Xorg]]<br />
{{Autori | Autore = [[Utente:Gmc|Gmc]] 16:31, 22 set 2012 (CEST) }}</div>Gmchttps://guide.debianizzati.org/index.php?title=Old:Migrazione_Debianizzati.org_-_Segnalazioni_e_suggerimenti&diff=21121Old:Migrazione Debianizzati.org - Segnalazioni e suggerimenti2010-05-26T02:07:59Z<p>Gmc: /* Segnalazioni indipendenti dal tema */</p>
<hr />
<div>==Introduzione==<br />
In questa pagina è possibile inserire le proprie segnalazioni inerenti alla migrazione di Debianizzati.org sulla piattaforma Drupal.<br/><br />
Le segnalazioni possono comprendere problemi riscontrati nella navigazione delle pagine e nella loro formattazione oppure nella mancanza di strumenti o nel loro errato funzionamento. È anche possibile inserire suggerimenti sull'introduzione di funzionalità non presenti.<br/><br />
<br />
==Inserire una segnalazione==<br />
È importante inserire la propria segnalazione nella tabella apposita per differenziare le segnalazioni legate ad un particolare tema da quelle indipendenti dal tema stesso.<br/><br />
Per inserire una segnalazione basta aggiungere queste due righe di seguito ad una riga già esistente in una della due tabelle:<br />
<pre><br />
| style="background-color:#CODE" | || TITOLO || DESCRIZIONE || || <br />
|-<br />
</pre><br />
dove:<br />
;CODE:<br />
* 43b704 = priorità bassa (colore verde)<br />
* ec8031 = priorità media (colore arancione)<br />
* ec2025 = priorità alta (colore rosso)<br />
* 5c54fd = wishlist (desiderata)<br />
;TITOLO:<br />
* Titolo della segnalazione<br />
;DESCRIZIONE:<br />
*Descrizione della segnalazione<br />
<br />
<br />
==Link==<br />
Questa pagina è basata sulle seguenti discussioni aperte sul forum:<br/><br />
[http://forum.debianizzati.org/forums/viewtopic.php?f=21&t=40356 Migrazione Debianizzati.org]<br/><br />
[http://forum.debianizzati.org/forums/viewtopic.php?f=7&t=40509 Test Migrazione]<br/><br />
[http://forum.debianizzati.org/forums/viewtopic.php?f=7&t=40555 Raccolta richieste per il tema]<br/><br />
<br />
==Invito==<br />
Si pregano tutti gli utenti di controllare la lista seguente per correggere gli inevitabili errori e per integrare le prevedibili sviste.<br />
<br />
<br />
<small><span style="color:#43b704">priorità bassa</span></small><br/><br />
<small><span style="color:#ec8031">priorità media</span></small><br/><br />
<small><span style="color:#ec2025">priorità alta</span></small><br/><br />
<small><span style="color:#5c54fd">wishlist</span></small><br/><br />
<br />
== Segnalazioni indipendenti dal tema ==<br />
{| {{Prettytable}} width="99%" <br />
|-<br />
| width="1%" | || width="27%" | '''Titolo''' || width="36%" | '''Descrizione''' || align="center" width="75px" | '''Confermato (sì/no)''' || align="center" width="75px" | '''Risolto (sì/no)''' || align="center" | '''Note'''<br />
|-<br />
| style="background-color:#43b704" | || Menù personale utente ha titolo in inglese || Il menù personale utente (quello che appare sulla sinistra dopo aver fatto login) ha il titolo in inglese. || || <br />
|-<br />
| style="background-color:#ec8031" | || Blocco colore testo troppo ampio || Il blocco "Colore del testo" che compare quando si scrive un messaggio occupa gran parte dello schermo e confina il box per scrivere il testo in una parte percentualmente piccola della pagina. || || <br />
|-<br />
| style="background-color:#ec8031" | || Notifica di risposta non ha il testo || La notifica di risposta al post non ha il testo integrato, ma riporta solo i link al topic. || || <br />
|-<br />
| style="background-color:#ec8031" | || Layout spostato a destra || Ho notato che quando apro una nuova pagina il layout del sito si sposta a destra costringendomi ad uno scrolling orizzontale, se ricarico la pagina torna al centro. || || <br />
|-<br />
| style="background-color:#ec8031" | || Primo messaggio "non letto dall'ultima volta" || Non trovo il tastino per aprire la discussione al primo messaggio "non letto dall'ultima volta". Riesco solo ad andare sull'ultimo della discussione. || || <br />
|-<br />
| style="background-color:#ec2025" | || Problema font || Forse il testo dei messaggi è leggermente troppo piccolo, mentre quello delle board è decisamente troppo grande; è anche troppo grande quando si scrive un nuovo messaggio. || || <br />
|-<br />
| style="background-color:#43b704" | || Favicon || L'icona sulle schede e nella barra degli indirizzi è ancora quella di Drupal || || <br />
|-<br />
| style="background-color:#ec2025" | || Shift verso l'alto dei contenuti || Tutto dovrebbe essere "spostato in su", a cominciare dal logo e dai link Front-Forum-Guide. || || <br />
|-<br />
| style="background-color:#43b704" | || Emoticon || A mio avviso le emoticon a sinistra quando si scrive un nuovo messaggio sono un po' scomode e danno fastidio visivamente. || || <br />
|-<br />
| style="background-color:#ec2025" | || Modifica titolo nelle schede || Il titolo della pagina di una discussione è "Leggi argomento - titolo". Dovrebbe essere solo "titolo" perché quando di hanno più schede aperte, non si può differenziare una scheda da un'altra. || || <br />
|-<br />
| style="background-color:#5c54fd" | || Casella di ricerca || Aggiungerei una casella di ricerca in alto || || <br />
|-<br />
| style="background-color:#5c54fd" | || Inserimento link al regolamento || Da qualche parte in alto (magari accanto ai vari link debianizzati oppure accanto a faq) metterei un link al regolamento del forum. || || <br />
|-<br />
| style="background-color:#ec8031" | || Larghezza forum || Stringerei un po' la larghezza del forum, così largo ci si stanca nella lettura. || || <br />
|-<br />
| style="background-color:#ec2025" | || Problema URL nei motori di ricerca || Dopo la mograzione le discussioni hanno cambiato il permalink. Tutte le pagine indicizzate fino a quel momento dai motori di ricerca non sono raggiungibili. || || <br />
|-<br />
| style="background-color:#ec2025" | || Problema rendering in Iceweasel || Problema di rendering quando con iceweasel si zoomma (compaiono linee nere). || || <br />
|-<br />
| style="background-color:#ec2025" | || Feed RSS || I feed RSS non sono implementati || || <br />
|-<br />
| style="background-color:#ec8031" | || Orario forum || Sembra che l'ora del forum sia indietro di 2 ore. || || || È dovuto al fatto che phpbb è impostato su GMT. Quindi o si cambia l'impostazione globale, oppure ogni utente deve cambiare nelle proprie impostazioni. Il cambio ora legale/solare non è automatico e va fatto sempre nelle preferenze dell'utente. <br />
|-<br />
| style="background-color:#ec8031" | || Login automatico || Il login automatico ogni tanto non va. || || <br />
|-<br />
| style="background-color:#ec8031" | || Notifica nuovo post || Quando scrivo un post e lo invio non mi viene notificata l'aggiunta di un nuovo post prima di inviare il mio. || || <br />
|-<br />
| style="background-color:#5c54fd" | || Supporto SSL per i cookie || Phpbb3 supporta ssl anche per i cookie. || || <br />
|-<br />
| style="background-color:#5c54fd" | || Aggiunta funzionalità statistiche || In un futuro remoto potrebbe essere utile aggiungere le funzionalità statistiche che erano implementate da SMF. || || <br />
|-<br />
| style="background-color:#ec2025" | || Problema allegati || Ho problemi ad inserire allegati ho provato con un txt e con uno zip ma non me li accetta come estensioni valide. || || <br />
|-<br />
| style="background-color:#ec8031" | || Redirect dopo logout || Quando si effettua un logout si finisce alla pagina http://forum.debianizzati.org/forums/. || || <br />
|-<br />
| style="background-color:#43b704" | || Tasto modifica colore || Dal form di immissione dei messaggi non trovo più la possibilità di cambiare il colore a porzioni del messaggio (strumento che prima utilizzavo spesso). || || <br />
|-<br />
| style="background-color:#43b704" | || Tasti con testo tagliato || I vari tasti per specificare i BBCode tagliano le scritte Quote, Code e List. || || <br />
|-<br />
| style="background-color:#43b704" | || Limite dimensione allegati ||Ho provato ad allegare un'immagine png di 112kb ma non è possibile farlo perché mi viene detto che il limite massimo di file da allegare è stato superato. || || <br />
|-<br />
| style="background-color:#ec2025" | || Integrazione contenuti forum nella frontpage || Dal front di debianizzati.org il forum non risulta ben integrato. || || <br />
|-<br />
| style="background-color:#ec8031" | || Font enormi con login automatico || Ho notato che quando il login automatico funziona, i font sono enormi. || || <br />
|-<br />
| style="background-color:#ec2025" | || Problemi con la funzione di ricerca || Nel vecchio forum il link riportava il titolo del topic. Ora cercando con i termini del vecchio titolo si fà fatica a trovare quel che si vuole. || || <br />
|-<br />
| style="background-color:#5c54fd" | || Possibilità di ordinare i post || Dopo aver cliccato su "nuovi messaggi" sarebbe molto utile poterli ordinare per data sia in maniera decrescente (default) sia in maniera crescente. || || <br />
|-<br />
| style="background-color:#43b704" | || Differenza di comportamento fra "forums" e "phpbb" || Si prenda l'indirizzo html di una disucssione. Se invece di "forums" si mette "phpbb", l'impostazione grafica è completamente diversa. || ||<br />
|-<br />
| style="background-color:#43b704" | || Redirect da login a "nuovi messaggi" sbagliato || Appena effettuato il login, si ha l'opportunità di andare a vedere i nuovi messaggi. Però il link è "sbagliato": fa riferimento a phpbb e non a forums (vedi sopra).|| || <br />
|-<br />
<br />
|}<br />
<br />
== Segnalazioni dipendenti dal tema ==<br />
{| {{Prettytable}} width="99%" <br />
|-<br />
| width="1%" | || width="27%" | Titolo || width="36%" | Descrizione || align="center" width="75px" | Confermato (sì/no) || align="center" width="75px" | Risolto (sì/no) || align="center" | Note<br />
|-<br />
| style="background-color:#43b704" | || Indicazione topic in "ultimo messaggio" || Si potrebbe avere nella colonna "ultimo messaggio" oltre al nick ed alla data anche il topic di riferimento? || || <br />
|-<br />
| style="background-color:#43b704" | || Aumentare contrasto || A mio avviso il tema predefinito (serenity) è ben fatto, ma servirebbe un po' più di contrasto || || <br />
|-<br />
| style="background-color:#43b704" | || Icona "vedi ultimi messaggi" troppo piccola || Sarebbe ancora più comodo se quella specie di freccettina si potesse fare un po' più grande || || <br />
|-<br />
| style="background-color:#43b704" | || Colore citazione e codice || Renderei un po' più scuro lo sfondo delle citazioni o dei codici || || <br />
|-<br />
| style="background-color:#43b704" | || Modifica post solo con Serenity || La modifica dei propri post funziona solo con Serenity: li ho provati tutti. || || <br />
|-<br />
|}</div>Gmc