Mercury Messenger e Compiz, convivenza possibile

Mercury MessengerAlcuni di voi, dopo aver installato Mercury (magari seguendo proprio le mie istruzioni) sicuramente avranno riscontrato dei malfunzionamenti con l’uso di Compiz (o Beryl) . In pratica si possono verificare 2 casi:

  1. Mercury non si avvia e va in crash durante il caricamento.
  2. Mercury si avvia ma vengono visualizzate solo finestre completamente grigie.

Vediamo di rimediare ad entrambi i problemi… 

Preciso innanzitutto che non si tratta di un vero bug di Mercury, bensì di Java. E’ consigliabile quindi installare sempre l’ultima versione disponibile della JVM.

Personalmente, vi consiglio lo script di Treviño, che oltre a scaricare automaticamente l’ultima versione di Java dal sito della Sun, provvede a creare i pacchetti .deb per Ubuntu, pronti per essere installati. Contengono inoltre alcuni bugfix

Se già non li avete, aggiungete i repository di Treviño nel vostro sources.list

# Treviño's Ubuntu Feisty Fawn Repository (GPG key: 81836EBF - DD800CD9)
# Many "random" bleeding edge software: aMule, aMSN, Mercury, flash...
# Further informations and complete packages list: http://3v1n0.tuxfamily.org
deb http://download.tuxfamily.org/3v1deb feisty 3v1n0
deb-src http://download.tuxfamily.org/3v1deb feisty 3v1n0

adesso autenticate i pacchetti con il comando

wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -

seguito a ruota dal classico

sudo apt-get update

Prendiamo adesso lo script automatico che scarica e crea il pacchetto di Java

sudo apt-get install make-jpkg-mustang

e andiamo ad eseguirlo

sudo make-jpkg-mustang

al termine delle operazioni, avrete un pacchetto .deb nel vostro Desktop (o nella Home), pronto per essere installato !

sudo dpkg -i nomepacchetto.deb

Verificate di utilizzare la versione 1.6.0-sun di Java con il comando

sudo update-alternatives --config java

Passiamo ai bugfix:

1) Ci sono ancora dei problemi con l’icona della System Tray. Per disabilitarla temporaneamente, aprite il file delle impostazioni:


sudo gedit ~/.Mercury/GlobalSettings.xml

cercata la stringa <Setting key=”use.tray”> e cambiatene il valore da true a false.

2) Per risolvere il problema delle finestre grigie, aprite lo script di avvio di Mercury:

sudo gedit /usr/share/mercury/startup/startup_linux.sh

trovate la riga

java -Djava.library.path=jni:jni/jmf -Xmx512m -classpath $classpath com.dMSN.Main $*

e sostituitela con

java -Dawt.toolkit=sun.awt.motif.MToolkit -Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Djava.library.path=jni:jni/jmf -Xmx512m -classpath $classpath com.dMSN.Main $*

Fatto ! 🙂
Adesso Mercury dovrebbe funzionare perfettamente.

Per risolvere l’inconveniente della mancanza dell’icona nella barra di sistema, potete usare programmi come kdocker, che permettono di mandare ad icona qualsiasi applicazione. Potete scaricare kdocker dai repository di Ubuntu, utilizzando Synaptic o apt-get.

Per esempio potete creare un’icona di avvio per Mercury con il comando:

kdocker -m -d /usr/bin/mercury

A proposito Alessandro

