Mostrando entradas con la etiqueta Debian. Mostrar todas las entradas
Mostrando entradas con la etiqueta Debian. Mostrar todas las entradas

domingo, 8 de noviembre de 2015

Habilitar MSE & H.264 Firefox/Iceweasel Debian

Al día de hoy cada ves más son los sitios que dejan de utilizar flash (parece que sufre una lenta agonía) para sustituirlo por HTML5 o algo que permita la reproducción de vídeo sin necesidad de flash-player.

Para habilitar MSE "Media Source Extensions" y H.264 en Firefox e Iceweasel hay que instalar algunas cosas y configurar otras, nada complicado que no podamos hacer en apenas unos minutos.

Para comenzar si ejecutan Firefox o Iceweasel y se dirigen a la página de youtube para comprobar para que tenemos soporte y para que no, con suerte verán algo como esto:


Como se ve en la imagen solo está habilitada la primera columna, la segunda está sin soporte que es donde aparece MSE, para habilitar esa columna hace falta configurar el navegador e instalar algunas cosas como ya había comentado.

Lo que se necesita instalar son los "codecs gstreamer", actualmente estoy utilizando Debian Testing y tengo instalada la versión 1.0, esta es la lista:

gstreamer1.0-alsa gstreamer1.0-libav gstreamer1.0-nice gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools gstreamer1.0-x

La configuración del navegador se realiza colocando "about:config" en la barra de direcciones y buscando lo que queremos cambiar, por ejemplo, buscamos "media.mediasource.enabled" y haciendo click sobre ella cambiamos la opción de "false" a "true", es decir la habilitamos, así con todas las demás, la lista:

1ro.- about:config 2do.- media.mediasource.enabled to true media.mediasource.mp4.enabled to true media.mediasource.format-reader.webm to true media.mediasource.webm.enabled to true media.fragmented-mp4.exposed to true media.fragmented-mp4.ffmpeg to true media.fragmented-mp4.gmp to true media.fragmented-mp4.use-blank-decoder to false

Dependiendo de la versión de Firefox o si es Iceweasel algunas opciones estarán y otras no, habilitar las que estén presentes debería funcionar, y si todo salió bien, deben ver algo así:


Espero les sea de utilidad.

viernes, 16 de octubre de 2015

Solucionar problema con sonido de Skype en Debian

Si utilizan la nueva versión de Skype seguro ya habrán notado que a los grandes genios y flamantes nuevos dueños de skype les dio por sustituir alsa por pulseaudio.

Por ese motivo, cuando lo necesité estuvo, pero no funcionó, no podía hablar a través de el, es decir, no podía hablar solo podía chatear.

Tampoco es posible abrir sesión en una versión anterior como muchos recomiendan (eso mismo pensé e hice, pero los grandes genios detrás de skype también pensaron en eso).

Consideré varias opciones y ninguna me convenció, instalar pulseaudio esa no es una opción, menos obligado por los genios de skype, así que buscando me encontré con una solución bastante sencilla, si hay que instalar algo, pero no es pulseaudio.

