Usar el servidor X d’un altre usuari

febrer 8, 2009

Per defecte Debian no permet que l’usuari root iniciï una sessió gràfica, però de tant en tant ens pot interessar executar algun programa que utilitzi finestres des d’un terminal de root a l’entorn gràfic.

llengot:~# kcalc
kcalc: cannot connect to X server

Això ho podem arreglar donant permís a l’usuari root perquè utilitzi el servidor X de l’usuari que ha iniciat la sessió. L’usuari haurà d’executar:

xhost +local:

I d’aquesta manera s’indica que els usuaris locals tenen permís per usar aquest servidor X. Després, root haurà d’instanciar la seva variable DISPLAY fent:

export DISPLAY=:0.0

I immediatament ja podrà llançar comandes que obrin programes gràfics des de la consola (només durant la sessió actual, és clar).


man 5 xorg.conf

febrer 7, 2009

VIDEOADAPTOR SECTION
Nobody wants to say how this works. Maybe nobody knows …


Muntar una carpeta compartida amb VirtualBox OSE

febrer 6, 2009

El meu sistema natiu és Debian Sid, però per motius laborals també tinc dues Debian Etch instal·lades amb VirtualBox; i resulta que la versió OSE de VirtualBox no permet la “transparència” dels dispositius USB de la màquina host a la màquina virtual.

En el cas dels llapis de memòria, discs usb, memòries flash i altres dispositius de memòria USB es pot solucionar facilment gràcies a les carpetes compartides entre host i guest.

Primer cal instal·lar les Guest Additions, i això és tan fàcil com descarregar la ISO del CD (que ja ho fa sol el VBox si indiquem “Instal·la les Guest Additions…” al menú Dispositius), muntar-lo i executar l’script VBoxLinuxAdditions.run que hi ha.

Les Guest Additions s’apliquen com un mòdul del kernel (dos, de fet) i per tant cal que tinguem instal·lat al sistema el paquet de capçaleres del nostre kernel.

aptitude install linux-headers-`uname -r`

