viernes, 22 de junio de 2012

Corte de mangas a Nvidia


Ayer, 21/06/2012, Linus Torlvads en una conferencia no pudo aguantar la pal simonía que tienen algunos fabricantes a la hora de dar soporte a Linux, y es por ello que le dedicó un corte de mangas a Nvidia mientras le decía que se jodieran.

Todo fué porque una joven le comentó que tenía un portátil con tecnología Nvidia Optimus integrada, que es una tecnología que permite cambiar entre una tarjeta gráfica u otra de gran potencia, para ahorrar batería cuando no se está haciendo gran uso de la tarjeta gráfica.

El caso es que la comunidad ha desarrollado soporte para esto en Linux, pero no está muy afinado y ella se preguntaba para cuando Nvidia iba a dar soporte para esta función....
La respuesta oficial es que Nvidia no dará soporte para eso en Linux.

Linus Torvalds le dedicó un corte de mangas a Nvidia, y añadió que la solución era mucho trabajo y esfuerzo por parte de la comunidad para poder dar soporte en estas situaciones.

Fuente:
http://www.abc.es/20120619/tecnologia/abci-linux-dice-nvidia-jodete-201206191725.html#

Fragmento de la dedicatoria de Linus Torvalds a Nvidia


Mi opinión al respecto:

La solución no siempre debe de ser mucho trabajo y esfuerzo... la solución puede ser no comprar productos con Nvidia o de Nvidia....
Tan sencillo como eso.
Así se tendrían que poner las pilas ellos....
¿Que no somos un mercado importante?
Ahhh, vale, pues nada, será que no les importa perder unos pocos de millones por perdida de ventas, porque eso es lo que pasaría si ninguno nos "conformáramos" con lo que se puede esperar de una Nvidia bajo Linux.

Yo creo que la visión de Nvidia es algo como:
Si uno se conforma, entonces es que le merece, y si le merece entonces.... ¿para que me voy a gastar un céntimo en mejorar mi producto?

Eso se aplica a todas las marcas y modelos de Hardware.

Yo soy de los que si busca algo de hardware tengo que saber si funciona en Linux.
¿que no lo pone en la caja? pues no lo compro
¿que no lo pone en la caja pero se dice que funciona? pues me lo pienso, pero no lo compro a la primera, ya que en la caja no es tan difícil imprimir un pingüino, y si no lo hacen es porque no da soporte.. así que sigo buscando.

¿que me tiro tiempo buscando?
Vale, pero tengo algo que tiene soporte, o al menos, que funciona y no tengo que "conformarme".

Y lo mejor, apuesto por un fabricante que desarrolla para Linux, y eso se tiene que hacer notar, tenemos que ser consecuentes de que con nuestros actos al comprar un producto, estamos apoyando el trabajo que lo rodea.
Y siempre tener muy en cuenta de que en este tema nosotros somos los que elegimos mientras podamos y no esperar que las grandes compañías nos digan que sof o que SOS debemos de usar...

Mientras haya variedad, la cosa anda bien, pues nosotros al comprar un producto u otro creamos competencia entre las grandes compañías, y no estoy hablando solamente de hardware, estoy hablando hasta de pasta de dientes...

El mercado no se mueve hacia donde quiere... el mercado se mueve hacia donde elegimos que se mueva, no nos confundamos.... que muchas veces el mercado se mueve al unísono con nosotros y no se distingue quien sigue a quien... y es cuando ellos se salen del guión y te hacen pensar que eres tú el que debes de seguirle incondicionalmente... y eso amigos míos, es un error, nosotros somo capaces de elegir.... nosotros elegimos.

Estoy un poco cansado con las grandes masas que piensan ¿y que puedo hacer si no hacen hardware con soporte para Linux?
Sencillo.... no fomentes eso.

Un saludo y siento la parrafada pero tenía que soltar mi opinión.

jueves, 14 de junio de 2012

Temas de salvapantallas para LMDE

Un tema al que le estaba dando muchas vueltas era a la forma de instalar más salvapantallas a mate-screensaver... el gestor de salvapantallas de MATE.