Ingegnere delle Telecomunicazioni con propensione al web2.0 ed il pallino della tecnologia; toscano & casentinese, vivo a Firenze
  • myway

    Ciao e grazie per la dritta… devo dirti però che da me non ha funzionato.. ho dovuto fare un altro paio di modifiche a startup_linux.sh cioè:

    invece di aggiungere tutta quella riga ho, al contrario rimosso la parte relativa alle librerie lasciando ciò che restava dell’originale cioè da:
    java -Djava.library.path=jni:jni/jmf -Xmx512m -classpath $classpath com.dMSN.Main $*
    a
    java -Xmx512m -classpath $classpath com.dMSN.Main $*
    e ritoccando un po’ una parte dello script che sta un po’ sopra che prevede già il workaround del MToolkit per compiz/beryl… che da me non funzionava e ritornava 1 anche quando avrebbe dovuto ritornare 0 così l’ho modificato da:
    # Compiz / Beryl fix
    if [ "`ps ax | grep -vq grep | grep compiz ; echo $?`" == "0"
    -o "`ps ax | grep -vq grep | grep beryl ; echo $?`" == "0" ]; then
    echo "- Adding Compiz/beryl compatibility mode."
    AWT_TOOLKIT=MToolkit

    a
    # Compiz / Beryl fix
    if [ "`ps ax | grep -vq grep | grep compiz | echo $?`" == "0"
    -o "`ps ax | grep -vq grep | grep beryl | echo $?`" == "0" ]; then
    echo "- Adding Compiz/beryl compatibility mode."
    AWT_TOOLKIT=MToolkit

    in pratica sostituendo i ; con dei pipe | . ho cercato nel man di bash cosa dovrebbe essere $? ma non sono riuscito a trovarlo, però ho notato che così la riga ritorna 0 (ammetto che è un workaround un po’ grezzo perchè il valore ritornato è 0 in ogni caso O_o).

    Questo è l’unico modo attraverso il quale mercury adesso funziona con beryl sul mio pc.

    Magari serve a qualcuno.. magari mi spiegate dove posso aver sbagliato! 😛
    grazie comunque e… ciao!!

  • Simone PD

    Funziona talmente bene che non va…
    Ho installato la 1.9 RC5, perché è l’unica che mi ha dato segni di vita. Avrei preferito avere una versione stabile, ma installare programmi su Ubuntu è una battaglia.
    Ho seguito entrambe le tue guide ma alla fine della prima guida ho la finestra tutta grigia, mentre alla fine della seconda il programma sparisce del tutto. Con la modifica di Myway torno a vedere la finestra grigia.

    Che cosa devo fare?

    PS: quando do il comando “sudo dpkg -i sun-java6-jre_6-02-ea-b02~3v1ubuntu0_i386.deb” ho come risposta:

    dpkg: valuto la rimozione di sun-java6-bin in favore di sun-java6-jre …
    dpkg: no, cannot proceed with removal of sun-java6-bin (–auto-deconfigure will help):
    sun-java6-jre depends on sun-java6-bin (= 6-00-2ubuntu2) | ia32-sun-java6-bin (= 6-00-2ubuntu2)
    sun-java6-bin sta per essere rimosso.
    dpkg: al riguardo di sun-java6-jre_6-02-ea-b02~3v1ubuntu0_i386.deb, contenente sun-java6-jre:
    sun-java6-jre conflicts with sun-java6-bin
    sun-java6-bin (versione 6-00-2ubuntu2) è installato.
    dpkg: errore processando sun-java6-jre_6-02-ea-b02~3v1ubuntu0_i386.deb (–install):
    pacchetti in conflitto – sun-java6-jre non installato
    Sono occorsi degli errori processando:
    sun-java6-jre_6-02-ea-b02~3v1ubuntu0_i386.deb

    Poi, dando il comando “sudo update-alternatives –config java” ricevo:

    Ci sono 2 alternative che forniscono `java’.

    Selezione Alternativa
    ———————————————–
    1 /usr/bin/gij-wrapper-4.1
    *+ 2 /usr/lib/jvm/java-6-sun/jre/bin/java

    Premi invio per mantenere il default[*], o inserisci il numero da selezionare:

    E premo invio.

  • C’è un problema con l’installazione del pacchetto. Rimuovi prima la vecchia versione con
    sudo apt-get remove sun-java6-bin sun-java6-jre
    e poi reinstalla di nuovo il pacchetto sun-java6-jre_6-02-ea-b02~3v1ubuntu0_i386.deb

    Utilizzi compiz/beryl? Hai disabilitato anche la tray icon?

  • Davide

    sono veramente un newbye di ubuntu,

    tuttavia questa stringa nel mio pc non esiste:

    /usr/share/mercury/startup/startup_linux.sh

    bensì il file è ubicato qui:

    usr/lib/mercury/startup/startup_linux.sh

    magari è una cazzata però se può servire a qualcuno;)
    davide

  • Davide

    ho modificato il file in

    /usr/lib/mercury/startup/startup_linux.sh

    come da guida e si è bloccato il pc….
    ah ho compiz

  • Davide

    Risolto:

    # Compiz / Beryl fix
    if [ “`ps ax | grep -vq grep | grep compiz | echo $?`” == “0”
    -o “`ps ax | grep -vq grep | grep beryl | echo $?`” == “0” ]; then
    echo “- Adding Compiz/beryl compatibility mode.”
    AWT_TOOLKIT=MToolkit

    come suggerito da Myway
    +

    java -Dawt.toolkit=sun.awt.motif.MToolkit -Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Djava.library.path=jni:jni/jmf -Xmx512m -classpath $classpath com.dMSN.Main $*

  • Mikele

    Dopo un pò di sono riuscito a installare Mercury e lo trovo stupendo, sicuramente il migliore di tutti i cloni di MSN fino ad ora provati! Il fatto che è programmato in java a dire la verità non sento alcun rallentamento del pc! Volevo solo chiedere se era possibile nelle opzioni configurare Mercury in modo da ridurlo a piccola icona in alto (stile aMule per intenderci)! Inoltre se era possibile aumentare la grandezza delle immagini personali degli altri contatti (della grandezza di kopete andrebbe benissimo)! Per il resto lo trovo bellissimo! Aspetto vostre risposte! Grazie e Ciaoo

  • ho seguito la guida ma non funziona ancora
    mi da

    #
    # An unexpected error has been detected by Java Runtime Environment:
    #
    # SIGSEGV (0xb) at pc=0xb5317219, pid=6875, tid=3085101968
    #
    # Java VM: Java HotSpot(TM) Client VM (1.6.0_02-ea-b02 mixed mode, sharing)
    # Problematic frame:
    # C [libmawt.so+0x229219]
    #
    # An error report file with more information is saved as /tmp/hs_err_pid6875.log
    #
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    #
    /usr/bin/java: line 76: 6875 Aborted (core dumped) AWT_TOOLKIT=$awt_toolkit $(FindPath $0)/java-bin $lookfeel $AAfontSettings $*

  • edit:
    ho sostituito

    if [ “`ps ax | grep -vq grep | grep compiz | echo $?`” == “0”
    -o “`ps ax | grep -vq grep | grep beryl | echo $?`” == “0” ]; then
    echo “- Adding Compiz/beryl compatibility mode.”
    AWT_TOOLKIT=MToolkit

    a

    if (pidof compiz &> /dev/null) || (pidof compiz.real &> /dev/null) || (pidof beryl &> /dev/null); then
    echo “- Adding Compiz/beryl compatibility mode.”
    AWT_TOOLKIT=MToolkit

    ma per l’icona quella postata nella guida è l’unica soluzione?

  • In realta’ a me ha funzionato subito! Senza nessuna modifica
    grazie alex 🙂