Terminator va in segmentation fault durante il drag & drop

Ho da poco scoperto Terminator (sì, lo so, era ora!) e me ne sono praticamente innamorato. Ho anche scoperto in fretta che trascinando per un po’ i terminali, Terminator va in segmentation fault. Fortunatamente esiste un “rimedio”, indicato qui: https://bugs.launchpad.net/terminator/+bug/869503/comments/15

L’unico effetto collaterale è che quando trascinerete testo o file dentro a Terminator avrete la stessa animazione del trascinamento dei terminali, un prezzo assai misero da pagare per evitare crash.

Per applicare questa modifica, aprite il file /usr/share/terminator/terminatorlib/terminal.py da root

sudo nano /usr/share/terminator/terminatorlib/terminal.py

e cercate la funzione on_drag_motion (CTRL + W e scrivete def on_drag_motion) e commentate il primo if che incontrate:

def on_drag_motion(self, widget, drag_context, x, y, _time, _data):
"""*shrug*"""
#        if gtk.targets_include_text(drag_context.targets) or \
#           gtk.targets_include_uri(drag_context.targets):
#            # copy text from another widget
#            return

Salvate, chiudete e avete finito.

Per i pigri, o se dovete applicare questo rimedio su più di un computer e volete farlo con un solo comando (se non avete installato curl, fatelo, è troppo fico per non averlo!):

curl http://pastebin.com/download.php?i=X24riVAt | sudo patch /usr/share/terminator/terminatorlib/terminal.py

Bonus trick (Ubuntu)

Una volta installato Terminator su Ubuntu, mi sono accorto che aveva preso il posto di GNOME Terminal nella scorciatoia CTRL + ALT + T. Il modo migliore per correggere questo comportamento è reimpostare x-terminal-emulator al suo valore originale:

sudo update-alternatives --set x-terminal-emulator  /usr/bin/gnome-terminal.wrapper
About these ads

Un pensiero su “Terminator va in segmentation fault durante il drag & drop

  1. Antenagora scrive:

    Grazie per aver evidenziato il workarround, confermo che questo bug è presente anche in Fedora 18, il file da modificare in questo caso si trova qui:

    /usr/lib/python2.7/site-packages/terminatorlib/terminal.py

    Mentre in CentOS 6.3 e 6.4 terminator funziona correttamente.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...