Al final conseguí encontrar los paquetes que usa gnome que pertenecen a xscreensaver, que son los que usa Gnome, así que me dije, ¡Ya está, instalo estos paquetes y tengo todos los salvapatallas!:

sudo apt-get install xscreensaver-gl-extra xscreensaver-data-extra

Con eso quedan todos los paquetes instalados.

Ahora llega un chazco.. jejeje
Los salvapantallas no aparecen en el menú de selección de mate-screensaver

Indagando descubrí la ruta donde están los salvapantallas nuevos:
/usr/share/applications/screensavers/

En esa ruta encontraríamos todos los archivos .desktop que son los diferentes temas de salvapantallas.

Después, me dí cuenta de que ahí mismo están los propios de MATE.
Así que me puse a destriparlos un poco y me dí cuenta de que entre los originales de MATE y los de xscreensaver solo hay una diferencia dentro.

En los de mate pone al final:
OnlyShowIn=MATE;
(Solo mostrar en MATE)


Y en los de xscreensaver pone:
OnlyShowIn=GNOME;
(Solo mostrar en GNOME)

Así que cogí uno y lo edité, para ponerle:
OnlyShowIn=GNOME;MATE;

Abrí el gestor de salvapantallas y.... tachán! ahí estaba el granuja, bien, ahora el problema está en que si queremos uno en concreto no hay problema.
sudo nano /usr/share/applications/screensavers/nombre.desktop

Editamos esa entrada y listo.... pero .... ¿¿¿y si queremos hacerlo con todos???
Pues encontré un comando en un blog para remplazar texto recursivamente:

perl -pi -w -e 's/BUSQUEDA/REEMPLAZO/g;' *.txt
En la página: http://comulinux.blogspot.com.es/2011/06/buscar-y-reemplazar-en-varios.html

Así que solo lo adapté un poco y...