`uname -r` (les cometes són accents oberts `, no cometes simples ‘ ) retornarà la versió actual del kernel i per tant la instrucció anterior ja instal·larà les capçaleres adequades. Després, l’script recomana reiniciar el sistema…

compartirQuan ja tenim les Guest Additions funcionant (el primer que notarem serà que la màquina virtual ja no captura el ratolí) compartim la (o les) carpeta de la màquina host on muntem els dispositius USB. En el meu cas /media/disk.

A la imatge veiem com es comparteix la carpeta /media/disk del host i se l’anomena, simplement, usb. (Evidentment, podem donar-li el nom que vulguem)

Per acabar, només cal que configurem el fitxer /etc/fstab de la màquina virtual per tal que munti aquesta carpeta on vulguem. Per exemple:

mkdir /media/usb

echo -e “usb\t /media/usb\t vboxfs\t defaults\t 0\t 0\n” >> /etc/fstab

on usb és el nom de la carpeta compartida, /media/usb el punt de muntatge que hem triat per a la màquina virtual i vboxfs és el mòdul de VirtualBox que s’encarrega de gestionar les lectures/escriptures a la carpeta compartida.

Quan hem fet això, n’hi ha prou executant:

mount usb

per muntar l’usb a la màquina virtual. La resta de vegades, si quan iniciem la màquina virtual ja tenim l’USB connectat i muntat a la màquina host, no farà falta perquè l’opcio defaults de l’fstab ja inclou el muntatge automàtic.


Compilar el kernel: fàcil, si saps com!

gener 15, 2009

L’objectiu d’aquest post no és aconseguir un kernel ultra-lleuger-maxi-optimitzat-“delamuerte” per al nostre pc sinó, simplement, deixar constància dels passos que cal fer per aconseguir una imatge amb la configuració per defecte, però que funcioni.

1 ) Preparem les eines

Jo he fet les proves amb un sistema base de Debian estable, sense escriptori. I, de nou en nou, els paquets que he hagut d’afegir per compilar el kernel són els següents:

aptitude install make gcc ncurses-dev linux-initrd-tool

2 ) Descarreguem el codi font des de kernel.org

El kernel que tenia instal·lat amb Debian Etch és el 2.6.18 i per a aquesta prova he fet servir el kernel estable més nou (a dia d’avui): 2.6.28 Per descarregar-lo podem fer:

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2

3 ) Ens preparem per compilar…

a) Posem les fonts al directori on s’acostuma a treballar (aquest pas no és imprescindible)

mv ./linux-2.6.28.tar.bz2 /usr/src

b) Descomprimim i desempaquetem:

cd /usr/src  && tar xjvf linux-2.6.28.tar.bz2

Això ens haurà creat el directori /usr/src/linux-2.6.28, al qual entrarem.

4 ) Configuració del kernel

make menuconfig

Aleshores accedirem a les opcions de configuració del kernel. Aquí bàsicament s’indica què volem que suporti el nostre kernel, quins drivers ha de tenir integrats i quins es compilaran com a mòduls independents. Aquest és el pas clau per a qui vulgui generar un kernel optimitzat. Com que això queda fora de les intencions d’aquest post, simplement tafanegem una mica i ho deixem tal i com està.

5 ) Compilació

Aquest és el pas en què realment farem la compilació. El procediment seria el següent:

make dep

make

make modules

make modules_install

El make dep no cal fer-lo si compilem un kernel >=2.6.0, el make generarà la imatge bzImage, és a dir: el kernel en si; el make modules compila els mòduls independents i finalment el make modules_install col·loca els mòduls al lloc que els toca.

Per no estar pendents de quan s’acaba un pas per llançar la següent comanda podem fer:

time (make && make modules && make modules_install)

Lògicament la comanda time és opcional, però així si marxem a fer la cervesa mentres es compila el kernel, podem saber quanta estona ha trigat realment.

6 ) Cada cosa al seu lloc

Copiem la imatge del kernel al directori /boot, i de passada ja li canviem el nom per adequar-lo al que solen tenir les imatges del kernel:

cp /usr/src/linux-2.6.28/arch/i386/boot/bzImage /boot/vmlinuz-2.6.28

Fem el mateix amb l’arxiu System.map:

cp /usr/src/linux-2.6.28/System.map /boot/System.map-2.6.28

7 ) Generem la imatge initrd

Hi ha alguns mòduls del kernel que no poden esperar a ser carregats en el moment en què es carreguen la majoria de mòduls, sinó que s’han de carregar al principi de tot del procés d’arrencada. Per això necessitem generar el fitxer initrd.img

cd /boot && update-initramfs -c -k 2.6.28

Això hauria de generar un arxiu anomenat initrd.img-2.6.28 al directori /boot

8 ) Modifiquem el gestor d’arrencada

En el meu cas és el grub. Obrim el fitxer /boot/grub/menu.lst amb el nostre editor preferit (en el meu cas: joe)

joe /boot/grub/menu.lst

Aleshores afegim, al lloc que toca (cap al final) una nova entrada. El més senzill és copiar-ne una de les que ja tenim i modificar-la. Hauria de quedar una cosa així:

title           Debian GNU/Linux, kernel 2.6.28
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.28 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.28

Si la vostra partició / no es troba al dispositiu /dev/hda1 haureu de canviar aquesta dada.

9) Reiniciem

reboot

I, en principi, hauria de funcionar!


Kernel panic!

gener 15, 2009

Aquest és el primer kernel que compilo…

kernel-panic

M’ha sortit espantat…


Vull provar l’OpenOffice 3.0

Octubre 23, 2008

Com que a la branca experimental ja hi ha la versió 3.0 de l’OpenOffice i les primeres crítiques que n’he llegit són positives (i com que sóc un collons de tarat del cap que no pensa en anar a dormir a aquestes hores), m’he decidir a provar-lo ara mateix. Procedim:

Afegeixo el repositori experimental al sources.list i actualitzo:

echo “deb http://ftp.debian.org/debian/ experimental main contrib non-free” >> /etc/apt/sources.list && aptitude update

Tot i que ja tinc la versió 2.4.1 instal·lada, indico que vull instal·lar l’openoffice, i a veure què passa…

aptitude install -t experimental openoffice.org

Cal actualitzar 17 paquets, instal·lar-ne 3 i suprimir-ne 1.

La puntuació és 310
Accepteu la solució? [Y/n/q/?] Y

Sembla que tot va com una seda…

Descarregant, desempaquetant, configurant…
Cap problema!
L’engego…

Obrint-lo...

Obrint-lo...

Menú principal

Menú principal

Només he provat una cosa: si obre els documents de MS Office 2007; i sí, els obre… encara que la conversió és molt millorable. Quan arribarà el dia en què els formats seran estàndards?


A Google no són perfectes!

Setembre 4, 2008

A veure, llancem la versió per Windows, fem una pàgina pels usuaris de Mac indicant-los que la versió per al seu sistema operatiu encara s’està desenvolupant i després…

Cercar “mac” & Substituir per “linux”

Ops!