Se trata de "apulse" un pequeño programa con el que podemos usar skype sin necesidad de instalar pulseaudio, una maravilla (:

Las paginas para descargarlo:
En github.
Para descargar los .deb desde aquí.

Para usarlo es tan simple como abrir un terminal y "$ apulse skype" o añadirlo al menú de inicio "apulse skype".

En mi caso lo probé y funciona bien, puedo hablar sin problemas y no he notado comportamientos extraños ni nada, hace lo que dice.

Espero les sirva.

domingo, 17 de mayo de 2015

Alternativas en la nube Yandex.Disk y Cloud.Mail.ru

Desde hace tiempo buscaba algún sitio que me permitiera subir mis archivos y respaldos en la nube, por ejemplo, el servicio de Google es bueno pero no me convencía del todo (cuestión de gustos imagino), así busqué y probé hasta que un día recordé que dos de las cuentas de correos que utilizo también tienen servicio de almacenamiento en la nube, me refiero a los servicios de Yandex y Mail.ru.

Para comenzar, Yandex ofrece un buen servicio de almacenamiento, con el registro ofrecen 10GB de almacenamiento el cual se puede aumentar hasta los 20GB con referidos, por cada referido se reciben 512MB, para que esto suceda los referidos deben registrarse y luego instalar cualquiera de sus app para recibir 1GB adicional.

Como limitante o contra se pudiera decir que el idioma, por ahora solo está en ruso y en inglés, lo mismo con sus app, en Debian descargué e instalé su app para linux, funciona desde la línea de comandos y es muy fácil de usar, los comandos son pocos y nada del otro mundo, además tiene un archivo de configuración que puede ser editado para más comodidad, como funciona?

# Para mostrar los comandos $ yandex-disk help # Cuando se utiliza por primera ves usar este comando, esto crea la config en; "~./usuario/.config/yandex-disk/" $ yandex-disk setup # Iniciar el daemon $ yandex-disk start # Sincronizar los archivos, por defecto la carpeta está en; "~./usuario/Yandex.Disk" $ yandex-disk sync # Ver el estatus $ yandex-disk status # Detener el daemon $ yandex-disk stop

Al correr el "setup" se nos pregunta nuestros datos, usuario y contraseña, donde estará la carpeta que contendrá los archivos, y si queremos iniciar el daemon al iniciar el computador, lo importante es que por ejemplo, yo elegí iniciar el daemon manualmente, y al iniciarlo, automáticamente sincroniza la carpeta, es decir, no tengo que hacer nada más, si copio un archivo o carpeta dentro de la carpeta de yandex.disk enseguida se sincroniza, no es necesario que haga algo más.

Como punto a favor están los hasta 20GB de espacio, y que además subir y compartir archivos es muy fácil.


Si se animan a probar les dejo el link de invitación para recibir 1GB adicional (recordar que luego deben instalar la app para recibir el GB).

Siguiendo con Mail.ru, como punto en contra está el hecho de que su página "cloud.mail.ru"no está traducida ni en español ni en inglés, solo en ruso, su app si está en inglés aparentemente (no la he probado todavía).

Como punto a favor están los 25GB de almacenamiento sin costo, y que si se utiliza a través de sus app no debería haber ningún problema dado que estas están en inglés, también decir que su página de correo si está en español, además que para mi gusto tiene una interfaz sencilla y agradable.

NO he tenido problema al utilizarla, con la ayuda del traductor todo es posible (:


Si quieren probar el servicio les dejo el link de registro que por cierto está en español (lo que no está en español es cloud.mail.ru).

lunes, 11 de mayo de 2015

Cambio de Cursor en Linux (Debian)

Hace mucho tiempo que no hacía un cambio de cursor en Debian, ya hace tiempo largo vengo usando el mismo cursor y es por eso al ver el rollo que algunos hacen tratando de cambiar el cursor no entendía porque.

No creo que valgan capturas de pantallas, existen varios DE como para tratar de explicarlos todos, así que lo más fácil es intentar explicar que puede estar pasando, mucho más fácil es ir directo y hacer los ajustes pertinentes donde corresponda.

Lo primero es cambiar el cursor mediante la interfaz gráfica que tengamos, quizás y es muy probable que tengan el problema que muchos experimentan, el cual consiste en tener un cursor para GTK "por ejemplo", y otro diferente para el escritorio o algunas otras aplicaciones, en fin, no se muestra un solo puntero si no dos, el nuevo que seleccionamos y el anterior el cual cambiamos.

Supongamos que deseamos instalar el Cursor "Pulse-Glass", y al instalarlo presenta el problema antes mencionado, para intentar solucionar el problema hacemos lo siguiente:

Primero:

# Los cursores están ubicados en: /usr/share/icons # para cambiar en cursor vamos a la carpeta: /usr/share/icons/default # abrimos y modificamos (como root) el archivo: index.theme # y se coloca el nombre del cursor que se desee usar, # debería quedar algo así: [Icon Theme] Inherits=Pulse-Glass Name=Pulse-Glass

Segundo:

# también cambiar el cursor en: /home/usuario/.icons/default/index.theme # si no existe, crear las carpetas y el archivo, # si este archivo no es igual al de: /usr/share/icons/default/index.theme # se verán dos punteros diferentes, por ejemplo; uno en el Desktop y otro en Firefox. # también cambiar el cursor en los archivos de configuración de GTK 2 y 3: /home/usuario/.gtkrc-2.0 /home/usuario/.config/gtk-3.0/settings.ini ########## cambiar también en ROOT ########## # si no se cambia, en aplicaciones bajo root se verá el cursor de maneras diferentes /root/.icons/default/index.theme /root/.gtkrc-2.0 /root/.config/gtk-3.0/settings.ini # ejemplo GTK 2: ... gtk-cursor-theme-name="Pulse-Glass" gtk-cursor-theme-size=0 ... # ejemlo GTK 3: ... gtk-cursor-theme-size=0 gtk-cursor-theme-name=Pulse-Glass ...

Como ven son varias cosas que hay que cambiar, después de todo esto se debería tener un solo puntero indiferentemente de donde se esté, usuario normal o root, al igual que las app.

Es importante recordar que muchas veces es necesario hacer estos cambios a mano, porque la interfaz no los hace, sobre todo en nuestro root, y bueno, esto no pasa más que de ser algo medio molesto y tedioso a la hora de cambiar el cursor.

viernes, 10 de abril de 2015

Grabar desde el micrófono en Debian utilizando arecord y ffmpeg

Existen quizás múltiples y variadas formas de grabar desde la entrada del micrófono en un linux cualquiera en general, pero para saber exactamente la manera en que grabamos sin pasar por una app mejor hacerlo desde el terminal.

Nada de comandos extraños y rebuscados, simplemente ejecutamos la aplicación que queramos utilizar y le pasamos los parámetros que deseemos para grabar y listo, así de simple.

La más sencilla es creo "arecord", en Debian forma parte de "alsa-utils" y si ya lo tienen instalado no hay que hacer nada más, si no es el caso, entonces deben instalar el paquete para poder utilizarlo.

Si no tienen configurado el volumen del micrófono pueden hacerlo a través de "alsamixer", abren el terminal y tipean "alsamixer", si ya lo hicieron entonces pueden seguir con la grabación.

Para grabar con "arecord" abrimos un terminal en la carpeta que queramos guardar la grabación y ejecutamos lo siguiente:

arecord mic.wav

Para salir de la grabación presionamos: "Ctrl + C"

Como pueden ver guardamos el archivo con el formato "wav", esto es así dado que "arecord" solo graba en los siguientes formatos (voc, wav, raw or au), si le colocan un formato "mp3" solo será un "wav" mal renombrado.

La grabación anterior es con la calidad que le asigna "arecord" por defecto, aunque el archivo es más pequeño (en mb) graba en 8 bit, 8000 Hz y en mono, si queremos grabar con más calidad (aumentan los mb) podemos pedirle a "arecord" que grabe en formato "CD":

arecord -f cd mic.wav

De esta manera graba en (16 bit little endian, 44100 Hz, stereo), para más información pueden ejecutar "man arecord".

Y como para todo hay, seguramente se estarán preguntando ¿y como se hace para grabar en formato "mp3"?, la respuesta más fácil es utilizando "FFmpeg".

(Aquí debo recordar que tengo los repositorios http://www.deb-multimedia.org/)

Para poder grabar con "FFmpeg" hay que instalarlo primero, al igual que las siguientes librerías (si quieren grabar con algunas de ellas): "libmp3lame (mp3)", "libfaac, libfdk_aac (aac)", "libvorbis (ogg)".

Instalado lo anterior, en teoría ya podemos grabar en cualesquiera de esos formatos desde la entrada del micrófono,

Pero antes debemos saber cual es nuestra entrada al mic para poder grabar con ffmpeg, no es la gran cosa y solo es cuestión de probar, podemos ir a su página y revisar su configuración (está en ingles):
Página de FFmpeg.

Básicamente es ejecutar lo siguiente en el terminal:

arecord -l

Que nos devolverá algo como:

arecord -l **** List of CAPTURE Hardware Devices **** card 0: ICH [Intel ICH], device 0: Intel ICH [Intel ICH] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: ICH [Intel ICH], device 1: Intel ICH - MIC ADC [Intel ICH - MIC ADC] Subdevices: 1/1 Subdevice #0: subdevice #0

Lo que debemos identificar es "card" y "device", esto es para utilizar en los parámetros que le pasaremos posteriormente a "FFmpeg", dirán seguro "que rollo", pero no, como decía antes es cuestión de probar, para ejemplo y sacado de la página de FFmpeg: hw:(X),(Y), where (X)=card, (Y)=device.

En mi caso utilizo "hw:0,0" pero pudiera ser "hw:0,1" o "hw:1,1" en fin, el caso particular de cada quien dependiendo el "hardware" que posea, y creo que eso se entiende sin problema.

En la carpeta donde queramos grabar abrimos un terminal:

ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec libmp3lame -ar 44100 -ab 64k mic.mp3

Para salir presionamos "Q" si no funciona usamos "Ctrl + C".

Explicado por partes, con lo anterior estamos utilizando "alsa", con "dos canales (stereo)", nuestro "hardware hw:0,0", el codec para grabar es "libmp3lame", a "44100 Hz", con "64kbps" y para grabar en formato "mp3".

Si queremos grabar con más calidad subimos los "kbps" a "96k" o "128k", depende de cada quien, en "64k" es una grabación decente con buena calidad, si queremos grabar con "bits variables" utilizamos "-q:a 9" en sustitución de "-ab 64k", quedaría así:

ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec libmp3lame -ar 44100 -q:a 9 mic.mp3

También es una grabación decente con un buen nivel de compresión, para ver más opciones pueden ir a la Página de FFmpeg.

Para grabar en "aac" lo anterior aplica y solo cambiamos el "codec de grabación" y el "formato", ejemplo:

ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec libfdk_aac -ar 44100 -ab 64k mic.aac

Si quieren saber más pueden ir a la Página de FFmpeg.

Ahora, para grabar en formato "ogg" sería de esta manera:

ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec libvorbis -ar 44100 -ab 64k mic.ogg

Como vieron se puede grabar en varios formatos desde el terminal con un mínimo esfuerzo, y aunque quedó más largo de lo que esperaba es triste entrar al blog y leer comandos que no sabemos que hacen ni para que sirven.

Espero les sirva.

domingo, 1 de marzo de 2015

Pidgin Whatsapp Debian (testing)

Hace poco recordé a Pidgin Whatsapp, recordé también que lo probé y funcionó (pidgin mostraba a whatsapp como un plugin más) lo único que no me pareció fue el modo de recuperar el mensaje para crear la cuenta y la contraseña, ese paso... medio tenebroso para mi gusto, por eso no lo pude hacer andar.

Pero ahora ese paso de recuperar la cuenta y la contraseña ya no me parece tan tenebroso, debido a que ahora se puede hacer fácilmente mediante una aplicación, tan fácil como apuntar y hacer click, así de simple, y la mejor parte es que funciona bastante bien, para introducir el número de teléfono este debe tener código de país más nuestro número sin el cero (0), en mi caso un ejemplo: +58 0416xxx... = 58416xxx...


Ya con eso tenemos la cuenta y contraseñe creadas y lista para usar.

Para probar utilicé un paquete .deb para ubuntu (como había probado antes) y funcionó, el detalle, las dependencias, pero funcionó igual.

Luego de probar que funcionara bien compilé mi propio paquete .deb, en mi caso, apenas instalar un par de dependencias y listo, funciona perfecto.

Para usarlo, agregamos una nueva cuenta, y seleccionamos Whatsapp:


Agregamos el número de teléfono como "Nombre de usuario" (el número lo agregamos como explique más arriba) y también agregamos la contraseña (debimos haber creado la cuenta y contraseña primero):


Para agregar contactos lo hacemos usando su número de teléfono como "Nombre de usuario" (el número lo agregamos como explique más arriba) y le agregamos un "nombre o apodo" para que podamos identificarlos mejor.


Podemos configurar algunas opciones de privacidad:


También podemos agregar los smyleis:


Todo lo anterior funciona sin problemas, las imágenes y vídeos llegan como un link, y también podemos enviar (solo he enviado imágenes, y se tardan un poco en llegar), los smyleis funcionan bien, en general sin quejas, si se tiene un número disponible para usarlo de está manera sirve, esto, debido que tengo entendido que si se utiliza el número que utilizamos con whatsapp este se desactiva en el teléfono.

La página de pidgin-whatsapp:
Whatsapp-Purple

En esta página se explica como instalarlo/utilizarlo en ubuntu/fedora/win2:
davidgf

Aquí podemos crear la cuenta y recuperar la contraseña:
davidgf-whatsapp-pwd

Si no funciona debemos recordar "que para introducir el número de teléfono este debe tener código de país más nuestro número sin el cero (0), en mi caso un ejemplo: +58 0416xxx... = 58416xxx..." si no funciona, en esa misma página en la parte inferior ubicamos la letras en negrita "WART", es el programa que utilicé para crear la cuenta y contraseña y es la imagen que muestro más arriba, podemos descargar el exe y usarlo sin problemas (en windows).

El paquete .deb para ubuntu:
ubuntu-ppa

Y el paquete .deb que compilé para debian testing:
pidgin-whatsapp

Las dependencias para debian testing "libc6 (>= 2.7), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.12.0), libpurple0 (>= 1:2.8.0), libstdc++6 (>= 4.4.0)".

Los Smyleis:
emoji-for-pidgin

Para instalarlo, descargar el "master-zip.zip" descomprimirlo y copiar la carpeta donde están los smyleis dentro de: "$home/.purple/smileys/".

En mi caso quedó así: "/home/lm/.purple/smileys/Emoji-for-Pidgin".

Espero que les sirva.

martes, 24 de febrero de 2015

Versiones antiguas de Firefox sobre Debian 8

Hoy que recién Firefox lanza la versión 36.0 me hizo recordar por todas versiones anteriores que he pasado. Para no decir mentiras, no me gustaba Firefox para nada, era feísimo, me parecía un traste, en su lugar usé Internet Explorer (como si pudiese ser diferente) también Netscape Navigator y Opera, aunque la mayoría del tiempo moría en IE, me rehusé a usar Firefox hasta ya bien entrada la versión 2 del mismo.

En Linux, ya sin muchas alternativas lo tuve que utilizar, recuerdo la versión que por aquellos días era todavía beta de Swiftfox 3, me gusto bastante, Firefox seguía en la versión 2, el cambio era notable, usé Swiftfox bastante tiempo, hasta que comenzó a dejar de actualizarse, de ahí en adelante usé Firefox, he probado muchísimos navegadores pero ninguno me ha gustado como para dejarlo.

Para no dar tantas vueltas decir que sorprende que por estos días una versión de Firefox del 2004 "Firefox/0.8" funcione aquí en un Debian Testing (ahorita Debian 8) y bueno, como prueba una captura:


La versión Firefox/1.0.



La versión Firefox/1.0.4.


La versión Firefox/1.0.8.


La versión Firefox/1.5.0.8pre (Iceweasel).


La versión de Iceweasel actual.


Y la versión actual de Firefox 36.0.


Se dice fácil pero once años han pasado desde la versión 0.8 hasta la 36.0 actual, y que versiones tan viejas sigan funcionando aquí es una sorpresa, eso si, aunque funcionan la navegación definitivamente no es igual, la compatibilidad quedó muy atrás, pero aunque salten diez mil páginas y cuarenta mil avisos sigue funcionando igual xD

viernes, 21 de noviembre de 2014

Instalando DNSCrypt con OpenDNS en Debian

Hace ya mucho tiempo atrás vengo usando los DNS de OpenDNS, en un principio solo cambié los DNS, esto lo hacía editando el archivo "dhclient.conf", tiempo después creé un registro en la página de OpenDNS y utilizando ddclient mantenía actualizada la ip para un poco más de seguridad y mejores resultados.

Más tarde apareció DNSCrypt que cifra el contenido DNS entre el computador y los servidores DNS, de entrada ofrecían un paquete .deb para instalar, luego este ya no estuvo disponible y tocaba compilar, no era ni difícil ni mucho menos, tampoco hacerlo andar, aunque ahora cuesta un poco más que antes sigue siendo relativamente fácil utilizarlo.

Para comenzar decir que para compilar deben tener instalado ciertas herramientas y dependencias como por ejemplo gcc, g++, automake, make, libtool y quizás algunos otros más que olvidé (esto para los que no han compilado nada antes).

Lo primero es descargar "libsodium", sin esta no podemos compilar DNSCrypt ya que depende de ella.
Descargar libsodium

Descargamos la última versión "libsodium-1.0.1.tar.gz" casualmente lanzada hoy 21/12/2014 (: la descomprimimos y procedemos a compilar.

Esto se puede hacer de la manera tradicional pero para que quede un poco mejor les voy a recomendar un simple script que algunas veces viene en algunas aplicaciones y simplemente lo modifiqué para usarlo, lo llamaremos "prepare", dentro lleva lo siguiente:

#!/bin/sh if autoreconf --install && ./configure \ --prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --libdir=/usr/lib \ --includedir=/usr/include \ --mandir=/usr/share/man \ --docdir=/usr/share \ --enable-pie "$@" then echo echo "The DNSCrypt source code was successfully prepared and configured." echo "Type make && make install to build and install DNSCrypt." echo else echo echo "Some part of the preparation process failed." echo "Please refer to doc/devel-notes.txt for details." echo exit 1 fi

Esto fuerza por ejemplo que las librerías, binarios, manuales, etc, se copien donde deben ir y no en otro sitio, por ejemplo los binarios se instalan por defecto en /usr/local/bin y no en /usr/bin, esto lo corrige.

Cuando tengamos el script prepare listo le damos permisos de ejecución y lo copiamos dentro del la carpeta descomprimida de libsodium, abrimos un terminal dentro de la carpeta y ejecutamos el script "./prepare", con esto se debería de poner en marcha la configuración inicial, si todo sale bien y no hay errores seguimos con "make", con esto se debería compilar libsodium si no hay errores, una ves compilado en ves de instalar directo al disco "recomiendo utilizar checkinstall" ya que crea un paquete .deb bastante sencillo el cual podemos instalar y desinstalar con facilidad.

Para usarlo se debe tener instalado checkinstall además revisar el archivo de configuración del mismo "/etc/checkinstallrc" donde nos fijamos si la autoinstalación de los paquetes está activada, esto para que no lo instale de manera automática al crear el paquete .deb, revisamos que estén de esta manera las siguientes lineas:

# Install the package or just create it? INSTALL=0

Ahora si, escribimos "su" para entrar como root y luego seguimos con "checkinstall", esto nos preguntará si queremos agregar algunos comentarios, por ejemplo presionamos "Y" y escribimos algo; libsodium bla bla "enter" es una libreria bla bla "enter" ya podemos seguir, pregunta si deseamos continuar "enter" de nuevo y listo, se crea un paquete .deb dentro de la carpeta.

Lo instalamos y luego ejecutamos ldconfig -v.

Ahora descargamos DNSCrypt:
Descargar DNSCrypt

El procedimiento es el mismo que con "libsodium", es decir, descomprimimos y usamos el mismo script prepare, "./prepare", "make", "su", "checkinstall".

Instalamos el paquete .deb y ya tenemos DNSCrypt listo para usar, ahora falta configurarlo, para eso abrimos el archivo "/etc/dhcp/dhclient.conf" y lo modificamos para dejar las siguientes líneas de esta manera:

#send host-name "andare.fugue.com"; send host-name = gethostname(); #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-lease-time 3600; #supersede domain-name "fugue.com home.vix.com"; prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, # domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers; #require subnet-mask, domain-name-servers; #timeout 60; #retry 60; #reboot 10;" #select-timeout 5; #initial-interval 2; #script "/etc/dhcp3/dhclient-script"; #media "-link0 -link1 -link2", "link0 link1"; #reject 192.33.137.209;

Lo siguiente es agregar las siguientes líneas al archivo "/etc/rc.local", (este probado si funciona) esto, antes de la linea "exit 0":

dnscrypt-proxy -d --resolver-address=208.67.220.220:443 --provider-name=2.dnscrypt-cert.opendns.com --provider-key=B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79 exit 0

Como ven, la línea está antes del "exit 0", con esto si ya listo para usar, al reiniciar la red o la maquina debería funcionar.

Esto lo podemos comprobar entrando en Welcome to OpenDNS!.

Si ven el check pues todo bien (:

Créditos a lignux.com

martes, 7 de octubre de 2014

Ajuste de hora automático con ntpdate en Debian

Ajustar la hora en debian no es tan sencillo como en Windows, y si no tienes un entorno de escritorio (como en mi caso) se poner mejor todavía, para estos casos existe una pequeña pero eficiente aplicación para hacer este trabajo, eso si, funciona como superusuario (root).

Para instalarla:

# apt-get update # apt-get install ntpdate

Una ves instalada la podemos probar como superusuario (root):

root@lm ~ # ntpdate -u 2.pool.ntp.org 7 Oct 18:37:08 ntpdate[4674]: adjust time server 200.189.40.8 offset 0.022892 sec root@lm ~ #

Editado 09/10/2014:
La forma de actualizar que comentaba funcionaba con "/etc/rc.local" no andaba xD corrijo a una que si ya probado si funciona. Probé instalar "NTP" que debería actualizar la hora y no logré hacerlo funcionar, problema de router/configuración valla saber, opte mejor por la opción de "cron".
Pero como es una molestia tener que loguearse para poder ejecutar el comando anterior, lo podemos hacer de manera automática utilizando un sencillo "script" que será ejecutado por "cron" de manera periódica (por lo menos ese es el plan).

Crearemos un "script" que podemos llamar ntp, dentro colocamos lo siguiente:

#!/bin/sh /usr/sbin/ntpdate -u 2.pool.ntp.org

Luego lo copiamos o movemos a "/etc/cron.hourly/", luego de eso le damos permisos de ejecución de la siguiente manera:

# chmod a+x /etc/cron.hourly/ntp

Con esto cron debería ejecutar el script periódicamente y se debería ajustar la hora del sistema. El script no actualiza el sistema inmediatamente luego de iniciar sesión, lo hace en el transcurso que se ejecute el script a través de cron, en mi caso funciona sin ningún problema.

El script lo tome de:
jdbaldoma.net

lunes, 29 de septiembre de 2014

Liquorix Kernel en Debian (testing)

Por estos días Debian estuvo bastante inestable por lo menos en mi caso, lo que me obligó a hacer algunos cambios, entre esos cambios figura el cambio de kernel, el nuevo Kernel Liquorix que estoy utilizando se comporta mucho mejor que el proporcionado por debian.

Una de las formas de notar la diferencia es si se comprime un archivo de 1GB o más, la diferencia es notable, el rendimiento en general se nota mucho mejor, y no he tenido ningún problema con el driver nvidia gracias a que DKMS hace su trabajo.

Para instalarlo en Debian:

# /etc/apt/sources.list.d/liquorix.list deb http://liquorix.net/debian sid main

Podemos utilizar nuestro editor favorito o usar un gestor de archivos gráfico, y agregar la línea que se muestra.

Luego de esto actualizamos he instalamos la llave:

apt-get update apt-get install '^liquorix-([^-]+-)?keyring.?'

Para instalar x86 (i386)

apt-get install linux-headers-liquorix-686 linux-image-liquorix-686

Para instalar x86_64 (amd64)

apt-get install linux-headers-liquorix-amd64 linux-image-liquorix-amd64

Con lo anterior ya estaríamos en condición de reiniciar y utilizar el nuevo kernel.

Lo que muestra el comando uname -a

ljmarin@lm ~ $ uname -a Linux lm 3.16-3.dmz.1-liquorix-686 #1 ZEN SMP PREEMPT Thu Sep 18 01:09:30 UTC 2014 i686 GNU/Linux ljmarin@lm ~ $

Pueden leer un poco más en las siguientes direcciones:
gnulinuxvagos
debianadmin

viernes, 26 de septiembre de 2014

Bash vulnerability en Debian

Ta bueno esto de la vulnerabilidad bash (Shellshock) en linux y Mac OS, eso le recuerda a unos cuantos que no hay sistema operativo 100% seguro y que esa seguridad es enteramente relativa.

Y está la otra parte que es qué probablemente veremos cuentos y más cuentos acerca de este bug, lo exagerarán a más no poder, y como dije hace nada ningún SO es 100% seguro y menos perfecto, lo realmente bueno es que cuando estas cosas pasan todos los que están dentro del mundito linux se enteran, mejor todavía, no es que tarde mucho en corregirse el fallo (sea cual sea), además que quienes están detrás las distribuciones o de servidores linux afectados por algún fallo se apresuran enseguida a tomar medidas para solventar o contrarrestar cualquier situación adversa.

Pero asumamos que pasa esto mismo con Windows, jojo serio? que tan rápido se resuelven ahí los fallos de seguridad por muy críticos que sean? se enteran los usuarios de este SO de estos graves fallos de seguridad? cuantos de ellos están conscientes de eso? mejor... a cuantos les importa? lol.

Dejemos el asunto ahí, en Debian (testing) ayer me dispuse a probar un comando que vi en Gizmodo y expongo los resultados.

La idea es que si el comando muestra "vulnerable" el sistema es vulnerable a ataques, el comando a ejecutar:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

El resultado:

ljmarin@lm ~ $ env x='() { :;}; echo vulnerable' bash -c 'echo hello' vulnerable hello ljmarin@lm ~ $ bash --version GNU bash, versión 4.3.24(1)-release (i586-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. Licencia GPLv3+: GPL de GNU versión 3 o posterior This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ljmarin@lm ~ $

En debian se muestra una actualización para bash, actualizo y lo intento de nuevo:

ljmarin@lm ~ $ env x='() { :;}; echo vulnerable' bash -c 'echo hello' bash: aviso: x: ignoring function definition attempt bash: error al importar la definición de la función para `x' hello ljmarin@lm ~ $ bash --version GNU bash, versión 4.3.25(1)-release (i586-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. Licencia GPLv3+: GPL de GNU versión 3 o posterior This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ljmarin@lm ~ $

Pasa la prueba, pero leyendo en Genbeta muestran otra variante del comando anterior, es decir ahora son dos comandos.

Los comandos a ejecutar son los siguientes y la idea es que si alguno de los dos muestra vulnerable pues el sistema es vulnerable a posibles ataques.

env x='() { :;}; echo vulnerable' bash -c 'echo Fallo 1 parcheado' env X='() { (a)=>\' sh -c 'echo vulnerable'; bash -c 'echo Fallo 2 sin parchear'

El primero:

ljmarin@lm ~ $ env x='() { :;}; echo vulnerable' bash -c 'echo Fallo 1 parcheado' bash: aviso: x: ignoring function definition attempt bash: error al importar la definición de la función para `x' Fallo 1 parcheado ljmarin@lm ~ $ bash --version GNU bash, versión 4.3.25(1)-release (i586-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. Licencia GPLv3+: GPL de GNU versión 3 o posterior This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ljmarin@lm ~ $

Va bien, ahora el otro:

ljmarin@lm ~ $ env X='() { (a)=>\' sh -c 'echo vulnerable'; bash -c 'echo Fallo 2 sin parchear' vulnerable Fallo 2 sin parchear ljmarin@lm ~ $ bash --version GNU bash, versión 4.3.25(1)-release (i586-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. Licencia GPLv3+: GPL de GNU versión 3 o posterior This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ljmarin@lm ~ $

No pasó la prueba y aparentemente sigue "vulnerable", y aunque han dicho que esto supuestamente está corregido en debian, bueno, por lo menos en mi caso parece que no, tocará sentarse a esperar que corrijan de una ves el fallo.

jueves, 18 de septiembre de 2014

Debian Nvidia driver legacy (nvidia-legacy-304xx-driver)

Después de usar el driver Nouveau por unos meses he vuelto al driver de Nvidia, la razón de esto es que el computador comenzó a tener cuelgues aleatorios sin razón ni sentido, tenía un comportamiento bastante errático la verdad.

Los drivers de Nvidia por un tiempo estuvieron fuera de los repositorios de Debian, volvieron pero ahora el driver 304.xx pasó a ser legacy con esto se pone un poco complicado el asunto al momento de querer instalar los drivers de nuevo.

Justo ahora el driver legacy da soporte a los modelos GeForce por debajo de 8xx y el driver actual da soporte a GeForce 8xx para arriba, asi que si tienes un modelo por debajo de 8xx (como en mi caso) es necesario instalar el driver legacy.

Para instalarlo volví a poner a nouveau en el blacklist y cambié nouveau por nvidia en el xorg.conf, he instalé lo siguiente:

nvidia-legacy-304xx-driver, nvidia-legacy-304xx-kernel-dkms, nvidia-legacy-304xx-alternative, nvidia-settings-legacy-304xx nvidia-installer-cleanup, nvidia-kernel-common, nvidia-support, xserver-xorg-video-nvidia-legacy-304xx

Estos son los drivers Nvidia que deben estar instalados y ninguno más, demás está ponerse a jugar con algún otro paquete de la lista de Nvidia, en mi caso fue perdida de tiempo, con estos paquetes instalados funciona, incluso el driver vesa se niega a funcionar.


Recomiendo enviar el driver nouveau al blacklist y pasar a vesa, después de eso reiniciar he instalar los drivers Nvidia antes mencionados, colocar el driver nvidia en el xorg.conf y despues de reiniciar de nuevo debería funcionar.

Prácticamente está información no está en Debian, o por lo menos no la vi, o no está actualizada, como sea, difícil este asunto de los drivers Nvidia en Debian.

Donde conseguí algo de información: http://balau82.wordpress.com

Editado 09/10/2014:
Se agregó "nvidia-settings-legacy-304xx" a la lista, no estaba en los repos al momento de crear el post.

martes, 22 de julio de 2014

Conectarse a Internet con Debian utilizando Android "Tethering"

Vamos a ver como de manera más bien sencilla nos podemos conectar a Internet a través del androide, ya sea conectado al wifi o usando el plan de datos (en caso de tener).

Sin tener el computador conectado a ninguna red, conectamos el teléfono celular al computador a través del cable usb.

Abrimos un terminal como root y ejecutamos los siguientes comandos:

1ro.- Lo primero que debemos hacer es asegurarnos de que Debian reconoce el dispositivo y preparar todo para no tener ningún tipo de problema con la conexión, para esto tipeamos:

root@lm ~ # lsusb Bus 001 Device 003: ID 1004:61d9 LG Electronics, Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub root@lm ~ #

Donde debería aparecernos nuestro teléfono celular, en mi caso "LG".

2do.- Revisamos que redes están en funcionamiento, esto para evitar posibles problemas con la conexión.

root@lm ~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:13:8f:84:95:44 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:294 errors:0 dropped:0 overruns:0 frame:0 TX packets:294 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:326487 (318.8 KiB) TX bytes:326487 (318.8 KiB) root@lm ~ #

La red "eth0" está activa, la detenemos tipeando:

root@lm ~ # ifdown eth0 Internet Systems Consortium DHCP Client 4.3.0 Copyright 2004-2014 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/00:13:8f:84:95:44 Sending on LPF/eth0/00:13:8f:84:95:44 Sending on Socket/fallback DHCPRELEASE on eth0 to 192.168.1.1 port 67 send_packet: Network is unreachable send_packet: please consult README file regarding broadcast address. dhclient.c:2286: Failed to send 300 byte long packet over fallback interface. root@lm ~ #

Ejecutamos de nuevo "ifconfig" para asegurarnos de que la red "eth0" no esté activa.

root@lm ~ # ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:298 errors:0 dropped:0 overruns:0 frame:0 TX packets:298 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:326727 (319.0 KiB) TX bytes:326727 (319.0 KiB) root@lm ~ #

Ya no está activa, seguimos.

3ro.- En este punto activamos la opción "Tethering" en android, como esto varía en los dispositivos toca buscar un poco, en mi caso es; "Settings --> More... --> Tethering" y activamos la opción "USB tethering".


4to.- Buscamos las redes disponibles:

root@lm ~ # ip link 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 00:13:8f:84:95:44 brd ff:ff:ff:ff:ff:ff 3: usb0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 5a:db:52:32:21:63 brd ff:ff:ff:ff:ff:ff root@lm ~ #

La red "eth0" y "usb0" están disponibles, pero ambas están inactivas "DOWN", como la que nos interesa es "usb0" la activamos tipeando:

root@lm ~ # dhclient usb0 -v Internet Systems Consortium DHCP Client 4.3.0 Copyright 2004-2014 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/usb0/5a:db:52:32:21:63 Sending on LPF/usb0/5a:db:52:32:21:63 Sending on Socket/fallback DHCPDISCOVER on usb0 to 255.255.255.255 port 67 interval 4 DHCPREQUEST on usb0 to 255.255.255.255 port 67 DHCPOFFER from 192.168.42.129 DHCPACK from 192.168.42.129 bound to 192.168.42.114 -- renewal in 1674 seconds. root@lm ~ #

Ahora, si tipeamos "iwconfig" deberíamos ver:

root@lm ~ # iwconfig lo no wireless extensions. eth0 no wireless extensions. usb0 no wireless extensions. root@lm ~ #

Listo, con esto ya deberíamos de tener conexión a Internet a través de android.

martes, 27 de mayo de 2014

Kingsoft Office Linux (Debian)

Hace poco me conseguí con esta suite ofimática llamada Kingsoft Office, y debo decir que me sorprendió ver lo bien que funcionaba y que los archivos .doc/.docx mantenían el formato casi intacto.

Es cierto que no es 100% libre pero está para descargarla y utilizarla de manera gratuita, y además la versión para linux funciona perfectamente (por lo menos en mi caso), descargué el paquete comprimido a mi computadora lo descomprimí y listo, pude usarla sin problemas.

Existe un paquete .deb que por comodidad debería ser más fácil de manejar, también por la parte de las dependencias, si al instalar quedan dependencias fallidas pueden usar el comando "apt-get -f install" para solucionarlo, la única manera que no se solucione es que alguna dependencia no exista en los repositorios.

Definitivamente es una alternativa a OpenOffice/LibreOffice que para mi gusto se han quedado muy atrás por lo menos en la parte de interfaz de usuario, y hay que decirlo, si la interfaz no le agrada al usuario o no se siente cómodo en ella es una mentira que va usarla y creo es una de las razones por la que MS sigue sin competencia con su suite ofimática.

Como puntos en contra le encuentro que por ahora está en el idioma ingles aunque seguramente con más tiempo y más interesados estarán disponibles otros idiomas, el soporte .odt no lo vi por ningún lado, por lo menos no guarda .odt solo .wps o los formatos MS.

Para quien quiera probarla dejo los enlaces:
Kingsoft_Office para Windows
Kingsoft_Office para Linux

Una captura de como luce Kingsoft_Office en Linux:


Se me había olvidado mencionar que la interfaz es por pestañas así como la suite de MS, en la imagen se aprecia las distintas pestañas en el menú.

miércoles, 21 de mayo de 2014

Google Chrome 35 Debian Testing

Vamos a ver brevemente como usar Google Chrome en su versión 35 en Debian Testing.

Para comenzar nos dirigimos a la siguiente dirección y descargamos Google Chrome: descargar Google Chrome

Allí seleccionamos nuestra versión ya sea 32/64 bit y la descargamos.

Para instalarlo debemos hacerlo como root, abrimos un terminal donde descargamos el paquete .deb y colocamos: (esta es la version 32 bit)

dpkg -i google-chrome-stable_current_i386.deb

Es probable que se generen problemas de dependencias, para resolverlas podemos ejecutar "apt-get -f install" este comando debería preguntar si se quieren instalar las dependencias fallidas que claro deberíamos responder afirmativamente.

Debo decir que al intentar ejecutar Chrome, en mi caso tuve un problema con libudev debido que faltaba un enlace simbólico, si este es el caso debemos buscar libudev dentro de "/lib/i386-linux-gnu/" (en mi caso que uso 32 bit), una ves ubicado libudev creamos un enlace simbólico (como root):

# ln -sf /lib/i386-linux-gnu/libudev.so.1.3.5 /usr/lib/libudev.so.0

(insisto en decir este es mi caso con 32 bit y con libudev.so.1.3.5).

Volvemos a probar y Chrome debería funcionar sin problemas.


Al instalar el paquete .deb este se encarga (debería) de modificar sources.list para agregar el repositorio de Google Chrome y con eso ahorrarse lo anterior, además al estar dentro del sources.list podemos actualizarlo fácilmente.

lunes, 12 de mayo de 2014

Los paquetes y sus dependencias en Debian

Hace mucho que uso Debian (testing), y una de las cosas que siempre me ha molestado es que muchas veces los mantenedores de los paquetes los amarran (por decirlo de alguna manera) a dependencias innecesarias.

O simplemente algún paquete viene con una dependencia como "recomendado/sugerido" y eso ocasiona que se quieran instalar muchos otros paquetes/librerías que no necesitamos en la mayoría de los casos para nada.

Para tratar de explicarlo un poco mejor, un mantenedor de una librería llámese "X" sirve para varios fines, como reproducir música y vídeo por ejemplo, ahora, una aplicación que depende de ella para poder reproducir Blu-ray necesita o depende del entorno de Java para funcionar correctamente.

Pero que pasa con los usuarios de otra aplicación para reproducir música y vídeo diferente a esta? tienen que instalar si o si el entorno de Java aunque no lo usen solo porque una librería tiene una dependencia que satisface otra aplicación que ustedes no utilizan?

En efecto, así es, a menos que modifiquen la librería en cuestión y eliminen la dependencia innecesaria tendrán que instalarla, diferente a eso, cambiar de aplicación.

Otras muchas veces los culpables son los paquetes o librerías marcados como recomendado/sugerido, esto hace que se pida instalar paquetes que jamas en la vida vamos a usar, como por ejemplo:

root@lm ~ # apt-get dist-upgrade Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Calculando la actualización... Listo Se instalarán los siguientes paquetes NUEVOS: docbook-dsssl docbook-utils fonts-lmodern fonts-texgyre jadetex javascript-common libjs-jquery libosp5 libostyle1c2 libptexenc1 libruby2.0 libsgmls-perl libsp1c2 libtcl8.6 libtk8.6 libyaml-0-2 lmodern luatex openjade prosper ps2eps ruby ruby2.0 rubygems-integration sgmlspl sp tcl tcl8.6 tex-common tex-gyre texlive-base texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base texlive-latex-base-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-luatex texlive-pictures texlive-pictures-doc texlive-pstricks texlive-pstricks-doc tipa tk tk8.6 Se actualizarán los siguientes paquetes: iceweasel kernel-package libegl1-mesa libegl1-mesa-dev libegl1-mesa-drivers libgbm1 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libmozjs24d libopenvg1-mesa libqt4-dbus libqt4-network libqt4-script libqt4-xml libqtcore4 libqtdbus4 libqtgui4 libwayland-egl1-mesa mesa-common-dev powermgmt-base qdbus qt4-qtconfig qtcore4-l10n vim-common vim-tiny whois xulrunner-24.0 30 actualizados, 49 se instalarán, 0 para eliminar y 0 no actualizados. Necesito descargar 407 MB de archivos. Se utilizarán 591 MB de espacio de disco adicional después de esta operación. ¿Desea continuar? [S/n] n Abortado. root@lm ~ #

En serio? 407 MB de descarga?, mejor todavía, 30 actualizados y 49 para instalar?.

Parece absurdo pero así es, y este ejemplo es más bien moderado, los he visto peores, el culpable de este problema en particular? kernel-package, como lo se? sencillo, instalando paquete por paquete hasta dar con el responsable.

En la mayoría de los casos debo descargar el paquete que causa el problema e instalarlo desde la linea de comandos, eso casi siempre resuelve el problema, parece mucho trabajo (a veces lo es) pero me alegra decir que esto no pasa muy seguido, de echo a veces pasa tanto tiempo que cuando pasa me dan ganas de volver a windows xD pero no, imagino que cada S.O. tiene su cruz con que cargar.

domingo, 27 de abril de 2014

Cambiando los iconos de Apache en XAMPP (Linux)

Los iconos que por defecto vienen dentro de apache por demás está decirlo, son bien feos, el indice que se nos muestra luce desprolijo y antiguo (o anticuado), y no hay que hacer mucho para cambiarle el aspecto y hacerlo lucir un tanto más agradable a la vista aunque la mayoría del tiempo solo lo veamos nosotros.

Así luce el indice de entrada con los iconos de apache:


Funciona (que es lo importante), pero porque no hacer que se vea mejor? vamos al punto, para cambiar los iconos de apache:

1.- Nos dirigimos a Oxygen icons for Apache 2 y descargamos el paquete tar.gz, o si prefieren navegar y buscar algún paquete rpm un poco más actualizado, aunque probablemente no sea mucha la diferencia.

2.- Luego de descargar el paquete lo descomprimimos y copiamos la carpeta icons-oxygen dentro de la carpeta de XAMPP (/opt/lampp).

3.- Ubicamos el archivo httpd-autoindex.conf, su dirección normalmente sería /opt/lampp/etc/extra, y debería quedar bastante parecido al siguiente ejemplo:

# Directives controlling the display of server-generated directory listings. # # Required modules: mod_authz_core, mod_authz_host, # mod_autoindex, mod_alias # # To see the listing of a directory, the Options directive for the # directory must include "Indexes", and the directory must not contain # a file matching those listed in the DirectoryIndex directive. # IndexOptions: Controls the appearance of server-generated directory # listings. IndexOptions FancyIndexing HTMLTable VersionSort # FoldersFirst: Esta opcion independientemente del orden que escoja el # usuario (las columnas nombre, ultima modificacion, tamaño, etc), # siempre apareceran primero los directorios y despues los ficheros. IndexOptions FoldersFirst # IgnoreCase: Otra opcion relacionada con la ordenacion. Si esta # activada, mayusculas y minusculas no importaran a la hora de ordenar # los archivos. IndexOptions IgnoreCase # VersionSort: En el caso de haber varios ficheros con mismo nombre pero # diferente version, se ordenen perfectamente de acuerdo a la version y # no al orden ASCII: la version 1.12 iria despues de la 1.9, por ejemplo. IndexOptions VersionSort NameWidth=* # IconsAreLinks: permite que los iconos asociados a cada fichero tambien # sean un enlace a dicho archivo. IndexOptions IconsAreLinks # IndexOptions SuppressDescription IndexOptions SuppressRules IndexOptions SuppressHTMLPreamble IndexOptions XHTML # We include the /icons/ alias for FancyIndexed directory listings. If # you do not use FancyIndexing, you may comment this out. # Alias /icons/ "/opt/lampp/icons/" Alias /icons/ "/opt/lampp/icons-oxygen/" <directory "/opt/lampp/icons-oxygen"> Options Indexes MultiViews AllowOverride None Require all granted </Directory> # AddIcon* directives tell the server which icon to show for different # files or filename extensions. These are only displayed for # FancyIndexed directories. AddType image/x-icon .ico AddIconByEncoding (CMP,/icons/tgz.png) x-compress x-gzip AddIconByType (TXT,/icons/product.png) text/x-suse-ymp AddIconByType (TXT,/icons/product.png) text/x-suse-ymu AddIcon /icons/rpm.png .rpm AddIcon /icons/spec.png .spec AddIcon /icons/deb.png .deb AddIcon /icons/folder_red.png .repo AddIcon /icons/product.png .ymp AddIcon /icons/binary.png .bin AddIcon /icons/exe.png .exe # AddIcon /icons/binhex.gif .hqx # AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/tgz.png .tar.gz .tgz .tar AddIcon /icons/tar.png .tar.bz tar.xz .tar.bz2 .tbz .tbz2 .cpio .lzma .pk3 .sis AddIcon /icons/zip.png .zip .rar .ace .arj .zoo AddIcon /icons/gz.png .gz .bz .bz2 .Z .z # AddIcon /icons/a.gif .ai .eps AddIcon /icons/postscript.png .ps AddIcon /icons/html.png .html .shtml .htm AddIcon /icons/xml.png .xml .xhtml AddIcon /icons/rss.png .rss AddIcon /icons/rdf.png .rdf .rdfs .owl AddIcon /icons/php.png .php .phps AddIcon /icons/css.png .css AddIcon /icons/js.png .js AddIcon /icons/pdf.png .pdf AddIcon /icons/chm.png .chm AddIcon /icons/font_truetype.png .otf .ttf .ttc .ttx AddIcon /icons/font_type1.png .gsf .pfa .pfb AddIcon /icons/document.png .odt .fodt .kwd .kwt AddIcon /icons/msword.png .doc .docx AddIcon /icons/presentation.png .odp .fodp .otp AddIcon /icons/mspowerpoint.png .ppt .pps .pptx .ppsx AddIcon /icons/spreadsheet.png .ods .fods .csv AddIcon /icons/msexcel.png .xls .xlsx AddIcon /icons/scribus.png .scd .scd.gz .sla .sla.gz .slaz AddIcon /icons/database.png .odb AddIcon /icons/sql.png .sql AddIcon /icons/image.png .ico .png .jpeg .jpg AddIcon /icons/plasma.png .plasmoid AddIcon /icons/krita.png .kra AddIcon /icons/svg.png .svg .svgz AddIcon /icons/desktop.png .desktop .kdelnk AddIcon /icons/txt.png .txt .conf AddIcon /icons/po.png .po AddIcon /icons/ldif.png .ldif AddIcon /icons/vcf.png .vcf AddIcon /icons/calendar.png .ics .vcs AddIcon /icons/torrent.png .torrent AddIcon /icons/cue.png .cue AddIcon /icons/cdtrack.png .iso AddIcon /icons/k3b.png .k3b AddIcon /icons/midi.png .midi .mid .kar AddIcon /icons/encrypted.png .pgp .gpg .asc AddIcon /icons/source_c.png .c AddIcon /icons/source_cpp.png .cpp AddIcon /icons/source_h.png .h AddIcon /icons/source_pl.png .pl AddIcon /icons/source_py.png .py AddIcon /icons/java.png .class AddIcon /icons/jar.png .jar AddIcon /icons/patch.png .patch .diff # AddIcon /icons/f.gif .for # AddIcon /icons/dvi.png .dvi # AddIcon /icons/uuencoded.gif .uu AddIcon /icons/shellscript.png .sh .shar .csh .ksh .tcl .run .awk AddIcon /icons/tcl.png .tcl AddIcon /icons/tex.png .tex AddIcon /icons/core.png core AddIconByType (TXT,/icons/txt.png) text/* AddIconByType (IMG,/icons/image.png) image/* AddIconByType (SND,/icons/sound.png) audio/* AddIconByType (VID,/icons/video.png) video/* AddIcon /icons/up.png .. AddIcon /icons/txt_copying.png COPYING COPYING.de COPYRIGHT COPYRIGHT.de .log AddIcon /icons/txt.png ChangeLog AddIcon /icons/info.png README README.BETA README.DOS LIESMICH LIESMICH.DOS AddIcon /icons/folder.png ^^DIRECTORY^^ AddIcon /icons/symlink.png ^^SYMLINK^^ AddIcon /icons/blank.gif ^^BLANKICON^^ # DefaultIcon is which icon to show for files which do not have an icon # explicitly set. DefaultIcon /icons/unknown.png # AddDescription allows you to place a short description after a file in # server-generated indexes. These are only displayed for FancyIndexed # directories. # Format: AddDescription "description" filename # #AddDescription "GZIP compressed document" .gz #AddDescription "tar archive" .tar #AddDescription "GZIP compressed tar archive" .tgz # ReadmeName is the name of the README file the server will look for by # default, and append to directory listings. # # HeaderName is the name of a file which should be prepended to # directory indexes. ReadmeName README.html HeaderName HEADER.html # IndexIgnore is a set of filenames which directory indexing should ignore # and not include in the listing. Shell-style wildcarding is permitted. IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

Después de todo lo anterior el indice con los nuevos iconos debería de verse así:


Es una mejora agradable a la vista y también funcional porque ordenamos las carpetas y los archivos de una mejor manera, claro, esto se puede mejorar, pero eso quedara para otra entrada :)

Espero les sirva.

viernes, 28 de marzo de 2014

IP dinámica y estática (WI-FI) + DD-WRT en Debian

Vamos a ver brevemente como configurar la tarjeta wifi al dedo sin muchas complicaciones, de manera tanto dinámica como estática.

Lo que debemos tener en claro es lo siguiente:

1ro el tipo o modelo de tarjeta wifi que poseemos, para eso nos dirigimos al siguiente enlace (está en ingles) y buscaremos si nuestro dispositivo es compatible.

Debian Wiki WIFI

2do tener una idea de lo que necesitamos, para eso nos dirigimos a este otro enlace.

Debian Wiki WIFI How to

Ya teniendo un poco más claro lo que debemos hacer procedemos a instalar lo necesario, esto, asumo incluye haber instalado previamente el firmware o los driver requeridos:

Comenzamos:

$ su # apt-get update # apt-get install wpasupplicant wireless-tools

Luego nos dirigimos a "/etc/network" y abrimos el archivo "interfaces" y lo configuramos de la siguiente manera:

# My wifi device auto wlan0 iface wlan0 inet dhcp wpa-ssid minombredered wpa-psk mipasswd

Esto, en mi caso que estoy utilizando WPA-2, ahora, si no quieren tener su contraseña en texto plano, pueden hacer lo siguiente:

Nos dirigimos de nuevo a "/etc/network", abrimos un terminal y ejecutamos el siguiente comando:

# wpa_passphrase mi-nombre-de-red mi-passwd > archivo.config

Remplacen por su nombre de red y su contraseña.

Se generará un archivo con el nombre "archivo.config", dentro verán algo parecido a esto:

network={ ssid="mi-nombre-de-red" #psk="mi-passwd" psk=d20f767800874e399017a45dc8b0dac68fea5009ed7fb371b5f51b26c93bf0ff }

Ahora pueden remplazar su contraseña:

# My wifi device auto wlan0 iface wlan0 inet dhcp wpa-ssid minombredered wpa-psk d20f767800874e399017a45dc8b0dac68fea5009ed7fb371b5f51b26c93bf0ff

Luego de esto, solo deben reiniciar y si todo está bien, deberían de tener conexión asignada mediante DHCP.

Si quieren una IP estática, también es fácil:

# My wifi device auto wlan0 # iface wlan0 inet dhcp iface wlan0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 wpa-ssid minombredered wpa-psk d20f767800874e399017a45dc8b0dac68fea5009ed7fb371b5f51b26c93bf0ff

Dentro del router usando DD-WRT la configuración quedaría así:


Listo, deberían tener una IP estática.

Recuerdo los enlaces:
Debian Wiki WIFI
Debian Wiki WIFI How to

Nunca está de más leer un poco :)

miércoles, 26 de marzo de 2014

IP estática con Router TP-LINK + DD-WRT en Debian

Días atrás hablaba de como solucionar un problema con el Router TP-Link, pero un problema constante con este era la desconexión continua, a veces, sin más, solo se quedaba sin conexión, era necesario apagar y volver a encender el router para volver a tener conexión.

No tenía este problema porque mi conexión era a través de un buen cable de red sin pasar por ningún router, pero ahora hay varios equipos que se conectan a través del router, incluidos los móviles, así que es un problema a resolver.

Actualice a su última versión de firmware (firmware TP-Link) y aunque por unos días mejoró, el problema continuó, comencé a utilizar IP estáticas esperando solucionar el problema, pero no, siguió todo igual.

Como es un router económico, no se le pueden pedir grandes cosas (menos milagros) así que lo siguiente fue cambiar a DD-WRT, hasta ahora el problema con la conexión parece (insisto, "parece") haber mejorado o casi desaparecido.

La conexión no se pierde ni a través del wifi ni con cable, por lo que asumo que el cambio de firmware fue una buena idea.

En Debian, para usar una IP estática nos dirigimos a "/etc/network", abrimos el archivo "interfaces", y lo modificamos para que quede de la siguiente manera:

# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface # allow-hotplug eth0 # iface eth0 inet dhcp # IP Estatica auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1

La IP que utilicé es "192.168.1.100" donde el rango por defecto es del "100" al "149", esos valores son modificables, por eso, esto solo vale como ejemplo.

Ahora dentro del router usando DD-WRT la configuración quedaría así:


En la pestaña "Servicios", dentro de recuadro "Servidor DHCP", se selecciona "Añadir", allí se coloca la dirección MAC, el nombre del host, la IP que quieran utilizar y eligen algún valor para el tiempo Lease.

Ya con eso después de guardar todo y reiniciar, deberían de tener una IP estática.

viernes, 21 de marzo de 2014

Error TP-LINK "You have no authority to access this router!"

Hace algunas semanas +/- actualicé el firmware de el Router TP-LINK y me encontré con un inconveniente algo extraño, de entrada pensé que se había dañado el router o la actualización había salido mal.

Lograba acceder al router pero este me mostraba un mensaje de error que decía "You have no authority to access this router!", después de perder un día buscando leí en algún sitio alguien que decía que probara con un navegador diferente (quien reporto el error usaba Firefox (igual que yo)) así que probé con Midori y bang! listo, eso es, pruebo con Chromium y funciona perfecto, vuelvo a Firefox y me muestra el mismo error.

Otro día más buscando la solución y nada, pero como se que he cambiado algunas cosas en la configuración de firefox, me voy a lo básico y renombro la carpeta de configuración de Firefox a .firefox~, abro Firefox de nuevo para que cree una configuración nueva, entro de nuevo al router y bang! listo, ahora funciona bien y no me muestra el mensaje de error, el asunto es, no se cual es la configuración que causa el error.

Pensado que podía ser, pruebo y a la primera lo descubro, lo que causa el mensaje de error es que cambié la configuración de "network.http.sendRefererHeader" a "0" cuando su valor por defecto es de "2", listo, con esto, resuelto el misterio.

Una captura con "network.http.sendRefererHeader" con su valor en "2":


Cambiando "network.http.sendRefererHeader" su valor a "0":


El resultado:


Bueno, espero que a alguien le sirva :)