• Tag Archives Ubuntu
  • El quadre de diàleg “Executa” (Alt + F2) a LXDE/Openbox s’obre en segon pla

    Una altra cosa ha passat després de l’actualització a Ubuntu 11.10 Oneiric Ocelot: el quadre de diàleg per executar comandes o aplicacions s’obre en segon pla (per defecte s’executa amb la drecera de teclat Alt + F2). És a dir, que es troba sota de la finestra que tinguis en primer pla i no rep el focus. Amb una cerca ràpida he trobat aquest enllaç, on indica com es pot resoldre:

    https://bbs.archlinux.org/viewtopic.php?pid=992240#p992240

    Només cal editar el següent fitxer:

    nano ~/.config/openbox/lxde-rc.xml

    I afegir-hi aquestes línies cap al final del fitxer abans del tancament de l’etiqueta <application>:

    <application>
      <!-- ... -->
      <application name="lxpanel">
        <focus>yes</focus>
      </application>
      <application name="pcmanfm">
        <focus>yes</focus>
    </application>
    

    I aplicar els canvis amb la comanda:

    openbox --reconfigure

    Ara sí, en teclejar Alt + F2 tenim el quadre de diàleg en primer pla i amb el focus 😉

    GD Star Rating
    loading...

  • No arrenca el display manager lxdm en actualitzar a Ubuntu 11.10 Oneiric Ocelot

    A partir de la versió d’Ubuntu 11.10, Oneiric Ocelot, el gestor d’accés o display manager canvia. Fins ara s’havia usat per defecte GDM, o KDM a Kubuntu, i ha estat substituït per LightDM, que és molt més lleuger i permet nous temes per a la pantalla d’accés; que podrien ser compartits per totes les distribucions de la família d’Ubuntu: Kubuntu, Xubuntu, Lubuntu… Com bé es pot llegir aquí: https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-lightdm

    El problema que jo he tingut és que ja tenia configurat un altre display manager: lxdm, i en actualitzar ja no arrencava. La configuració de quin volem utilitzar es troba al fitxer:

    cat /etc/X11/default-display-manager
    /usr/sbin/lightdm
    

    Així que només cal que l’editem i canviem la línia pel nostre gestor preferit (informació més detallada a https://wiki.ubuntu.com/LightDM):

    sudo nano /etc/X11/default-display-manager
    /usr/sbin/lxdm
    

    I ara sí, en reiniciar ja torno a tenir el gestor que tenia abans 🙂

    GD Star Rating
    loading...

  • Instal·lació de xdebug per PHP i Apache2 a Ubuntu

    Un dels principals defectes de la majoria de programadors de PHP és oblidar-se de les eines de depuració (debugger). Tots hem estat en feines on no disposaven d’aquestes eines a la nostra màquina, o no permetien la seva instal·lació, o senzillament no hem pensat en posar-les.

    Jo vaig començar el meu primer contacte amb la programació amb el llenguatge c. Llavors a la universitat ens feien usar el programa Microsoft Visual Studio, amb el qual podíem compilar i depurar (debug). La depuració ens permetia seguir el programa pas a pas i saber el valor de cada variable en cada moment, i corregir així errors existents que s’escapaven a simple vista i que no eren de sintaxi.

    En passar a PHP, penso que és més difícil entendre com funciona la depuració, pel fet de tenir el navegador per un costat i l’entorn integrat de desenvolupament (o IDE de l’acrònim en anglès) per un altre. Tanmateix, cal instal·lar prèviament alguna cosa al servidor per poder-li indicar des del nostre IDE l’ordre d’aturar-se a la línia de codi que nosaltres vulguem. Per aquest conjunt de factors la majoria de programadors prescindeixen del depurador com a tal i utilitzen el mètode de prova i error, i miren el valor de les variables enviant el seu valor directament al navegador. Les tres funcions de PHP més utilitzades per fer això són: echo, print_r i var_dump.

    Jo he passat força temps utilitzant-les també, però quan tornes a la depuració t’adones que abans estaves perdent el temps. Amb aquest rudimentari mètode, si no coneixes molt bé el codi, primer has de trobar el punt on està la variable que vols observar, teclejar el codi que mostri el seu valor i executar la consulta de la pàgina des del navegador. Molt bé, ja has vist el seu contingut, però com ha estat calculat? Com s’ha arribat fins aquí, a través de quins fitxers, mètodes o funcions? La majoria de vegades has de tornar a escriure més codi per mostrar altres variables, perquè l’anterior no t’ha servit de massa, i tornar a actualitzar el navegador. A més a més, després cal eliminar tot aquest codi extra que has creat només per mirar el valor d’algunes de les variables. I quantes vegades passa -a mi també- que acaba pujant a producció codi amb aquestes sentències de “depuració”?

    Per evitar tot això, el millor és usar un depurador de veritat. Encara que al principi perdem una mica de temps per configurar-lo i aprendre com funciona, després ens estalviarà molt temps i mal de caps. Jo per desenvolupar en PHP i MySQL utilitzo el servidor web Apache2 sobre Ubuntu; una solució LAMP vaja. I com a IDE l’Eclipse amb el PDT (PHP Development Tools) i alguns altres plugins.

    Amb els següents passos podreu instal·lar xdebug amb l’Apache2 i PHP:

    sudo apt-get install php5-xdebug

    Això ha instal·lat el paquet corresponent i ha creat el fitxer /etc/php5/conf.d/xdebug.ini amb aquest contingut:

    zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so

    Si ara comprovem el resultat de cridar a phpinfo(), veurem:

    This program makes use of the Zend Scripting Language Engine:
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
        with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans

    Al mateix fitxer xdebug.ini hem d’afegir aquestes línies:

    xdebug.remote_enable=on
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    

    I ja per acabar, carreguem els canvis de configuració a l’Apache:

    sudo /etc/init.d/apache2 reload

    En un altre capítol escriuré com configurar l’Eclipse per depurar des d’allà.

    Gràcies Derick pel fantàstic xdebug!

    GD Star Rating
    loading...

  • Com usar paquets d’una versió anterior d’Ubuntu

    En actualitzar (ahir) a Ubuntu 10.04 LTS Lucid Lynx, he passat de la versió de PHP 5.2.10.dfsg.1-2ubuntu6 a la 5.3.2-1ubuntu4. Si volem tornar a tenir la versió 5.2, hem de configurar l’APT per tal que usi aquells paquets que vulguem de les fonts de Karmic Koala. Així:

    Primer llistarem els paquets de php que tenim instal·lats:

    dpkg -l | egrep php

    En el meu cas són:

    • php5-common
    • libapache2-mod-php5
    • php-pear
    • php5-cli
    • php5-curl
    • php5-dev
    • php5-mysql
    • php5-memcache
    • php5-suhosin

    Dupliquem el fitxer amb les fonts de programari canviant la paraula lucid per karmic:

    sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list

    Creem un nou fitxer de preferències que anomenem per exemple “php”:

    sudo nano /etc/apt/preferences.d/php

    I copiem aquestes tres línies per cada paquet dels llistats anteriorment, tot canviant el nom del paquet:

    Package: php5-common
    Pin: release a=karmic
    Pin-Priority: 991
    ...
    

    Un cop ho hem configurat tot, actualitzem els paquets:

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
    

    No ens oblidem de reiniciar el servidor web; per l’Apache:

    sudo apache2ctl restart
    GD Star Rating
    loading...

  • Com trobar els UUIDs de les particions a Ubuntu

    El UUID, o Universally Unique Identifier en anglès, és un identificador estàndard usat en la construcció de programari, estandaritzat per la Open Software Foundation (OSF), amb l’objectiu de permetre que sistemes distrubuïts identifiquin informació de forma única sense dependre de coordinació central.

    A Ubuntu i a d’altres distribucions de GNU/Linux basades en Debian, es poden obtenir aquests identificadors per a cadascuna de les nostres particions amb una comanda ben simple:

    blkid

    Que haurem d’executar com a superusuari (root) o amb sudo al davant. La sortida d’aquesta serà semblant a:

    /dev/sda1: UUID="8a866472-a077-4da9-9663-cd5a2774f801" TYPE="reiserfs"
    /dev/sdb1: UUID="af8e31aa-9bb3-4c5e-b13a-433b06bb2231" TYPE="reiserfs"
    /dev/sdc1: UUID="c027fa2e-ad9d-4324-bdad-941a5c43d2b3" TYPE="reiserfs"
    /dev/sdc2: UUID="a9dbb0c9-3c60-4083-8f4c-de7e69d0ffda" TYPE="swap"
    /dev/sdc5: UUID="8be8352b-e28e-44ee-a2e2-9abfa1eb43eb" TYPE="reiserfs"
    

    Informació que ens pot resultar útil per configurar el fitxer /etc/fstab, amb les regles i opcions per muntar les diferents particions que tinguem.

    GD Star Rating
    loading...