sudo perl -pi -w -e 's/OnlyShowIn=GNOME;/OnlyShowIn=MATE;GNOME;/g;' /usr/share/applications/screensavers/*.desktop

Con esa orden modificamos todos los archivos .desktop de la carpeta donde están los salvapantallas para cambiar la linea que hemos mencionado para que funcionen en los dos tipos de escritorio.

Mi trabajo me costó, pero ya tengo los salvapantallas que quería, además de muchos otros que no conocía...

Un saludo.

sábado, 9 de junio de 2012

Manéjo de módulos




Esta entrada es una explicación rápida y lo mas breve posible sobre el uso de módulos dinámicos en linux.

Por favor, no estoy muy fino en esto, y si cometo algún error ruego a que me lo comentéis para modificar el texto, al fin y al cabo esto lo hago para ayudar y para que todos podamos aprender de una forma menos compleja de lo necesario y no quiero liar a nadie.






Antes de nada, ¿Que es un módulo?

En Linux, los módulos son archivos con extensión '.so' (shared objects) que vienen a significar "Objetos compartidos"

Estos módulos sirven para especificar como funciona determinado hardware, digamos que es el equivalente a las DLL de Microsoft, en castellano.... son los controladores, los drivers o como queráis llamarlo.

En Linux hay dos tipos de módulos.
-Estáticos
-Dinámicos

Los módulos estáticos son los módulos con los que se ha compilado el núcleo de Linux, es decir, el Kernel, de manera que el núcleo conocerá como funcionan las cosas que valla reconociendo (Hardware) porque ya tiene los módulos disponibles en su interior.

Y los dinámicos son módulos que se cargan con posteridad desde el mismo disco duro.

Y diréis, pero vaya chorrada, ¿porqué no los meten todos juntos dentro del núcleo?

Pues porque a veces es necesario deshabilitar alguno, o habilitar varios, o cargar uno mas antiguo que no hay.... etc

¿Quieres liarte a recompilar el kernel de linux a cada rato que tengas que quitar un módulo?

Para eso están los módulos dinámicos.

Estos se cargan desde el disco duro, y permiten hacer conocer al núcleo de linux el funcionamiento de determinado hardware.
La mayor ventaja es que se pueden cargar en frío, sin necesidad de reiniciar y de efecto inmediato.

Por ejemplo, hay un módulo que se encarga de hacer funcionar el altavoz interno del pc, y hace emitir un 'bep' cuanto llegas al tope en un texto, o cuando presionas tabulador y no hay opciones a mostrar....

Puede llegar a ser molesto si no se requiere, así que la solución es quitar el módulo.....


Manejos de módulos

lsmod > listar módulos
modprobe nombre-modulo > añadir módulo
modprobe -r nombre-modulo > eliminar módulo


¿Qué módulos hay cargado en mi sistema?

Para ver los módulos cargados actualmente se puede usar  lsmod que es una herramienta que ya tendrás instalada en tu sistema, pues es una muy usada y viene instalada por defecto en todos los sistemas al menos en los basados en Debian.

Así que para verlos puedes usar ese comando como usuario normal.

scorpyomint@pc-citomint ~ $ lsmod

Te listará una serie de módulos cargados.

Sí, son muchos módulos y a lo mejor quieres encontrar uno en concreto, como por ejemplo el que se encarga del pitido molesto que he comentado antes que sale del altavoz interno, para eso hay que filtrar un poco el comando anterior con 'grep' para buscar el módulo pcspkr (pc speaker)

scorpyomint@pc-citomint ~ $ lsmod | grep pcspkr

Si obtenemos un resultado con ese nombre es que el módulo está cargado.
Para quitarlo es tan facil como hacer un:

scorpyomint@pc-citomint ~ $ sudo modprobe -r pcspkr

Si tras eso volvéis a comprobar si el módulo está cargado veréis como el módulo ya no está y no os aparecerá nada.
De hecho, ya no debe de pitar, el efecto es con caracter inmediato.

Si por cualquier motivo quisierais volverlo a poner habría que hacer uso del mismo comando pero sin -r (remover)

scorpyomint@pc-citomint ~ $ sudo modprobe pcspkr


Ahora tenéis otra vez el módulo cargado.


Estos cambios tanto los de cargar un módulo como los de borrar uno que ya esté puesto ahí por el sistema no son permanentes, pues cuando el ordenador encienda se volverán a activar los módulos por defecto que teníais.




Módulos al inicio

Para cargar un módulo a cada inicio hay que añadirlo al archivo /etc/modules como administrador.

Así que en una terminal ponéis:

scorpyomint@pc-citomint ~ $ sudo nano /etc/modules nota: Yo he usado el editor nano, pero podéis usar gedit o cualquir otro editor que os guste.

Y obtendréis algo como:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

loop
Solo tendréis que añadir el módulo que queréis cargar al inicio del sistema, por ejemplo el módulo con el que estamos jugando...: pcspkr

Quedaría así:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

loop
pcspkr

Guaráis y listo, al inicio os cargará los módulos que le pongáis.



Lista negra

Si queréis hacer lo contrario, por ejemplo impedir que cargue un módulo, hay que crear una lista negra.

Vamos a crear una... jejjee

El directorio donde tenemos que crear la lista negra es: /etc/modprobe.d/

Yo la llamaré "mi-lista-negra.conf"

scorpyomint@pc-citomint ~ $ sudo nano /etc/modprobe.d/mi-lista-negra.conf

Nota: De nuevo uso nano, pero podéis usar gedit, pluma u otro si lo preferís.

Dentro ponéis lo siguiente:

# Aquí pondré los módulos que me interesen mandar un poquito a la mierda...

blacklist pcspkr
Las líneas que comienzan con # son ignoradas por el sistema y se usan para poner notas o títulos.

La segunda línea es la que manda a la lista negra el módulo pcspkr.

Podemos añadir tantas como necesitemos.

Guardáis y listo.
Para ver los efectos hay que reiniciar.

Esto es lo básico sobre módulos, espero que os sirva.

Un saludo.

viernes, 1 de junio de 2012

Problemas con bluetooth en LMDE en MATE



Pues sí señores, estoy aquí para compartir con vosotros una pequeña receta para poder usar la compartición de archivos por bluetooth, ya que en mate, usando el gestor de bluetooth que trae, el mate-bluetooth-applet no funciona del todo bien.

Falta el paquete gnome-user-share, y aunque lo instales no se ejecuta al inicio pues es para gnome, aunque funcione en mate... así que hay que añadirlo al inicio.

Pero además tras instalar el paquete nterior no se puede acceder a las propiedades de compartición de archivos porque hay ningún enlace a gnome-file-share-properties cuando instalas el paquete anterior, vamos, que no furula como debería.


El mayor problema es que no podemos recibir nada desde el movil hacia el ordenador, y que no podemos elegir opciones como aceptar o rechazar los paquetes que nos envian.

Una opción es añadir /usr/lib/gnome-user-share/gnome-user-share al inicio de sesión.
Luego ejecutar gnome-file-share-properties y modificar las opciones de compartición de archivos.

Pero la verdad, aunque funciona, sigue siendo algo muy soso y sigue sin preguntarte si quieres o no recibir el archivo.

La mejor opción es instalar blueman.

Pasos:

Borramos mate-bluetooth

sudo apt-get purge mate-bluetooth

Instalamos blueman y otros paquetes necesarios:

sudo apt-get install blueman bluetooth mate-notification-daemon obexftp

Para seguir con la configuración puedes reiniciar, o seguir leyendo un poco...
Nota: Si reinicias sáltate los dos comandos siguientes.

Si no reinicias el demonio de mate-bluetooth sigue activo, así que lo mejor es matarlo.

sudo killall mate-bluetooth

Desaparecerá el icono de bluetooth, ya no tenemos mate-blueooth activo.

Ahora activamos el servicio bluetooth

sudo service buetooth start

y ya deberías tener icono de bluetooth de nuevo.

 
Para permitir navegar por las carpetas de nuestro dispositivo tenemos que cambiar un parámetro si estamos usando el escritorio mate...

Botón derecho sobre el icono del bluetooth y elegimos "Servicios locales"



 En la ventana que se abre tenemos que selecionar "Transferir" en el menú de la izquierda.
Activamos compartición de archivos ftp si queremos activar la opción de compartir la carpeta mas arriba indicada en nuestro pc, si no la dejamos sin selecionar.
Lo importante es presionar en "Avanzadas", y en el campo de texto sustituir "nautilus" por nuestro navegador de archivos, en este caso es "caja".
Aplicamos y cerramos.






Pruebalo y verás que ya te deja enviar archivos pc>tlf y tlf>pc además de poder examinar los archivos de nuestro movil por bluetooth desde nuestro pc.

ACTUALIZACIÓN 01/07/2012:

Para los que tenemos android, nos podríamos encontrar en la situación de que el movil puede mandar datos al PC pero el PC al movil no, además tampoco podremos explorar el teléfono desde el PC.
Esto se debe a la forma de traspasar datos de android... ya que para enviar  datos usa obexftp pero al parecer para recibirlos usa opp... que no me pidáis que lo explique porque ni yo se de que va la historia...

¿Solución? Si, hay solución.
Dirigiros al market de android (PlayStore) y descargamos la aplicación gratuita "Bluetooth file transfer"
Con este programa podemos navegar por el pc, pero lo que nos interesa es que podemos "Conectarlo" al pc, de manera que podamos enviar datos y navegar por el movil...

Abrir "Bluetooth File Transfer", pincháis en el icono de bluetooth, seleccionáis el dispositivo bluetooth conectado al PC (Previamente emparejado) y se conectará... si dice que el pc no es accesible para poder navegar por él, no os preocupéis, es porque no permitísteis más arriba la opción de compartir carpetas por bluetooth FTP.

Con eso ya podréis navegar por el movil desde el pc y mandar archivos...
Cuando terminéis, cerradlo.

Reflexión: Todavía no me entra en la cabeza que no haya un botoncito en la opción de bluetooth de android, que permita conectar con el PC. :S

Un saludo a todos.