Xorg 1.6 – Ctrl + alt + backspace

Una delle feature introdotte nella versione 1.6 di Xorg è la disabilitazione di default della combinazione ctrl+alt+backspace.

Sulle mailing list è possibile leggere molto a riguardo, sul fatto che “normalmente” un riavvio del server X non dovrebbe essere necessario e su quanto, per un nuovo utente, possa essere semplice digitare accidentalmente la combinazione e ritrovarsi con il lavoro perso e una bella schermata di login senza sapere perché.

In effetti le ragioni sono plausibili, ma per alcuni il “normalmente”, significa aver necessità di riavviare X senza dover eseguire il kill del processo da un terminale: in passato mi sono capitate delle situazioni in cui X si è completamente congelato e con un ctrl+alt+backspace si è ripristinato il tutto senza dover riavviare l’intero sistema. Avendo l’opzione disabilitata, se il terminale (ctrl+alt+f1…f6) non risponde ai comandi allora non resta che il reset. Nel mio caso, ho preferito riabilitare l’opzione, aggiungendo al file xorg.conf (solitamente in /etc/X11) l’opzione “DontZap” ed impostandola a “false“. In proposito, riporto la sezione del mio file di configurazione:

Section "ServerFlags"
#   Option "AllowMouseOpenFail"  "true"
#      Option "AutoAddDevices" "False"
 Option  "DontZap" "False"
EndSection

In successivi aggiornamenti, è stata introdotta anche su HAL una disabilitazione della combinazione. Per riattivarla è sufficiente aggiungere questa entry

<merge key="input.xkb.options" type="string">
terminate:ctrl_alt_bksp
</merge>

all’interno del file /etc/hal/fdi/policy/10-keymap.fdi

In caso il file non fosse presente, copiarlo da /usr/share/hal/fdi/policy/10osvendor

cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi \
    /etc/hal/fdi/policy/

E modificarlo aggiungendo la entry di cui sopra.

Riporto di seguito il mio file keymap che funziona correttamente utilizzando entrance come login manager:

 <deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keymap">
      <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
    </match>

    <match key="info.capabilities" contains="input.keys">
      <merge key="input.xkb.rules" type="string">base</merge>

      <!-- If we're using Linux, we use evdev by default (falling back to
          keyboard otherwise). -->
      <merge key="input.xkb.model" type="string">keyboard</merge>
      </match><match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
            string="Linux">
        <merge key="input.xkb.model" type="string">evdev</merge>
      </match>

      <merge key="input.xkb.layout" type="string">it</merge>
      <merge key="input.xkb.variant" type="string" />
      <merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
   
  </device>
</deviceinfo>

Infine, se non si sta usando l’integrazione Xorg/HAL occorrerà aggiungere una opzione nel file /etc/X11/xorg.conf all’interno della sezione keyboard

Option         "XkbOptions" "terminate:ctrl_alt_bksp"

Al solito, spero che a qualcuno sia utile ;)

  1. inarrestabile anche nei giorni di festa! :D

  2. Eheh si, beh solo oggi mi è servito nuovamente di riavviare il server X e non andava :D

  1. No trackbacks yet.