Posts tagged "GNU/Linux":
Cómo activar "tap to click" en GNU/Linux (Debian)
Obtenido de aquí (Activate tap to click on touchpad?): https://unix.stackexchange.com/questions/337008/activate-tap-to-click-on-touchpad
¿Qué es "tap to click"? Es el efecto de dar un golpecito en el "touchpad" (panel que hace de ratón en muchos portátiles, sobre todo modernos) para hacer click, pero sin llegar a hundirlo (si lo hundes sería simplemente "hacer click") ;-). Y la verdad es que cuando te acostumbras es más cómodo y más rápido.
Lee el artículo completo, hasta el final, antes de hacer nada.
Funciona si llevas a cabo los siguientes pasos (comprobado en Debian Buster):
- Elimina el paquete "xserver-xorg-input-synaptics". (importante)
- Instala este otro "xserver-xorg-input-libinput":
En muchos casos es suficiente con comprobar que tenemos instalado el paquete "xserver-xorg-input-libinput", y no este otro "xserver-xorg-input-synaptics package".
- Como root:
3.1) Si no existe, crea este directorio "etc/X11/xorg.conf.d"
mkdir /etc/X11/xorg.conf.d
3.2) Si no existe, crea este fichero "40-libinput.conf" (basta con hacer copy/paste de lo que sigue en una línea de comandos):
echo 'Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "Tapping" "on" EndSection' > /etc/X11/xorg.conf.d/40-libinput.conf
3.3) Rearranca con "Desktop Manager" (o apaga y enciende), por ejemplo:
o
Para más información, puedes consultar esto: Debian wiki : Enable tapping on touchpad ( https://wiki.debian.org/SynapticsTouchpad#Enable_tapping_on_touchpad ).
Salud!
Eligiendo el sistema operativo que Grub arranca por defecto
Hola.
Este artículo es un resumen de las indicaciones "que funcionan" (lo he probado) recogidas en este hilo de la comunidad de Ubuntu: https://askubuntu.com/questions/52963/how-do-i-set-windows-to-boot-as-the-default-in-the-boot-loader
Así, procedemos de esta forma:
- Listamos el número y detalle de los sistemas que ha detectado Grub en nuestro equipo:
godo@TuChi:~$ fgrep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bb5b1d8f-283e-4ea2-905f-630da5f13971' {
submenu 'Opciones avanzadas para Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-bb5b1d8f-283e-4ea2-905f-630da5f13971' {
menuentry 'Debian GNU/Linux, con Linux 4.9.0-9-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-9-amd64-advanced-bb5b1d8f-283e-4ea2-905f-630da5f13971' {
menuentry 'Debian GNU/Linux, with Linux 4.9.0-9-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-9-amd64-recovery-bb5b1d8f-283e-4ea2-905f-630da5f13971' {
menuentry 'Windows 10 (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-01D317734DAEB710' {
menuentry 'Windows 10 (en /dev/sdc1)' --class windows --class os $menuentry_id_option 'osprober-chain-01D163EEA0DA4380' {
godo@TuChi:~$
- Podemos observar, después de la palabra clave "menuentry", el nombre de las "entradas del menú de arranque que muestra Grub" entre comillas simples, por ejemplo: 'Windows 10 (en /dev/sdc1)'.
- Editamos el fichero: /etc/default/grub, así:
root@TuChi:/etc/default# nano grub
Podemos ver cómo queda:
root@TuChi:/etc/default# more grub # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 #GRUB_DEFAULT="Windows 10 (en /dev/sdc1)"
- La opción "GRUBDEFAULT=0" controla la entrada por defecto que va a ser arrancada. Aquí, donde lo vemos igualado a "cero", significa que arrancará la primera entrada que haya en el menú de arranque, en mi caso, 'Debian GNU/Linux, con Linux 4.9.0-9-amd64'. Si queremos que arranque otra, podemos indicarle el nombre de la entrada deseada, según lo hemos visto antes aparecer tras la palabra "menuentry", pero utilizando comillas dobles. Por ejemplo, así:
GRUB_DEFAULT="Windows 10 (en /dev/sdc1)"
- No olvidar nunca esto para actualizar el "verdadero" cargador de arranque de nuestra máquina:
root@TuChi:/etc/default# update-grub Generando un fichero de configuración de grub... Found background image: /usr/share/images/desktop-base/desktop-grub.png Encontrada imagen de linux: /boot/vmlinuz-4.9.0-9-amd64 Encontrada imagen de memoria inicial: /boot/initrd.img-4.9.0-9-amd64 Encontrado Windows 10 en /dev/sda1 Encontrado Windows 10 en /dev/sdc1 hecho root@TuChi:/etc/default#
Y eso es todo.
Utilizando "sudo" en Debian o como jugar a ser Dios
De todos es sabido, y espero que aún más entre los lectores de esta pequeña gota de agua, insignificante, en el océano de Internet, que trabajar con privilegios de administrador (terminología Windows) o superusuario (terminología Unix) en nuestro sistema durante el día a día está totalmente desaconsejado. Como otras muchas veces, Unix se adelantó a Windows (hoy en día esta ventaja ya no es tal, Windows también lo resuelve perfectamente) en esta separación de roles y, de hecho, desde el mismo momento de la instalación de un sistema Unix se obligaba al usuario que lo estaba instalando a: 1.- Elegir la contraseña de root. "root" siempre es el usuario con máximos privilegios: puede instalar y desinstalar aplicaciones, puede modificar/borrar ficheros del sistema… puede ver los buzones de correo de otros usuarios, e incluso puede borrar archivos y "cuentas" completas de otros usuarios (de hecho, es él quien las crea). Por eso, en el argot de los que trasteamos con los sistemas, cuando adoptamos el rol de root solemos describirlo como "me voy a convertir en Dios", porque es omnipoderoso.
- A elegir una cuenta de usuario "normal", sin privilegios, que sólo puede utilizar las aplicaciones instaladas por root, no puede ni instalar ni desinstalar, ni modificar partes críticas, clave, del sistema, ni ver los ficheros "confidenciales" de otros usuarios (siempre que los permisos estén bien puestos), etc.
Pero es más, y este es el verdadero quid de la cuestión: desde el inicio, desde el primer "login" a la máquina, el usuario con el que se trabaja (esto es flexible según la distribución, pero hay algunas que lo obligan) es el usuario normal. Y todo el mundo que utilizamos Unix o GNU/Linux en nuestro día a día así lo hacemos.
Pero, ¿qué pasa si en un determinado momento necesitas hacer algo como root? Pues Unix también resolvió esto hace mucho tiempo. Cuando aún no había entornos gráficos los sistemas Unix ya eran multiusuario y multitarea. Habrías otra consola, como si tuvieras varias pantallas para trabajar sobre la misma pantalla física, y entrabas como root. Pero ni siquiera eso era/es necesario: puedes cambiar tu personalidad y pasar a ser root haciendo uso del comando "su", que te pide la contraseña de root y, si la sabes, te convierte en root:
[23:07:39(godo@surco)~]> su Contraseña: [23:21:41(root@surco)/home/godo]#
Y ya puedes estar trabajando un rato (no sólo un comando, sino muchos) como root. Y esto es importante para entender la principal diferencia con sudo. ¿Qué permite sudo? sudo permite ser root "sólo" para ejecutar un comando, cuando ese comando termina sigues siendo tú, ese usuario normal sin privilegios. ¿Y qué comando es el que te permite ejecutar sudo? Esta es la segunda clave del tema: sólo aquellos para los que te haya autorizado root a "echarle una mano". Imagínate que quieres montar una determinada partición de una máquina que suele estar desmontada porque en ella se albergan las copias de seguridad. El administrador de esa máquina, root, puede delegarte sólo esa tarea. Para ello en el fichero /etc/sudoers (que nunca se edita de forma directa sino haciendo uso de la utilidad "visudo") root puede escribir estas líneas:
godo ALL=(ALL) NOPASSWD: /bin/mount
(NOPASSWD es para que no te solicite password. Si no se pone, te la solicitaría).
Así, el usuario "godo" puede utilizar sudo "sólo" para ejecutar el comando "mount" como superusuario.
Si el usuario "godo" no estuviera "capacitado" para ejecutar un comando vía "sudo", y aún así lo intentara, "root" sería notificado vía mail, siendo este que sigue el "cuerpo" del correo:
surco : Jun 27 20:33:40 : godo : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/godo ; USER=root ; COMMAND=/usr/bin/apt-get update
¿Qué hacen distribuciones como Ubuntu, y yo suelo configurar en mi Debian? Pues Ubuntu directamente impide que root haga "login" en la máquina, es decir, siempre has de entrar en el sistema con el usuario sin privilegios, y si necesitas utilizar "cualquier comando" (sin límites) en modo "privilegiado" recurres a "sudo". De hecho, "root" en Ubuntu no tiene contraseña y nunca puedes acceder a ser "root" de forma "total" (no funciona "su" hasta que no le pones contraseña a "root" utilizando "sudo" ¡Curioso!). Para que un usuario normal tenga acceso a todos los comandos de "root" sin llegar a "serlo", es decir, vía "sudo", basta que siendo "root" se agregue al usuario "godo", en mi caso, al grupo de usuarios de "sudo" (recuerda que Unix hay grupos de usuarios que comparten "permisos"). Así es como yo lo hago en Debian, supongo que en Ubuntu se hace algo parecido durante la instalación del sistema.
Yo, para recordar esto cuando hago una instalación nueva, conservo unas líneas explicativas en el fichero "sudoers" de mi máquina habitual, que agregué con "visudo", claro. Y desde ahora las conservo aquí también y las comparto con vosotros. Son estas:
[23:30:49(godo@surco)~]> more /etc/sudoers more: no se puede abrir /etc/sudoers: Permiso denegado [23:30:57(godo@surco)~]> sudo more /etc/sudoers [sudo] password for godo: # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # # ¡¡OJO!! MIRA UN POCO MAS ABAJO. BASTA CON: # 1. AÑADIR EL USUARIO godo AL GRUPO sudo. # 2. CERRAR LA SESIÓN Y VOLVER A ENTRAR. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command # Agregamos a Godo al grupo sudo con: # [20:32:31(root@surco)/var/log]> adduser godo sudo # Añadiendo al usuario `godo' al grupo `sudo' ... # Añadiendo al usuario godo al grupo sudo # Hecho. # Otra forma de hacerlo es: # [20:37:04(root@surco)/home/godo]> gpasswd -a godo sudo # Añadiendo al usuario godo al grupo sudo %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d [23:31:12(godo@surco)~]>
Observad al principio, cuando ejecuto el comando "more", como con mi usuario no tengo permisos para ver el fichero, pero sí utilizando "sudo".
Una última cosa, antes hablé de "su", y de que la contraseña que te solicita es la de "root", es decir, te tienes que saber la contraseña de "root", por tanto, cuando utilizas "su" te conviertes en root de "manera ancha". Sin embargo "sudo" no nace para hacer lo mismo que "su", aunque puede "casi llegar a hacerlo", sino que lo que quiere conseguir es un acceso a "hacer uso de privilegios" de forma más granular. Lo que te solicita por tanto no es la contraseña de "root", esta puede seguir siendo totalmente privada para "root" (¡root/Dios sólo hay uno!), sino la tuya, con el único fin de dejar "huella" en el sistema y que "root" sepa quién ha hecho qué. ¡Una verdadera maravilla del ingenio humano!
Espero que os haya gustado y que os acostumbréis a usarlo. Pero sobre todo, que os ayude a pensar.
Y el séptimo día descansó.
Utilizando Teamviewer en Debian
En este artículo vamos a ver como instalar Teamviewer en una máquina con arquitectura de 64 bits, corriendo la última versión estable de Debian para dicha arquitectura.
Se descarga el paquete .deb desde aquí: https://www.teamviewer.com/es/download/linux/
Una vez descargado, como el paquete es único para ambas arquitecturas: 32 y 64 bits, lo que equivale a decir que está compilado contra librerías de 32 bits; si tenemos un Debian de 64 bits instalado en nuestra máquina, como es mi caso, hemos de añadir la arquitectura de 32 bits para que el gestor de paquetes sea consciente de que es necesario instalar dependencias de dicha arquitectura. Lo hacemos, una vez convertidos en root, así:
[11:38:07(godo@debian)~]> sudo su [sudo] password for godo: [11:38:25(root@debian)/home/godo]# [11:38:26(root@debian)/home/godo]# [11:38:26(root@debian)/home/godo]# dpkg –add-architecture i386
Ahora, actualizamos nuestro árbol de dependencias (observad como en las líneas de acceso a los repositorios aparece ya la arquitectura i386 -32 bits- además de la amd64 -64 bits-):
[11:38:40(root@debian)/home/godo]# apt-get update Ign http://dl.google.com stable InRelease Obj http://security.debian.org jessie/updates InRelease Obj http://dl.google.com stable Release.gpg Ign http://ftp.debian.org jessie InRelease Obj http://dl.google.com stable Release Obj http://ftp.debian.org jessie Release.gpg Obj http://security.debian.org jessie/updates/main Sources Obj http://ftp.debian.org jessie Release Obj http://dl.google.com stable/main amd64 Packages Ign http://httpredir.debian.org jessie InRelease Obj http://security.debian.org jessie/updates/contrib Sources Obj http://ftp.debian.org jessie/main amd64 Packages Obj http://security.debian.org jessie/updates/non-free Sources Obj http://httpredir.debian.org jessie-updates InRelease Obj http://ftp.debian.org jessie/contrib amd64 Packages Obj http://security.debian.org jessie/updates/main amd64 Packages Obj http://httpredir.debian.org jessie Release.gpg Des:1 http://ftp.debian.org jessie/main i386 Packages [6.779 kB] Obj http://security.debian.org jessie/updates/contrib amd64 Packages Obj http://security.debian.org jessie/updates/non-free amd64 Packages Des:2 http://security.debian.org jessie/updates/main i386 Packages [365 kB] Obj http://httpredir.debian.org jessie-updates/main Sources Obj http://httpredir.debian.org jessie-updates/contrib Sources Obj http://httpredir.debian.org jessie-updates/non-free Sources Ign http://dl.google.com stable/main Translation-esES Des:3 http://httpredir.debian.org jessie-updates/main amd64 Packages/DiffIndex [7.408 B] Ign http://dl.google.com stable/main Translation-es Ign http://dl.google.com stable/main Translation-en Obj http://httpredir.debian.org jessie-updates/contrib amd64 Packages Des:4 http://security.debian.org jessie/updates/contrib i386 Packages [2.526 B] Des:5 http://security.debian.org jessie/updates/non-free i386 Packages [14 B] Des:6 http://httpredir.debian.org jessie-updates/non-free amd64 Packages/DiffIndex [736 B] Obj http://security.debian.org jessie/updates/contrib Translation-en Obj http://security.debian.org jessie/updates/main Translation-en Obj http://security.debian.org jessie/updates/non-free Translation-en Des:7 http://httpredir.debian.org jessie-updates/contrib i386 Packages [32 B] Obj http://httpredir.debian.org jessie-updates/contrib Translation-en Des:8 http://httpredir.debian.org jessie-updates/main Translation-en/DiffIndex [2.704 B] Des:9 http://httpredir.debian.org jessie-updates/non-free Translation-en/DiffIndex [736 B] Obj http://httpredir.debian.org jessie Release Des:10 http://httpredir.debian.org jessie-updates/main i386 Packages [15,9 kB] Des:11 http://httpredir.debian.org jessie-updates/non-free i386 Packages [516 B] Obj http://httpredir.debian.org jessie/main Sources Obj http://httpredir.debian.org jessie/contrib Sources Obj http://httpredir.debian.org jessie/non-free Sources Obj http://httpredir.debian.org jessie/main amd64 Packages Obj http://httpredir.debian.org jessie/contrib amd64 Packages Obj http://httpredir.debian.org jessie/non-free amd64 Packages Des:12 http://httpredir.debian.org jessie/main i386 Packages [6.779 kB] Des:13 http://ftp.debian.org jessie/contrib i386 Packages [49,5 kB] Obj http://ftp.debian.org jessie/contrib Translation-en Obj http://ftp.debian.org jessie/main Translation-es Obj http://ftp.debian.org jessie/main Translation-en Des:14 http://httpredir.debian.org jessie/contrib i386 Packages [49,5 kB] Des:15 http://httpredir.debian.org jessie/non-free i386 Packages [80,4 kB] Obj http://httpredir.debian.org jessie/contrib Translation-en Obj http://httpredir.debian.org jessie/main Translation-es Obj http://httpredir.debian.org jessie/main Translation-en Obj http://httpredir.debian.org jessie/non-free Translation-en Descargados 14,1 MB en 30s (460 kB/s) Leyendo lista de paquetes… Hecho
Y procedemos a instalar "manualmente" el paquete descargado:
[11:40:57(root@debian)/home/godo]# cd Descargas/ [11:41:25(root@debian)/home/godo/Descargas]# dpkg -i teamviewer12.0.71510i386.deb
Seleccionando el paquete teamviewer previamente no seleccionado. (Leyendo la base de datos … 122791 ficheros o directorios instalados actualmente.) Preparando para desempaquetar teamviewer12.0.71510i386.deb … Desempaquetando teamviewer (12.0.71510) … dpkg: problemas de dependencias impiden la configuración de teamviewer: teamviewer depende de libc6 (>= 2.11). teamviewer depende de libgcc1. teamviewer depende de libasound2. teamviewer depende de libdbus-1-3. teamviewer depende de libexpat1. teamviewer depende de libfontconfig1. teamviewer depende de libfreetype6. teamviewer depende de libjpeg62. teamviewer depende de libsm6. teamviewer depende de libxdamage1. teamviewer depende de libxext6. teamviewer depende de libxfixes3. teamviewer depende de libxinerama1. teamviewer depende de libxrandr2. teamviewer depende de libxrender1. teamviewer depende de libxtst6. teamviewer depende de zlib1g.
dpkg: error al procesar el paquete teamviewer (–install): problemas de dependencias - se deja sin configurar Procesando disparadores para mime-support (3.58) … Procesando disparadores para desktop-file-utils (0.22-1) … Procesando disparadores para hicolor-icon-theme (0.13-1) … Se encontraron errores al procesar: teamviewer
Como podemos observar, la supuesta instalación de teamviewer termina arrojando una serie de errores de dependencias. Esto es porque hemos utilizado "dpkg" en crudo para instalarlo y, así, no se resuelven dichas dependencias durante la instalación. Basta con ejecutar el siguiente comando para que se instalen y todo quede configurado:
[11:41:54(root@debian)/home/godo/Descargas]# apt-get -f install Leyendo lista de paquetes… Hecho Creando árbol de dependencias Leyendo la información de estado… Hecho Corrigiendo dependencias… Listo Se instalarán los siguientes paquetes extras: gcc-4.9-base:i386 libasound2:i386 libc6:i386 libc6-i686:i386 libdbus-1-3:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libice6:i386 libjpeg62-turbo:i386 libpng12-0:i386 libsm6:i386 libuuid1:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 uuid-runtime zlib1g:i386 Paquetes sugeridos: libasound2-plugins:i386 glibc-doc:i386 locales:i386 Paquetes recomendados: uuid-runtime:i386 Se instalarán los siguientes paquetes NUEVOS: gcc-4.9-base:i386 libasound2:i386 libc6:i386 libc6-i686:i386 libdbus-1-3:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libice6:i386 libjpeg62-turbo:i386 libpng12-0:i386 libsm6:i386 libuuid1:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 uuid-runtime zlib1g:i386 0 actualizados, 28 nuevos se instalarán, 0 para eliminar y 0 no actualizados. 1 no instalados del todo o eliminados. Se necesita descargar 8.592 kB de archivos. Se utilizarán 19,9 MB de espacio de disco adicional después de esta operación. ¿Desea continuar? [S/n] Des:1 http://httpredir.debian.org/debian/ jessie/main gcc-4.9-base i386 4.9.2-10 [160 kB] Des:2 http://httpredir.debian.org/debian/ jessie/main libgcc1 i386 1:4.9.2-10 [48,1 kB] Des:3 http://httpredir.debian.org/debian/ jessie/main libc6 i386 2.19-18+deb8u7 [3.982 kB] Des:4 http://httpredir.debian.org/debian/ jessie/main libasound2 i386 1.0.28-1 [390 kB] Des:5 http://httpredir.debian.org/debian/ jessie/main libdbus-1-3 i386 1.8.22-0+deb8u1 [182 kB] Des:6 http://httpredir.debian.org/debian/ jessie/main libexpat1 i386 2.1.0-6+deb8u3 [84,1 kB] Des:7 http://httpredir.debian.org/debian/ jessie/main zlib1g i386 1:1.2.8.dfsg-2+b1 [89,4 kB] Des:8 http://httpredir.debian.org/debian/ jessie/main libpng12-0 i386 1.2.50-2+deb8u3 [179 kB] Des:9 http://httpredir.debian.org/debian/ jessie/main libfreetype6 i386 2.5.2-3+deb8u1 [480 kB] Des:10 http://httpredir.debian.org/debian/ jessie/main libfontconfig1 i386 2.11.0-6.3+deb8u1 [338 kB] Des:11 http://httpredir.debian.org/debian/ jessie/main libjpeg62-turbo i386 1:1.3.1-12 [123 kB] Des:12 http://httpredir.debian.org/debian/ jessie/main libice6 i386 2:1.0.9-1+b1 [61,1 kB] Des:13 http://httpredir.debian.org/debian/ jessie/main libuuid1 i386 2.25.2-6 [65,9 kB] Des:14 http://httpredir.debian.org/debian/ jessie/main libsm6 i386 2:1.2.2-1+b1 [33,7 kB] Des:15 http://httpredir.debian.org/debian/ jessie/main libxau6 i386 1:1.0.8-1 [20,9 kB] Des:16 http://httpredir.debian.org/debian/ jessie/main libxdmcp6 i386 1:1.1.1-1+b1 [25,1 kB] Des:17 http://httpredir.debian.org/debian/ jessie/main libxcb1 i386 1.10-3+b1 [48,2 kB] Des:18 http://httpredir.debian.org/debian/ jessie/main libx11-6 i386 2:1.6.2-3 [750 kB] Des:19 http://httpredir.debian.org/debian/ jessie/main libxfixes3 i386 1:5.0.1-2+b2 [21,6 kB] Des:20 http://httpredir.debian.org/debian/ jessie/main libxdamage1 i386 1:1.1.4-2+b1 [14,8 kB] Des:21 http://httpredir.debian.org/debian/ jessie/main libxext6 i386 2:1.3.3-1 [54,9 kB] Des:22 http://httpredir.debian.org/debian/ jessie/main libxinerama1 i386 2:1.1.3-1+b1 [17,1 kB] Des:23 http://httpredir.debian.org/debian/ jessie/main libxrender1 i386 1:0.9.8-1+b1 [32,1 kB] Des:24 http://httpredir.debian.org/debian/ jessie/main libxrandr2 i386 2:1.4.2-1+b1 [36,8 kB] Des:25 http://httpredir.debian.org/debian/ jessie/main libxi6 i386 2:1.7.4-1+b2 [81,8 kB] Des:26 http://httpredir.debian.org/debian/ jessie/main libxtst6 i386 2:1.2.2-1+b1 [27,7 kB] Des:27 http://httpredir.debian.org/debian/ jessie/main uuid-runtime amd64 2.25.2-6 [74,3 kB] Des:28 http://httpredir.debian.org/debian/ jessie/main libc6-i686 i386 2.19-18+deb8u7 [1.172 kB] Descargados 8.592 kB en 9s (940 kB/s) Preconfigurando paquetes … Seleccionando el paquete gcc-4.9-base:i386 previamente no seleccionado. (Leyendo la base de datos … 123088 ficheros o directorios instalados actualmente.) Preparando para desempaquetar …/gcc-4.9-base4.9.2-10i386.deb … Desempaquetando gcc-4.9-base:i386 (4.9.2-10) … Seleccionando el paquete libgcc1:i386 previamente no seleccionado. Preparando para desempaquetar …/libgcc11%3a4.9.2-10i386.deb … Desempaquetando libgcc1:i386 (1:4.9.2-10) … Seleccionando el paquete libc6:i386 previamente no seleccionado. Preparando para desempaquetar …/libc62.19-18+deb8u7i386.deb … Desempaquetando libc6:i386 (2.19-18+deb8u7) … Seleccionando el paquete libasound2:i386 previamente no seleccionado. Preparando para desempaquetar …/libasound21.0.28-1i386.deb … Desempaquetando libasound2:i386 (1.0.28-1) … Seleccionando el paquete libdbus-1-3:i386 previamente no seleccionado. Preparando para desempaquetar …/libdbus-1-31.8.22-0+deb8u1i386.deb … Desempaquetando libdbus-1-3:i386 (1.8.22-0+deb8u1) … Seleccionando el paquete libexpat1:i386 previamente no seleccionado. Preparando para desempaquetar …/libexpat12.1.0-6+deb8u3i386.deb … Desempaquetando libexpat1:i386 (2.1.0-6+deb8u3) … Seleccionando el paquete zlib1g:i386 previamente no seleccionado. Preparando para desempaquetar …/zlib1g1%3a1.2.8.dfsg-2+b1i386.deb … Desempaquetando zlib1g:i386 (1:1.2.8.dfsg-2+b1) … Seleccionando el paquete libpng12-0:i386 previamente no seleccionado. Preparando para desempaquetar …/libpng12-01.2.50-2+deb8u3i386.deb … Desempaquetando libpng12-0:i386 (1.2.50-2+deb8u3) … Seleccionando el paquete libfreetype6:i386 previamente no seleccionado. Preparando para desempaquetar …/libfreetype62.5.2-3+deb8u1i386.deb … Desempaquetando libfreetype6:i386 (2.5.2-3+deb8u1) … Seleccionando el paquete libfontconfig1:i386 previamente no seleccionado. Preparando para desempaquetar …/libfontconfig12.11.0-6.3+deb8u1i386.deb … Desempaquetando libfontconfig1:i386 (2.11.0-6.3+deb8u1) … Seleccionando el paquete libjpeg62-turbo:i386 previamente no seleccionado. Preparando para desempaquetar …/libjpeg62-turbo1%3a1.3.1-12i386.deb … Desempaquetando libjpeg62-turbo:i386 (1:1.3.1-12) … Seleccionando el paquete libice6:i386 previamente no seleccionado. Preparando para desempaquetar …/libice62%3a1.0.9-1+b1i386.deb … Desempaquetando libice6:i386 (2:1.0.9-1+b1) … Seleccionando el paquete libuuid1:i386 previamente no seleccionado. Preparando para desempaquetar …/libuuid12.25.2-6i386.deb … Desempaquetando libuuid1:i386 (2.25.2-6) … Seleccionando el paquete libsm6:i386 previamente no seleccionado. Preparando para desempaquetar …/libsm62%3a1.2.2-1+b1i386.deb … Desempaquetando libsm6:i386 (2:1.2.2-1+b1) … Seleccionando el paquete libxau6:i386 previamente no seleccionado. Preparando para desempaquetar …/libxau61%3a1.0.8-1i386.deb … Desempaquetando libxau6:i386 (1:1.0.8-1) … Seleccionando el paquete libxdmcp6:i386 previamente no seleccionado. Preparando para desempaquetar …/libxdmcp61%3a1.1.1-1+b1i386.deb … Desempaquetando libxdmcp6:i386 (1:1.1.1-1+b1) … Seleccionando el paquete libxcb1:i386 previamente no seleccionado. Preparando para desempaquetar …/libxcb11.10-3+b1i386.deb … Desempaquetando libxcb1:i386 (1.10-3+b1) … Seleccionando el paquete libx11-6:i386 previamente no seleccionado. Preparando para desempaquetar …/libx11-62%3a1.6.2-3i386.deb … Desempaquetando libx11-6:i386 (2:1.6.2-3) … Seleccionando el paquete libxfixes3:i386 previamente no seleccionado. Preparando para desempaquetar …/libxfixes31%3a5.0.1-2+b2i386.deb … Desempaquetando libxfixes3:i386 (1:5.0.1-2+b2) … Seleccionando el paquete libxdamage1:i386 previamente no seleccionado. Preparando para desempaquetar …/libxdamage11%3a1.1.4-2+b1i386.deb … Desempaquetando libxdamage1:i386 (1:1.1.4-2+b1) … Seleccionando el paquete libxext6:i386 previamente no seleccionado. Preparando para desempaquetar …/libxext62%3a1.3.3-1i386.deb … Desempaquetando libxext6:i386 (2:1.3.3-1) … Seleccionando el paquete libxinerama1:i386 previamente no seleccionado. Preparando para desempaquetar …/libxinerama12%3a1.1.3-1+b1i386.deb … Desempaquetando libxinerama1:i386 (2:1.1.3-1+b1) … Seleccionando el paquete libxrender1:i386 previamente no seleccionado. Preparando para desempaquetar …/libxrender11%3a0.9.8-1+b1i386.deb … Desempaquetando libxrender1:i386 (1:0.9.8-1+b1) … Seleccionando el paquete libxrandr2:i386 previamente no seleccionado. Preparando para desempaquetar …/libxrandr22%3a1.4.2-1+b1i386.deb … Desempaquetando libxrandr2:i386 (2:1.4.2-1+b1) … Seleccionando el paquete libxi6:i386 previamente no seleccionado. Preparando para desempaquetar …/libxi62%3a1.7.4-1+b2i386.deb … Desempaquetando libxi6:i386 (2:1.7.4-1+b2) … Seleccionando el paquete libxtst6:i386 previamente no seleccionado. Preparando para desempaquetar …/libxtst62%3a1.2.2-1+b1i386.deb … Desempaquetando libxtst6:i386 (2:1.2.2-1+b1) … Seleccionando el paquete uuid-runtime previamente no seleccionado. Preparando para desempaquetar …/uuid-runtime2.25.2-6amd64.deb … Desempaquetando uuid-runtime (2.25.2-6) … Procesando disparadores para systemd (215-17+deb8u6) … Procesando disparadores para man-db (2.7.0.2-5) … Configurando gcc-4.9-base:i386 (4.9.2-10) … Configurando libgcc1:i386 (1:4.9.2-10) … Configurando libc6:i386 (2.19-18+deb8u7) … Procesando disparadores para libc-bin (2.19-18+deb8u7) … Seleccionando el paquete libc6-i686:i386 previamente no seleccionado. (Leyendo la base de datos … 123477 ficheros o directorios instalados actualmente.) Preparando para desempaquetar …/libc6-i6862.19-18+deb8u7i386.deb … Desempaquetando libc6-i686:i386 (2.19-18+deb8u7) … Configurando libasound2:i386 (1.0.28-1) … Configurando libdbus-1-3:i386 (1.8.22-0+deb8u1) … Configurando libexpat1:i386 (2.1.0-6+deb8u3) … Configurando zlib1g:i386 (1:1.2.8.dfsg-2+b1) … Configurando libpng12-0:i386 (1.2.50-2+deb8u3) … Configurando libfreetype6:i386 (2.5.2-3+deb8u1) … Configurando libfontconfig1:i386 (2.11.0-6.3+deb8u1) … Configurando libjpeg62-turbo:i386 (1:1.3.1-12) … Configurando libice6:i386 (2:1.0.9-1+b1) … Configurando libuuid1:i386 (2.25.2-6) … Configurando libsm6:i386 (2:1.2.2-1+b1) … Configurando libxau6:i386 (1:1.0.8-1) … Configurando libxdmcp6:i386 (1:1.1.1-1+b1) … Configurando libxcb1:i386 (1.10-3+b1) … Configurando libx11-6:i386 (2:1.6.2-3) … Configurando libxfixes3:i386 (1:5.0.1-2+b2) … Configurando libxdamage1:i386 (1:1.1.4-2+b1) … Configurando libxext6:i386 (2:1.3.3-1) … Configurando libxinerama1:i386 (2:1.1.3-1+b1) … Configurando libxrender1:i386 (1:0.9.8-1+b1) … Configurando libxrandr2:i386 (2:1.4.2-1+b1) … Configurando libxi6:i386 (2:1.7.4-1+b2) … Configurando libxtst6:i386 (2:1.2.2-1+b1) …
Configurando teamviewer (12.0.71510) … Configurando uuid-runtime (2.25.2-6) … Configurando libc6-i686:i386 (2.19-18+deb8u7) … Procesando disparadores para libc-bin (2.19-18+deb8u7) … Procesando disparadores para systemd (215-17+deb8u6) … [11:42:57(root@debian)/home/godo/Descargas]#
Observar como en una de las últimas líneas aparece "Configurando teamviewer (12.0.71510) …". Ahora sí, nuestro teamviewer está listo para usarse.
A mí me gusta siempre terminar todas las instalaciones haciendo una comprobación y limpiando lo descargado:
[11:43:00(root@debian)/home/godo/Descargas]# [11:43:00(root@debian)/home/godo/Descargas]# apt-get check Leyendo lista de paquetes… Hecho Creando árbol de dependencias Leyendo la información de estado… Hecho [11:43:22(root@debian)/home/godo/Descargas]# apt-get update Ign http://dl.google.com stable InRelease Obj http://dl.google.com stable Release.gpg Obj http://security.debian.org jessie/updates InRelease Ign http://ftp.debian.org jessie InRelease Obj http://dl.google.com stable Release Obj http://ftp.debian.org jessie Release.gpg Ign http://httpredir.debian.org jessie InRelease Obj http://ftp.debian.org jessie Release Obj http://httpredir.debian.org jessie-updates InRelease Obj http://security.debian.org jessie/updates/main Sources Obj http://httpredir.debian.org jessie Release.gpg Obj http://dl.google.com stable/main amd64 Packages Obj http://security.debian.org jessie/updates/contrib Sources Obj http://security.debian.org jessie/updates/non-free Sources Obj http://security.debian.org jessie/updates/main amd64 Packages Obj http://ftp.debian.org jessie/main amd64 Packages Obj http://security.debian.org jessie/updates/contrib amd64 Packages Obj http://httpredir.debian.org jessie Release Obj http://ftp.debian.org jessie/contrib amd64 Packages Obj http://security.debian.org jessie/updates/non-free amd64 Packages Obj http://security.debian.org jessie/updates/main i386 Packages Obj http://ftp.debian.org jessie/main i386 Packages Obj http://security.debian.org jessie/updates/contrib i386 Packages Obj http://ftp.debian.org jessie/contrib i386 Packages Obj http://security.debian.org jessie/updates/non-free i386 Packages Obj http://ftp.debian.org jessie/contrib Translation-en Obj http://security.debian.org jessie/updates/contrib Translation-en Obj http://ftp.debian.org jessie/main Translation-es Obj http://security.debian.org jessie/updates/main Translation-en Obj http://ftp.debian.org jessie/main Translation-en Obj http://security.debian.org jessie/updates/non-free Translation-en Ign http://dl.google.com stable/main Translation-esES Obj http://httpredir.debian.org jessie-updates/main Sources Ign http://dl.google.com stable/main Translation-es Ign http://dl.google.com stable/main Translation-en Obj http://httpredir.debian.org jessie-updates/contrib Sources Obj http://httpredir.debian.org jessie-updates/non-free Sources Des:1 http://httpredir.debian.org jessie-updates/main amd64 Packages/DiffIndex [7.408 B] Obj http://httpredir.debian.org jessie-updates/contrib amd64 Packages Des:2 http://httpredir.debian.org jessie-updates/non-free amd64 Packages/DiffIndex [736 B] Des:3 http://httpredir.debian.org jessie-updates/main i386 Packages/DiffIndex [7.408 B] Obj http://httpredir.debian.org jessie-updates/contrib i386 Packages Des:4 http://httpredir.debian.org jessie-updates/non-free i386 Packages/DiffIndex [736 B] Obj http://httpredir.debian.org jessie-updates/contrib Translation-en Des:5 http://httpredir.debian.org jessie-updates/main Translation-en/DiffIndex [2.704 B] Des:6 http://httpredir.debian.org jessie-updates/non-free Translation-en/DiffIndex [736 B] Obj http://httpredir.debian.org jessie/main Sources Obj http://httpredir.debian.org jessie/contrib Sources Obj http://httpredir.debian.org jessie/non-free Sources Obj http://httpredir.debian.org jessie/main amd64 Packages Obj http://httpredir.debian.org jessie/contrib amd64 Packages Obj http://httpredir.debian.org jessie/non-free amd64 Packages Obj http://httpredir.debian.org jessie/main i386 Packages Obj http://httpredir.debian.org jessie/contrib i386 Packages Obj http://httpredir.debian.org jessie/non-free i386 Packages Obj http://httpredir.debian.org jessie/contrib Translation-en Obj http://httpredir.debian.org jessie/main Translation-es Obj http://httpredir.debian.org jessie/main Translation-en Obj http://httpredir.debian.org jessie/non-free Translation-en Descargados 19,7 kB en 13s (1.503 B/s) Leyendo lista de paquetes… Hecho [11:43:51(root@debian)/home/godo/Descargas]# apt-get upgrade Leyendo lista de paquetes… Hecho Creando árbol de dependencias Leyendo la información de estado… Hecho Calculando la actualización… Listo 0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados. [11:43:57(root@debian)/home/godo/Descargas]# apt-get clean [11:44:00(root@debian)/home/godo/Descargas]# [11:44:04(root@debian)/home/godo/Descargas]# exit exit [11:44:05(godo@debian)~]> [11:44:06(godo@debian)~]>
A continuación, en el fichero adjunto, os dejo una captura de mi escritorio mostrando a Teamviewer justo después de arrancarlo.
¡Espero que os sea útil!
Trabajando con GNU Emacs en sistemas Windows
Actualizado el 08-12-2016: se incorpora al final del artículo la sección de corrector ortográfico.
Hace mucho tiempo, diría que desde que comencé a trabajar con entornos GNU/Linux allá por 1992 (recuerdo estar estudiando los primeros años de mi carrera e intercambiar el sistema en alrededor de 10 disquetes de 3,5”), pero con mucha más intensidad a partir del 2005 (aquí podéis encontrar algunas entradas en este mismo blog que referencian esas fechas), el editor GNU Emacs se convirtió en uno de los pilares básicos de mi productividad. En él he realizado desde programas en C hasta scripts con Perl y Python, he organizado mis tareas con su “modo org” y he comparado configuraciones con su potente integración con diff. Todo esto y ¡mucho más!
Aunque al comienzo de mi vida profesional podía trabajar con GNU/Linux instalado en mi ordenador como sistema operativo base y habitual, la organización en la que trabajo se fue “complicando” y cada vez iban surgiendo más desarrollos propietarios que sólo se ejecutaban sobre sistemas Windows. Hasta ese entonces mi ordenador siempre arrancaba con Debian y sobre ella emulaba la Office de Microsoft; pero llegó un momento en el que trabajaba más, y me complicaba la vida, emulando software de Windows que lo que me aportaba mi “gran compañera” en eficiencia (estoy hablando del entorno Desktop, mis servidores siguen ejecutando GNU/Linux al 100%). En fin, que acabé instalando Windows como sistema operativo base y virtualizando mi Debian sobre “VMware Player”.
No obstante, con la ayuda de Cygwin mi sistema operativo actual es un Windows hibridado con muchas de las mejores herramientas del mundo GNU/Linux: gcc, gdb, ssh, diff, awk, bash, etc.
Y con el editor Emacs, que si bien no lo instalo directamente de la versión contenida en Cygwin (da errores en funcionalidades básicas un poco inexplicables, como, por ejemplo: tras ser asociado a ficheros .txt no los carga directamente al hacer doble click sobre ellos), sí que instalo este “port” que obtiene un Emacs nativo sobre Windows (actualmente lo vengo utilizando con mucha estabilidad en mis Windows 10).
Bien, pues no sólo escribo esta entrada para contaros que existe este “port nativo sobre Windows”, que ya me parece muy valioso ;-), sino que a continuación capturo varios ajustes “muy necesarios” para que el sistema se comporte como queremos.
Primero: descargamos la versión de Emacs para Windows desde aquí. Simplemente hemos de descomprimir el “.zip” que bajamos, situar la carpeta en cualquier lugar de nuestro disco duro y añadir esa carpeta a la variable “path” de Windows.
Como ya hemos comentado, y veremos más adelante con un ejemplo de comparación de ficheros, es muy aconsejable instalar un entorno “Cygwin” mínimo, con utilidades que aportan valor a Emacs. También hemos de añadirlo al “path”, para que podamos encontrar sus programas llamándolos desde cualquier sitio.
Segundo: hay dos formas de enseñarle a Emacs dónde está nuestro directorio de trabajo, o HOME, en Windows 10 me funcionó la segunda, la b), que es la más compleja pero fue la primera que se me ocurrió. Sin embargo, en Windows 7 no funciona bien, y ha sido lo que ha provocado que investigue un poco más y haya acabado encontrando la primera, la a), que es incluso más fácil. a) Tal y como se describe aquí, lo mejor es definir una variable de entorno para tu usuario de Windows, como se muestra en la siguiente figura (aprovechamos también y definimos la variable "LANG = esES.UTF8", ver figura, para que luego funcione también el diccionario "aspell"):
b) Creamos enlaces simbólicos, con mklink de Windows, del fichero configuración por defecto de emacs, “.emacs” y su “directorio de trabajo en segundo plano” (copias de seguridad, etc.) “.emacs.d”.
El port de Emacs para Windows considera como “directorio home” este: “C:\Users\Godo\AppData\Roaming” (sustituid Godo por vuestro usuario Windows), y en él guarda el fichero “.emacs” y el directorio “.emacs.d”. Yo los borro y los vuelvo a crear como enlaces simbólicos que apuntan a otros destinos, de igual nombre, pero ubicados en carpetas diferentes. Como podéis ver en la siguiente captura los mantengo dentro de mi Dropbox, conservando y sincronizando así todos los cambios que hago en ellos ya sea en mi ordenador fijo o en mi portátil.
Tercero: lo anclamos a la barra de tareas para poder ejecutarlo de forma rápida. La mejor forma para hacerlo es abrir un documento cualquiera con él, y cuando vemos el icono en la barra de tareas, lo pulsamos con el botón derecho y seleccionamos “anclar a la barra de tareas”. Luego editamos dicho anclaje (click con el botón derecho sobre el icono, de nuevo click con botón derecho sobre “emacs” y seleccionamos “propiedades”):
Y lo adaptamos para correr “runemacs.exe” en lugar de “emacs.exe” (este último deja en segundo plano una ventana msdos de fondo negro que resulta poco atractiva).
Por último, y como prueba del buen trabajo de Emacs integrado con la herramienta “diff” proporcionada por el entorno Cygwin, os dejo una captura donde podéis ver cómo me ayuda a detectar cambios en un fichero de configuración de un router Cisco:
Cuando limpie y de esplendor a mi fichero “.emacs” os lo compartiré por aquí por si os da ideas interesantes (a la vez que me sirve para fijar una copia de seguridad). Por ahora, os dejo sólo una brizna del mismo que activa la posibilidad de tener rápido acceso a “archivos recientes” (bajo el menú “File” o con “C-x C-r”):
Y otro día escribiré sobre el modo “.org” de Emacs, que es verdaderamente alucinante para llevar todo un “sistema de planificación” personal, de proyectos, etc., con “ToDo”, “Tags”, “deadlines”… Si lo quieres ver en funcionamiento, echa un vistazo a estos vídeos de Youtube.
Y tú, ¿qué me cuentas sobre Emacs? De verdad, si realizas tareas de administración de sistemas, de programación, de gestión… que requieran control de versiones… ¡*dale una oportunidad y no lo abandonarás jamás*! Incluso si eres un escritor…
Gracias por estar ahí. Y muchas más si decides enriquecerme con tus comentarios.
Actualizado el 08-12-2016 - Corrector ortográfico
Esta página de Emacs Wiki contine toda la información y ajustes de configuración necesarios. Básicamente hay que instalar este ejecutable y este diccionario. Después añadimos las siguientes líneas a nuestro fichero de configuración ".emacs":
;; ===== Para utilizar aspell como corrector ortográfico === ;; C:\Program Files (x86)\Aspell\bin (add-to-list 'exec-path "C:/Program Files (x86)/Aspell/bin/") (setq ispell-program-name "aspell") (setq ispell-personal-dictionary "D:/Db/01-Personal/home/.aspell") (require 'ispell) ;; La forma de invocarlo por defecto es "M-$" ;; Esto que sigue sólo chequea la palabra sobre el cursor ;; (global-set-key (kbd "<f8>") 'ispell-word) ;; Para chequear todo el buffer (global-set-key (kbd "<f8>") 'ispell-buffer) ;; Para activar detección al vuelo (global-set-key (kbd "C-<f8>") 'flyspell-mode)
Comparando versiones: Diffuse y, sobre todo, Meld
— ACTUALIZADO 08-03-2020: últimamente la herramienta que vengo utilizando para comparar no sólo archivos sino también directorios es Meld. Hablaba de ella en el artículo que sigue, pero no la instalaba por ocupar "mucho espacio". Ahora ese "mucho espacio" se ha relativizado, por el mayor tamaño de los discos instalados en mis máquinas. Así que le he dado una oportunidad. Existen también versiones para Windows y viene como paquete instalable en las principales distribuciones de GNU/Linux. Es realmente buena. Os la aconsejo. —
Los que trabajamos frecuentemente realizando diferentes tipos de configuraciones, tanto en electrónica de red como en sistemas finales, estamos acostumbrados a escudriñar ficheros de texto buscando información relevante: qué interfaces hay activos en un determinado conmutador, por qué funciona una configuración en un puerto y no en otro si “supuestamente” son iguales, qué rutas están intercambiando los encaminadores, qué opciones hay configuradas en un servidor web, etc.
Además, es habitual tener que comparar diferentes versiones de un mismo fichero de configuración pues, tras los cambios oportunos para habilitar alguna nueva funcionalidad, actualizaciones de software, etc., suelen ocurrir errores que es necesario depurar (¿qué habré tocado que antes funcionaba y ahora no?), o simplemente queremos ver qué nuevas opciones están disponibles, cuáles han cambiado de una versión a otra o comparar una plantilla genérica con el resultado de haber sido personalizada para ver qué hemos cambiado y qué no.
Escribo esta entrada en mi blog tras haberme tenido que enfrentar a un disco duro con sectores defectuosos que estaban (y están) afectando a los archivos de mi máquina virtual Debian (ya os contaré por qué “virtualicé” mi Debian). Aunque suelo tener una copia de seguridad de la misma, es inevitable el desfase entre la copia de backup, que recoge el estado de la máquina de hace varios meses, y la versión de trabajo. Así, he tenido que realizar diversos ajustes para intentar llevar dicha copia de seguridad hasta el mismo estado que la que ha comenzado a fallar (he tenido suerte pues aún no ha fallado del todo y me deja arrancar y realizar algunas operaciones).
Lo primero que he realizado ha sido la comprobación de qué paquetes tenía instalados en la copia de seguridad y cuáles en la de trabajo. Para ello he ejecutado este comando en una y en la otra:
(En_producción)# dpkg --list > paquetes-instalados-en-produccion (Backup)# dpkg --list > paquetes-instalados-backup
Después he comparado con la excelente utilidad Diffuse ambos ficheros, obteniendo una imagen en pantalla como esta:
Con Diffuse es posible recorrer los ficheros de forma síncrona, viendo los dos a la vez, y apreciando de forma rápida – muy visual – las diferencias entre uno y otro: donde aparece una línea que no estaba (observar el primer resaltado) o donde una misma línea aparece modificada (resaltado de la línea de “fuse”). Y lo que más me gusta: en el lado derecho aparecen dos líneas verticales, correspondientes a sendos ficheros, donde se resaltan las zonas de diferencias en los archivos: con línea gris lo que no hay en uno y sí (con línea naranja contigua) en el otro; y una ventanita que te indica la zona del fichero que estás visualizando. En fin, a mí me ayuda mucho a agilizar el trabajo yendo directamente al grano y, así, elevar mi productividad.
Llegué a Diffuse tras buscar un poco en Google. También encontré esta otra utilidad: Meld, mucho más potente como podréis observar en sus capturas de pantalla. Pero mientras que Diffuse una vez instalada ocupa (en mi distro) 1MB, el tamaño requerido para la instalación de Meld es de: 200MB. Lo que me hizo inclinarme por la primera pues siempre intento mantener la máquina virtual lo más ligera posible. Inigualable relación calidad/precio ;-)
Además existe versión para Windows con “idéntico” interfaz, lo que ayuda a aprovechar el efecto experiencia.
Sed creativos: esto puede ser útil para un escritor que, por ejemplo, quisiera ver qué ha ido cambiando entre una versión y otra de un determinado capítulo de su novela. Todo texto que “evolucione” y necesite ser comparado es susceptible de ser devorado por Diffuse.
Espero que os sea útil.
Comentarios
Alternativas (Félix Prado 30/05/2015 - 20:11)
Buenas Godo,
Gracias por la recomendación, no conocía este programa aunque sí otros muy parecidos que te pongo por aquí por si algún día te pueden ser útiles:
WinMerge: este es un clásico que por lo que intuyo se parece muy mucho a Diffuse, aunque solo es para Windows. [http://winmerge.org]
Beyond Compare: este es un software mucho más versátil que no solo compara archivos "en texto plano", sino archivos en algunos formatos, permite comparar y sincronizar el contenido de carpetas. La versión pro creo que deja comparar y mezclar el contenido de 3 ficheros. Este sí es multiplataforma [http://www.scootersoftware.com/download.php]
Espero que te puedan ser útiles :)
Utilicé WinMerge (Godofredo Fdez. 08/06/2015 - 17:41)
Gracias, Félix.
Pues ahora que lo nombras utilicé "WinMerge" hace tiempo, pero lo perdería en alguna reinstalación y acabé olvidándolo ;-(
Beyond Compare tiene muy buena pinta, veo que tiene versión libre y versión pro, de pago. Permite comparar directorios/carpetas, y más de dos documentos… me atrevo a decir, sin haber utilizado ninguno, que es bastante parecido a Meld. Es bueno tener a ambos en la recámara, listos para acudir a ellos en caso de necesidad.
¡Seguimos en contacto! Y gracias por leerme.
Configurando exim4 para envío de correo a través de un smarthost (gmail)
Lo que sigue ha sido extraído de esta URL: https://wiki.debian.org/GmailAndExim4 He decidido recoger aquí solamente aquello que yo he llevado a cabo a modo de resumen. Quizá algún día tenga que replicarlo en alguna otra máquina y ya no sea capaz de encontrar dicha información. Obviamente, todo lo que sigue hay que hacerlo como root. 1) Reconfiguramos Exim.
#+BEGINQUOTE
# dpkg-reconfigure exim4-config
*.google.com:nuestrousuario@gmail.com:nuestracontraseña
# chown root:Debian-exim /etc/exim4/passwd.client # chmod 640 /etc/exim4/passwd.client
- Finalmente ejecutamos:
# update-exim4.conf # invoke-rc.d exim4 restart # exim4 -qff
- Y hacemos una prueba para ver que funciona:
[21:16:47(root@debian)/etc/exim4]# mail -s "Prueba de envío" noexiste@vivencias.net Enviando con exim a través de gmail como smarthost. Ctrl-D Ctrl-D Cc:
Si al intentar enviar un mail desde la línea de comandos, te aparece este error: "bash: mail: no se encontró la orden", instala este paquete: "apt-get install mailutils". 5) Comprobando en los logs que llega y, obviamente, viéndolo en nuestra bandeja de entrada de gmail.
2014-01-14 21:17:16 1W3AQG-0003OJ-H9 <= root@localhost U=root P=local S=352 2014-01-14 21:17:16 1W3AQG-0003OJ-H9 gmail-smtp-msa.l.google.com [2a00:1450:400c:c05::6d] Network is unreachable 2014-01-14 21:17:18 1W3AQG-0003OJ-H9 => noexiste@vivencias.net R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com [173.194.67.108] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=smtp.gmail.com" 2014-01-14 21:17:18 1W3AQG-0003OJ-H9 Completed
Y esto es todo. P.D.: Por último, es muy útil la redirección de correo que se puede realizar entre usuarios en un sistema Unix o GNU/Linux. Existe el archivo "/etc/aliases" donde se nombra, en cada una de sus líneas, primero el usuario al que va dirigido el correo y, separado por dos puntos y un espacio, el usuario que en realidad lo va a recibir, es decir, a quien se redirige el correo del primero. Aquí un ejemplo (todas las líneas menos las dos últimas "vienen de serie"):
[18:03:26(godo@surco)~]> sudo more /etc/aliases [sudo] password for godo: # /etc/aliases mailer-daemon: postmaster postmaster: root nobody: root hostmaster: root usenet: root news: root webmaster: root www: root ftp: root abuse: root noc: root security: root clamav: root root: godo godo: noexiste@vivencias.net
Lanzamiento de Debian 7.0 "Wheezy"
¡Enhorabuena a la comunidad Debian!
Este fin de semana se ha producido el lanzamiento de la última versión de Debian: 7.0 "Wheezy". Y he aprovechado para reanimar mi viejo portátil DELL Latitude D430 (un Core2 Duo de 64bits, con 2GB de RAM y con 6 ó 7 años encima). No he tenido ningún problema con la detección del hardware exceptuando la tarjeta WiFi, que fue correctamente detectada por el instalador, avisándome de que debía instalar el firmware específico de la misma: firmware-b43-installer, que no venía en la imagen ISO utilizada. Cosa que realicé después, cuando finalizó la instalación, conectándome al router por el puerto ethernet y ejecutando:
apt-get install firmware-b43-installer
El magnífico gestor de paquetes de Debian (siempre he pensado que es uno de los puntos fuertes de esta distribución GNU/Linux y, por tanto, de sus derivadas) se encargó de todo, resolvió todas las dependencias, instaló los paquetes necesarios y hasta se conectó a la web de Broadcom Corporation para bajarse el último firmware disponible. Justo en ese momento, sin reinicios, el interfaz WiFi se activó, detectó las redes disponibles y… ¡listo!
Como ya he explicado en otros artículos de este blog, llegué a Debian tras haber probado otras distribuciones y jamás me he planteado cambiar desde entonces: su producto es impecable y su "filosofía" es la mía. A familiares y amigos con un perfil menos técnico les recomiendo Ubuntu, que mantiene muchas de las buenas cualidades de Debian y está algo más dulcificada en, al menos, el proceso de instalación: relaja más las restricciones entre el software totalmente libre y el que no -cosa que Debian trata con mucho escrúpulo-, y evita así poner en aprietos, como el que he comentado en el primer párrafo, a usuarios menos duchos.
Antiguamente utilizaba el escritorio KDE, pero llevo ya tiempo utilizando XFCE. Siempre me ha gustado disponer de un entorno lo más simple posible: no quiero filigranas de efectos gráficos que llegan a marear, degradados de colores, transparencias, programitas corriendo y lanzándote mensajitos, etc., porque creo que no ayudan a nada, distraen y sólo ralentizan la máquina. Así, he partido de este disco de instalación específico para el entorno XFCE y procesador de 64bits, lo he grabado en un USB desde otro ordenador con Windows utilizando LiLi, y he comenzado la instalación desde cero, particionando y formateando… sin problemas.
Debian trae todo lo que necesito para trabajar: Para programar: gcc, gdb, emacs, python, php… Para “vivir” en Internet: iceweasel (versión renombrada de Firefox) y google chrome (aquí explico como instalarlo) con los que tengo acceso a todos los servicios que suelo utilizar. Para escribir, llevar mi pequeña contabilidad, hacer alguna presentación, leer documentos descargados, algún retoque fotográfico/montaje de imágenes… tareas de “oficina” en general: libreoffice, epdfview, gimp. Administración, redes y seguridad: todo lo que sea necesario, baste mencionar que Kali Linux, distribución heredera de backtrack, especializada para la realización de test de penetración, está basada en Debian, con lo que es fácil encontrar herramientas/paquetes. El cliente de dropbox funciona perfectamente.
Y lo mejor de todo: ¡el portátil va como un tiro!
Me quedan las siguientes tareas pendientes y agradezco sugerencias: 1.- PRIORITARIO - Realizar backups de la/s partición/es ext4 de forma incremental a ser posible. Por si ocurre alguna “tragedia” poder restaurar todo el sistema. En su día utilicé “partimage”, pero no se si sigue siendo la mejor opción. Me gustaría tenerlo en ejecución en background, o programar alguna tarea, de tal manera que cada cierto tiempo, supongamos que un mes, el sólo se ejecute y haga el backup incremental de la partición.
2.- UNA DUDA - ¿Qué software de virtualización tiene mejor rendimiento para virtualizar sobre él un Windows XP? Yo creo que VMware-Player es la mejor opción, pero…
3.- SIN IMPORTANCIA - Descubrir un reproductor de música simple, al estilo de “foobar2000” (o incluso más simple aún) que es el que suelo utilizar cuando trabajo en Windows. Básicamente lo que busco es poder asociar un directorio donde se encuentra toda la música (en subdirectorios por autor) al programa, como si de un repositorio se tratara, que éste autorefresque los cambios y me deje reproducir en un par de clicks una determinada carpeta. Es muy importante que sea pequeño en ocupación de disco, no quiero cosas espectaculares que aconsejan reproducciones, etc., estilo Amarok, rythmbox (creo) y similares. Algo pequeñito y útil.
4.- CREATIVO - cualquier otra cosa que se os ocurra: aconsejarme probar un determinado programa, dejar de utilizar uno porque otro lo supera… servicios y opciones útiles.
¡Animaros a disfrutar de Debian!
Os espero para compartir ;-)
andLinux (III)
Continuamos con nuestras entregas sobre andLinux. Hoy vamos a ver como se actualiza y optimiza nuestro sistema instalado.
ACTUALIZACIÓN
Como en cualquier sistema GNU/Linux basado en Debian, con la herramienta apt procedemos así:
[root@andLinux godo]# apt-get update [root@andLinux godo]# apt-get upgrade
El sistema se actualiza sin ningún problema.
No obstante, aún quedan paquetes retenidos. Son aquellos que necesitan de otros para actualizarse. Debian en este sentido es muy conservador: siempre que es necesario instalar software nuevo el sistema opta por dejarle decidir al usuario. Otros te inundan el disco duro de software y cuando te das cuenta no tienes espacio.
Veamos los paquetes retenidos:
[root@andLinux godo]# apt-get upgrade Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Los siguientes paquetes se han retenido: bind9-host firefox firefox-3.0 firefox-3.0-branding libbind9-40 libdns45 libisc45 libisccc40 libisccfg40 liblwres40 0 actualizados, 0 se instalarán, 0 para eliminar y 10 no actualizados.
Instalamos los dos paquetes que son programas finales, las librerías necesarias se actualizarán solas:
[root@andLinux godo]# apt-get install bind9-host firefox
Tras la instalación podemos comprobar que nuestra distribución está actualizada al completo:
[root@andLinux godo]# apt-get upgrade Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho 0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados. [root@andLinux godo]#
ELIMINAMOS LO SOBRANTE
Comprobamos si ha quedado alguna librería suelta que se pueda borrar. Para eso instalamos la utilidad deborphan:
[root@andLinux godo]# apt-get install deborphan Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalaron de forma automática los siguientes paquetes y ya no son necesarios. xulrunner-1.9 firefox-3.0-branding Utilice «apt-get autoremove» para eliminarlos. Se instalarán los siguientes paquetes NUEVOS: deborphan 0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados. Se necesita descargar 0B/81,9kB de archivos. Se utilizarán 483kB de espacio de disco adicional después de esta operación. Seleccionando el paquete deborphan previamente no seleccionado. (Leyendo la base de datos ... 120392 ficheros y directorios instalados actualmente.) Desempaquetando deborphan (de .../deborphan_1.7.27_i386.deb) ... Procesando disparadores para man-db ... Configurando deborphan (1.7.27) ... [root@andLinux godo]#
Antes de seguir nos fijamos en que la herramienta apt ya nos propone que eliminemos paquetes sobrantes:
[root@andLinux godo]# apt-get autoremove
Ahora vamos a ver que nos dice deborphan respecto a librerías huérfanas, que son aquellas que antes eran necesarias para alguna aplicación pero que ahora ya no lo son:
[root@andLinux godo]# deborphan libdb1-compat libxml1 libperl5.10 libident libssl0.9.7 libungif4g cupsys-common libgdbmg1 fileutils shellutils libnss3-0d slang1a-utf8 libkcddb4 libdb4.4++ libbluetooth2 libltdl3 libopensync0 textutils libsnmp10 libmyspell3c2 libdb4.2 libdb4.3 libdb4.4 libdb4.5 libiw29 libmaildir4 libcurl3 libgadu3 libtunepimp5 gdk-imlib1 libexiv2-4 libgpmg1 libstrigiqtdbusclient0 libdns45 libhunspell-1.1-0 libmikmod2 libdb3 librasqal0 sysvutils libsasl7 libcupsys2 libpcap0 libxklavier11 libmeanwhile1 libdevmapper1.01 libgnutls12 libgnutls13 libgnutls11 liblaunchpad-integration0 [root@andLinux godo]#
Podemos eliminar todas esas librerías sin ningún problema:
[root@andLinux godo]# dpkg --purge libdb1-compat libxml1 libperl5.10 libident libssl0.9.7 libungif4g cupsys-common libgdbmg1 fileutils shellutils libnss3-0d slang1a-utf8 libkcddb4 libdb4.4++ libbluetooth2 libltdl3 libopensync0 textutils libsnmp10 libmyspell3c2 libdb4.2 libdb4.3 libdb4.4 libdb4.5 libiw29 libmaildir4 libcurl3 libgadu3 libtunepimp5 gdk-imlib1 libexiv2-4 libgpmg1 libstrigiqtdbusclient0 libdns45 libhunspell-1.1-0 libmikmod2 libdb3 librasqal0 sysvutils libsasl7 libcupsys2 libpcap0 libxklavier11 libmeanwhile1 libdevmapper1.01 libgnutls12 libgnutls13 libgnutls11 liblaunchpad-integration0 (Leyendo la base de datos ...
Repetimos el paso varias veces pues hay librerías que son dependencias de otras, y van quedando al descubierto conforme eliminamos éstas últimas. Descubrimos:
[root@andLinux godo]# deborphan libtasn1-2 liblzo2-2 libsnmp-base liblzo1 libofa0 libopencdk8 libmusicbrainz4c2a libopencdk10 [root@andLinux godo]#
Y purgamos:
[root@andLinux godo]# dpkg --purge libtasn1-2 liblzo2-2 libsnmp-base liblzo1 libofa0 libopencdk8 libmusicbrainz4c2a libopencdk10 (Leyendo la base de datos ... 119648 ficheros y directorios instalados actualmente.) Desinstalando libtasn1-2 ...
Hasta que llegamos a tener la distribución totalmente limpia de paquetes innecesarios:
[root@andLinux godo]# deborphan [root@andLinux godo]#
Continuará.
andLinux (II)
INSTALACIÓN
Recomiendo elegir la compartición de ficheros entre Windows y andLinux mediante Cofs… es simple y funciona. Basta con seleccionar la carpeta que quieres compartir de windows para que aparezca enlazada en la carpeta windows que se crea por defecto en tu cuenta de usuario "andLinux".
CONFIGURACIÓN
godo@andLinux:~$ sudo su
[sudo] password for godo:
[root@andLinux default]# locale-gen es_ES.UTF-8
Generating locales...
es_ES.UTF-8... up-to-date
Generation complete.
[root@andLinux default]# pwd
/etc/default
[root@andLinux default]# more locale
# File generated by update-locale
LANG=es_ES.UTF-8
LANGUAGE=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
[root@andLinux etc]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
...
...
You can make this change permanent for yourself by appending the line
TZ='Europe/Madrid'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Europe/Madrid
[root@andLinux etc]#
exit
godo@andLinux:~$ vi .profile
godo@andLinux:~$ more .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# Agregamos la zona de tiempo
TZ='Europe/Madrid'; export TZ
¡¡OJO!! tzselect sólo selecciona la "zona de tiempo" para la visualización de éste pero no para la hora local de la máquina. Me he dado cuenta de esto intentando ejecutar un cron y viendo que no funcionaba. Para ajustar la hora local de la máquina a la "zona horaria" correcta hay que hacer esto:
[14:33:16(root@andLinux)/etc]> tz tzconfig tzselect [14:33:16(root@andLinux)/etc]> tzconfig WARNING: the tzconfig command is deprecated, please use: dpkg-reconfigure tzdata [14:33:21(root@andLinux)/etc]> dpkg-reconfigure tzdata Current default timezone: 'Europe/Madrid' Local time is now: jue may 5 14:33:52 CEST 2011. Universal Time is now: Thu May 5 12:33:52 UTC 2011. [14:33:53(root@andLinux)/etc]>
ARRANCAMOS EL SISTEMA DE NUEVO…
godo@andLinux:~$ sudo shutdown -r now
Podemos ver que acaba de arrancar haciendo doble click sobre el icono del escritorio "andLinux console" y viendo si aparece ya el prompt "andLinux login: ".
INSTALANDO MÁS APLICACIONES
Para instalar kmymoney (gestor de finanzas personales), emacs y algunas cosillas más:
[root@andLinux godo]# sudo su [sudo] password for godo: [root@andLinux godo]# apt-get update [root@andLinux godo]# apt-get install kmymoney2 kde-i18n-es emacs22 rsync [root@andLinux godo]# apt-get clean
ACCEDIENDO AL SISTEMA DE FICHEROS DE NUESTRA MÁQUINA WINDOWS
Podemos ver a continuación como hemos compartido una unidad (en mi caso la correspondiente a la letra D:\ del windows) con andLinux. A continuación muestro el fichero: "C:\Program Files\andLinux\settings.txt". Nos fijamos en la última línea. He utilizado la compartición propia de coLinux (cofs) en lugar de la que aconseja la instalación, pues el "samba" me daba problemas de acceso.
mem=512 root=/dev/cobd0 kernel=vmlinux cobd0=Drives\base.vdi cobd1=Drives\swap.vdi cofs31=. eth0=slirp eth1=tuntap,"TAP-Colinux",00:11:22:33:44:55 cofs0=D:\
Una vez que accedemos a nuestro terminal de andLinux veremos lo siguiente:
godo@andLinux:~$ pwd /home/godo godo@andLinux:~$ ls -l total 0 lrwxrwxrwx 1 root root 9 2010-11-21 12:39 windows -> /mnt/win/ godo@andLinux:~$
Tenemos accesible todos los contenidos de la unidad d:\ de windows a través de un enlace simbólico, llamado windows, situado en nuestro home de andLinux.
Por comodidad, he creado más enlaces simbólicos a los directorios que más utilizo en ambos mundos (windows y linux) y que residen en la partición accesible a través de la letra de unidad d:\ de windows.
Lo hago, para cada uno de ellos, así:
godo@andLinux:~$ ln -s windows/home/godo/universidad/ universidad
Y este es el resultado:
godo@andLinux:~$ ls -l total 0 lrwxrwxrwx 1 godo godo 28 2010-11-21 14:02 articulos -> windows/home/godo/articulos/ lrwxrwxrwx 1 godo godo 22 2010-11-21 14:01 bin -> windows/home/godo/bin/ lrwxrwxrwx 1 godo godo 25 2010-11-21 14:02 sincro -> windows/home/godo/sincro/ lrwxrwxrwx 1 godo godo 30 2010-11-21 14:02 universidad -> windows/home/godo/universidad/ lrwxrwxrwx 1 root root 9 2010-11-21 12:39 windows -> /mnt/win/
¡¡ TODO PERFECTO !!
Comentarios
Tomo nota (jfc 02/04/2011 - 21:26)
Me apunto lo de añadir enlaces simbólicos, no sabía cómo hacerlo (uno que aún es joven en esto de unix).
Voy a probar a instalar Simple Scan con AndLinux. Tengo un escáner antiguo para el que no existen drivers en W7, intentaré hacerlo funcionar con Simple Scan, que es la herramienta que utilizo en linux. No se si lo reconocerá automáticamente… Cuando arranque W7 en el otro ordenador comento la historia.
Aunque se que no es el tema del artículo: estoy probando kmymoney, me parece bastante útil y pienso empezar a usarlo. :cool:
Un saludo.
Bueno… he probado con Xsane (jfc 03/04/2011 - 00:33)
Bueno… he probado con Xsane ya que Simple Scan no viene en los repositorios y este también lo uso a menudo.
No reconoce el escáner. Por otra parte, pensándolo bien, creo que es obvio. Al fin y al cabo el SO es windows, y los dispositivos los controla él. No se si de alguna forma andLinux podrá "tomar el control" de los perifericos USB. Por ejempo VirtualBox te permite tomar el control de un dispositivo USB en una máquina virtual independientemente de si los drivers del periférico están en el SO anfitrión. Aunque esto no sea lo mismo, quizás exista la forma de que el núcleo coLinux gestione estos puertos.
Hoy me doy por vencido, tengo cosas que estudiar y sueño por recuperar, pero volveré.
Es lo bueno y lo malo (Godo 03/04/2011 - 10:18)
El espacio de drivers del sistema operativo lo sigue gestionando Windows. Esto suele ser una ventaja: la mayoría de dispositivos da menos problemas al ser reconocidos y gestionados por Windows que por GNU/Linux, pues hay más apoyo en drivers de los fabricantes.
Sin embargo, tú necesitas justo lo contrario. No se nada sobre si es posible o no. Lo más que te puedo decir es que has detectado la situación y que el camino que propones recorrer es el adecuado: "No se si de alguna forma andLinux podrá "tomar el control" de los periféricos USB". Es cierto que las soluciones clásicas de virtualización (VMware y VirtualBox) sí que lo hacen: yo gestiono mi scanner desde una máquina virtual con "VMware Player" y un WinXP, pues tampoco me lo reconoce Win7.
Ya me cuentas si lo consigues.
Muchas gracias por los comentarios y… ¡Ánimo!
andLinux (I)
Buscando la forma de poder gestionar mi contabilidad con kmymoney en windows, me preguntaba si existía un port o algo similar, he encontrado esta magnífica herramienta que comparto con vosotros.
andLinux es una "migración" del kernel de GNU/Linux para que pueda ejecutarse como si fuera un "driver" de windows. Así podemos lograr tener en la misma máquina corriendo en paralelo aplicaciones windows y aplicaciones GNU/Linux. ¡Genial! He visto por ahí comparativas (he perdido el enlace si lo encontráis, por favor, dejadme un comentario) de rendimiento y el alcanzado con esta solución es mayor que el que ofrecen soluciones basadas en virtualización con vmWare, Virtualbox, etc.. Además, evitamos tener que arrancar la máquina virtual cada vez que lo necesitamos: en este entorno las aplicaciones de GNU/Linux están tan accesibles como cualquier otra aplicación windows (menús, accesos directos, etc.), de forma transparente para el usuario habitual.
Resumo el escenario: sobre nuestro windows (lo he probado en XP y en W7) instalamos andLinux como si se tratara de otra aplicación más, similar a las instalaciones que hacemos todos los días: sin tener que particionar el disco, sin pelearnos con la detección de hardware, etc. Yo he elegido el sabor kde porque es el que venía usando en mi linuxera historia, ocupa más pero ofrece software útil y potente (ver archivo 7z al final de este artículo con las capturas de mi proceso de instalación). Al finalizar la instalación tendremos un lanzador de aplicaciones en la bandeja del sistema (una k en blanco sobre fondo azul) que nos permitirá ejecutar cosas como: una consola, un explorador de archivos, el propio navegador konqueror, etc.
Además permite acceder al sistema de ficheros de vuestra máquina utilizando tanto samba como un driver particular, cofs. Yo he elegido esta última opción, y aunque no es la recomendada (puede dar problemas con caracteres extraños en los nombres de ficheros) sí es la más rápida. Me he estado peleando con samba y, de momento, no he sido capaz. Lo dejo pendiente para más adelante.
¿No os parece maravilloso?
Nada de esto sería posible sin colinux, el verdadero núcleo del sistema y nombre del esfuerzo realizado por migrar el kernel Linux al espacio de "drivers" de windows. Os dejo la presentación que hizo el fundador de colinux en el "Linux Symposium" que se celebró en el año 2004 en Ontario, Canada (ver archivo adjunto: Reprint-Aloni-OLS2004.pdf).
Como andLinux está basado en una distribución Ubuntu, concretamente en jaunty 9.04, en próximos artículos veremos toda la potencia de configuración y de aplicaciones que nos ofrece. He probado varias y funcionan muy bien.
¿Conocéis algo similar? ¿Lo habéis probado? ¿Cómo os va?
Seguimos aprendiendo.
Archivos adjuntos
Comentarios
Me parece muy interesante (jfc 26/03/2011 - 23:42)
No suelo usar windows, pero para cuando lo uso vendrá bien tener algo así que te hace sentir un poco "como en casa".
Lo único parecido que conozco es Cywin, me ha sacado de más de un apuro y es útil para correr programas no muy complejos en windows. Digamos que importa un poco de la versatilidad de linux al tener una shell en windows. Desde el propio instalador creo que podías descargar programas como emacs, gcc…
Voy a probar este tal andLinux que pinta muy bien.
PD: aqui hay una "comparativa" entre cywin y andLinux: http://nonrational.org/b/?p=36
Un saludo.
Ya está instalado. (jfc 27/03/2011 - 13:35)
Está funcionando sobre W7. También he elegido KDE.
Me sorprende lo bien que va. Desde synaptic he instalado emacs y alguna que otra utilidad más. Todo funciona bien.
Me gusta que puedas elegir la opción de que no se arranque el servicio automáticamente, sino que tu puedas elegir manualmente cuando arrancarlo y cuando detenerlo.
Muy buen software.
Sí, es sorprendente… (Godo 01/04/2011 - 16:15)
…lo bien que va. Yo lo utilizo todos los días para distintas tareas. Por ejemplo, tenía ya construidos scripts que automatizaban copias de seguridad con rsync, y viene muy bien poder usarlos en "background". Por esto, yo sí que elegí arrancarlo como servicio.
Respecto a Cygwin, he venido trabajando con él durante estos últimos años, ahora estoy migrando a andLinux… ya que apostamos por un entorno Unix este es un poco más de verdad ;-), por ejemplo: en el tema de los permisos de directorios, ficheros, etc., en la arquitectura del sistema de ficheros (arbol de directorios). Esto, que parece una tontería, cuando estás desarrollando webs que luego van a vivir en servidores GNU/Linux facilita el traspaso de tu máquina local a la red.
Muchas gracias por tus comentarios. Seguimos leyéndonos.
Saud.
Avast antivirus en GNU/Linux
Desde hace tiempo todo lo que descargo de Internet lo hago en una máquina GNU/Linux. La resistencia de este sistema operativo, hoy por hoy, frente a virus es mucho mayor que la de un windows. Así, descargar en un GNU/Linux e intentar chequear lo descargado sobre este sistema, antes de sacarlo a una "caja windows", es bastante saludable.
Basta una búsqueda en google para encontrar varios antivirus gratuitos para GNU/Linux. Yo me he inclinado por Avast, pues su uso es bastante simple y no carga ningún demonio en la máquina, por lo que no hace que esta vaya más lenta. Esto nos obliga a hacer "escaneos" bajo demanda pues no hay módulo residente. Es justo lo que necesitaba…
Y lo simple si funciona, dos veces bueno. }:)
Descargar versión desde aquí:
[19:26:47(godo@surco)~/temp]> wget http://files.avast.com/files/linux/avast4workstation_1.3.0-2_i386.deb --2010-12-05 19:46:52-- http://files.avast.com/files/linux/avast4workstation_1.3.0-2_i386.deb Resolviendo files.avast.com... 67.228.147.162, 74.55.40.226, 74.55.48.42, ... Connecting to files.avast.com|67.228.147.162|:80... conectado. Petición HTTP enviada, esperando respuesta... 302 Found Localización: http://download834.avast.com/files/linux/avast4workstation_1.3.0-2_i386.deb [siguiendo] --2010-12-05 19:46:52-- http://download834.avast.com/files/linux/avast4workstation_1.3.0-2_i386.deb Resolviendo download834.avast.com... 174.120.185.10 Connecting to download834.avast.com|174.120.185.10|:80... conectado. Petición HTTP enviada, esperando respuesta... 200 OK Longitud: 29093380 (28M) [text/plain] Saving to: `avast4workstation_1.3.0-2_i386.deb' 100%[===============================================================================================================================>] 29.093.380 543K/s in 51s 2010-12-05 19:47:44 (553 KB/s) - `avast4workstation_1.3.0-2_i386.deb' saved [29093380/29093380] [19:27:44(godo@surco)~/temp]>
Actuando como "root", instalar así:
[19:34:11(root@surco)~]> dpkg -i avast4workstation_1.3.0-2_i386.deb
Al finalizar la instalación os pedirá que vayáis a una URL de avast y os registréis, gratuitamente, para obtener una licencia, la cual tenéis que teclear.
Comandos disponibles:
[19:39:35(root@surco)/home/godo/temp]> avast avast avastgui avast-update
Scripts útiles para ser ejecutados al inicio: Actualización:
[19:42:50(godo@surco)~/bin]> more avast-get-update #!/bin/bash # Hacemos ping a una dirección IP pública # security.debian.org /bin/ping -c 5 -W 1 212.211.132.32 # Informamos y ejecutamos "apt-get update" echo "Actualizando las firmas de virus... " > /tmp/avast-update /bin/date >> /tmp/avast-update /usr/bin/avast-update && /usr/bin/avast -V >> /tmp/avast-update echo "Fin de la actualizacion" >> /tmp/avast-update /bin/date >> /tmp/avast-update # # FIN del script. # [19:42:55(godo@surco)~/bin]>
Escaneo de un directorio:
[19:42:48(godo@surco)~/bin]> more avast-scan #!/bin/bash # Esperamos 5 minutos -> 5 * 60 = 300 ping -c 300 127.0.0.1 # Escaneamos el directorio de descargas echo "Escaneando directorio de descargas " > /tmp/avast-scan.txt /bin/date >> /tmp/avast-scan.txt /usr/bin/avast -a -r /tmp/avast-scan.txt /mnt/vm/aa-almacen/* echo "Enviando mail..." /usr/bin/mail -s "Escaneo antivirus del directorio de descargas" g...@gmail.com m...@gmail.com < /tmp/avast-scan .txt echo "Mail enviado." # # FIN del script. #
Y eso es todo. A disfrutar de un mundo un poco más ¿seguro? ;-)
Comentarios
can not initialize avast! engine (Godo 16/01/2011 - 14:04)
Tras la última actualización avast lanza este mensaje al intentar ejecutarlo:
avast: can not initialize avast! engine: Argumento inválido
La solución para la sesión actual es hacer esto como root:
sysctl -w kernel.shmmax=128000000
Y la definitiva es agregar esta línea al fichero /etc/sysctl.conf
kernel.shmmax=128000000
Gracias por tu post me fue de (DanySam 27/09/2011 - 03:19)
Gracias por tu post me fue de mucha ayuda
A vueltas con los sistemas de codificación
Los que llevamos trabajando con GNU/Linux unos años (casi un par de decadas ya) hemos sufrido los inconvenientes asociados al soporte de distintos juegos de caracteres. En los inicios las distribuciones no traían por defecto activado el soporte del sistema de codificación ISO-8859-1, por lo que conseguir nuestros caracteres con tilde ("jamón") era imposible, y no hablemos de conseguir nuestra letrita española: "ñ".
Así, era tarea obligada conseguir que las diversas aplicaciones, y todo el entorno, soportara ese juego de caracteres. Tras algunos ajustes en diversos ficheros de configuración la sonrisa brillaba en nuestra cara cuando conseguíamos, al fin, escribir sin problemas en nuestro expresivo idioma.
Uno de esos ajustes aún pervivía en mis ficheros de configuración: mi ".emacs" incluía las siguientes líneas:
(custom-set-variables '(current-language-environment "Latin-9") '(default-input-method "latin-9-prefix") )
Esto provocaba que, aún hoy cuando el sistema de codificación por defecto y anchamente utilizado (y recomendado) es utf-8, mi genial editor emacs seguía utilizando el sistema de codificación de antaño, lo que provocaba problemas de visualización posteriores de esos ficheros con otras herramientas que, automáticamente, querían utilizar el sistema de codificación más actual: había un choque entre el antiguo iso-8859-1 y el nuevo utf-8. Podéis ver un ejemplo de lo que ocurría en la siguiente figura:
Tocaba, pues, investigar como convertir los ficheros con sistema de codificación antiguo al nuevo. ¿Cuál es el sistema de codificación antiguo en el que están codificados esos ficheros que se ven con extraños caracteres? ¿Cómo podemos saberlo? Fácil, abrimos con emacs el fichero, pulsamos Ctrl-H Shift(Mayús)-C y aparece la siguiente frase en la línea de comandos del editor: "Describe coding system (default current choices): ", pulsamos "Intro" y obtenemos algo parecido a esto:
Coding system for saving this buffer: 1 -- iso-latin-1-unix Default coding system (for new files): u -- mule-utf-8 (alias: utf-8) Coding system for keyboard input: nil Coding system for terminal output: u -- utf-8 (alias of mule-utf-8) Defaults for subprocess I/O: decoding: u -- mule-utf-8 (alias: utf-8) encoding: u -- mule-utf-8 (alias: utf-8)
Fijaos en el primer par de líneas. El fichero está siendo grabado en el sistema de codificación en el que ha sido leído, en nuestro caso: iso-latin-1-unix. Por tanto, el proceso de conversión ha de ser de iso-latin-1-unix a utf-8.
Bien, instalamos una pequeña y útil herramienta (al más puro estilo UNIX):
[19:51:17(root@surco)/home/godo/bin]> apt-get install konwert Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes extras: konwert-filters Paquetes sugeridos: konwert-dev Se instalarán los siguientes paquetes NUEVOS: konwert konwert-filters 0 actualizados, 2 se instalarán, 0 para eliminar y 0 no actualizados. Necesito descargar 278kB de archivos. Se utilizarán 2122kB de espacio de disco adicional después de esta operación. ¿Desea continuar [S/n]? Des:1 http://mirror.switch.ch stable/main konwert-filters 1.8-11.2 [230kB] Des:2 http://mirror.switch.ch stable/main konwert 1.8-11.2 [47,8kB] Descargados 278kB en 1s (201kB/s) Reading package fields... Done Reading package status... Done Retrieving bug reports... Done Parsing Found/Fixed information... Done Seleccionando el paquete konwert-filters previamente no seleccionado. (Leyendo la base de datos ... 166593 ficheros y directorios instalados actualmente.) Desempaquetando konwert-filters (de .../konwert-filters_1.8-11.2_all.deb) ... Seleccionando el paquete konwert previamente no seleccionado. Desempaquetando konwert (de .../konwert_1.8-11.2_i386.deb) ... Procesando disparadores para man-db ... Configurando konwert-filters (1.8-11.2) ... Configurando konwert (1.8-11.2) ... [19:51:38(root@surco)/home/godo/bin]> apt-get clean [19:51:42(root@surco)/home/godo/bin]> exit
Miramos su página de manual:
[19:51:43(godo@surco)~/bin]> man konwert
Y procedemos a la conversión:
[19:54:19(godo@surco)~/bin]> konwert iso1-utf8 csgodo -o csgod
Observamos que el filtro que hay que utilizar (obtenido de la página de manual) para llevar a cabo la conversión que nos interesa se llama iso1-utf8, el fichero de entrada, el origen que queremos convertir, es csgodo, y el de salida, ya convertido a utf-8 es csgod. Lo vemos con un visor: more, less, etc. Comprobamos que está bien y sobrescribimos nuestro fichero original:
[19:55:20(godo@surco)~/bin]> mv csgod csgodo mv: ¿sobreescribir «csgodo»? (s/n) s [19:55:31(godo@surco)~/bin]>
A continuación podéis observar el resultado tras la conversión:
¡Objetivo conseguido!
Por último, para comprobar que tenéis vuestro entorno configurado para trabajar con el sistema de codificación utf-8 por defecto, basta hacer:
[20:59:47(godo@surco)~]> locale LANG=es_ES.UTF-8 LANGUAGE=es_ES.UTF-8 LC_CTYPE="es_ES.UTF-8" LC_NUMERIC="es_ES.UTF-8" LC_TIME="es_ES.UTF-8" LC_COLLATE="es_ES.UTF-8" LC_MONETARY="es_ES.UTF-8" LC_MESSAGES="es_ES.UTF-8" LC_PAPER="es_ES.UTF-8" LC_NAME="es_ES.UTF-8" LC_ADDRESS="es_ES.UTF-8" LC_TELEPHONE="es_ES.UTF-8" LC_MEASUREMENT="es_ES.UTF-8" LC_IDENTIFICATION="es_ES.UTF-8" LC_ALL= [20:59:48(godo@surco)~]>
Si no tenemos esos locales en nuestro sistema podemos cambiar los que actualmente tengamos haciendo uso, como root, del siguiente comando:
[21:02:40(root@surco)/home/godo]> dpkg-reconfigure locales
Nos aparecerá una lista, nos movemos por ella con "Av Pág / Re Pág" o con los cursores, seleccionamos/deseleccionamos con la barra espaciadora, y cuando tengamos lo que queremos pulsamos "Tab" y nos vamos hasta "Aceptar". Pulsamos "Intro".
Y, claro está, no olvidéis borrar del fichero de configuración de emacs (~/.emacs) las líneas que mencionaba más arriba. Desde la versión 22 emacs es capaz de adaptarse a lo configurado en nuestro entorno.
Salud.
Instalando Google Chrome en Debian GNU/Linux
Actualizado el 07-05-2013: instalación de la versión estable de Chrome y de la versión del plugin de flash que "mejor" funciona (que no es la última disponible). Ver final del artículo. Actualizado el 08-12-2009: lanzamiento de Google Chrome Beta. Ver final del artículo. Actualizado el 08-08-2009. Ver final del artículo.
- - -
Aunque la versión del navegador es inestable aún, y tiene varios aspectos importantes que resolver: no funciona el plugin de flash, ni es posible imprimir, ni soporta corrección ortográfica en los formularios… sí que es una gozada experimentar la velocidad de carga de las páginas webs. Además, una vez incorporado en nuestro amado sources.list (/etc/apt/sources.list) iremos actualizándolo de forma automática a las versiones más maduras conforme éstas vayan estando disponibles.
Google Chrome para GNU/Linux está basado en un proyecto Open-Source: Chromium.
Lo primero que hay que hacer, como root, es añadir las siguientes líneas al archivo mencionado:
# GOOGLE CHROME deb http://dl.google.com/linux/deb/ stable main
A continuación descargamos la clave pública con la que comprobaremos la integridad del software descargado (lo que sigue se teclea todo en una línea, pulsamos intro después del guión que aparece tras la palabra "add". Observamos que el resultado de la ejecución del par de comandos es "OK"):
alpechin:/home/godo# wget -q -O - http://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - OK alpechin:/home/godo#
Lo siguiente: actualizamos el índice de fuentes de software disponibles:
alpechin:/home/godo# apt-get update Obj http://security.debian.org lenny/updates Release.gpg Ign http://security.debian.org lenny/updates/main Translation-es Obj http://mirror.switch.ch testing Release.gpg Obj http://mirror.switch.ch testing/main Translation-es Obj http://security.debian.org lenny/updates Release Des:1 http://dl.google.com stable Release.gpg [191B] Ign http://dl.google.com stable/main Translation-es Ign http://mirror.switch.ch testing/contrib Translation-es Ign http://mirror.switch.ch testing/non-free Translation-es Obj http://mirror.switch.ch testing Release Des:2 http://dl.google.com stable Release [1308B] Ign http://security.debian.org lenny/updates/main Packages/DiffIndex Obj http://download.virtualbox.org lenny Release.gpg Ign http://download.virtualbox.org lenny/non-free Translation-es Ign http://security.debian.org lenny/updates/main Sources/DiffIndex Obj http://mirror.switch.ch testing/main Packages/DiffIndex Obj http://security.debian.org lenny/updates/main Packages Obj http://download.virtualbox.org lenny Release Ign http://dl.google.com stable/main Packages/DiffIndex Obj http://security.debian.org lenny/updates/main Sources Des:3 http://dl.google.com stable/main Packages [622B] Obj http://mirror.switch.ch testing/contrib Packages/DiffIndex Obj http://mirror.switch.ch testing/non-free Packages/DiffIndex Ign http://download.virtualbox.org lenny/non-free Packages/DiffIndex Obj http://download.virtualbox.org lenny/non-free Packages Descargados 2121B en 1s (1090B/s) Leyendo lista de paquetes... Hecho
Y por último, instalamos el paquete correspondiente al navegador Google Chrome:
alpechin:/home/godo# apt-get install google-chrome-unstable Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes NUEVOS: google-chrome-unstable 0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados. Necesito descargar 9524kB de archivos. Se utilizarán 32,3MB de espacio de disco adicional después de esta operación. Des:1 http://dl.google.com stable/main google-chrome-unstable 3.0.194.3-r20926 [9524kB] Descargados 9524kB en 19s (495kB/s) Seleccionando el paquete google-chrome-unstable previamente no seleccionado. (Leyendo la base de datos ... 00% 102805 ficheros y directorios instalados actualmente.) Desempaquetando google-chrome-unstable (de .../google-chrome-unstable_3.0.194.3-r20926_i386.deb) ... Configurando google-chrome-unstable (3.0.194.3-r20926) ... Procesando disparadores para menu ... alpechin:/home/godo#
Eliminamos los paquetes de instalación:
alpechin:/home/godo# apt-get clean alpechin:/home/godo# exit
Y disfrutamos con su ejecución:
[22:16:20(godo@alpechin)~]> google-chrome &
Actualización: 08-08-2009. Tras la instalación de google-chrome, he observado que éste inserta su propio archivo sources.list en el directorio etc/apt/sources.list.d como comprobamos a continuación:
[09:52:40(root@surco)/etc/apt]> cd sources.list.d/ [09:52:51(root@surco)/etc/apt/sources.list.d]> more google-chrome.list deb http://dl.google.com/linux/deb/ stable main [09:52:55(root@surco)/etc/apt/sources.list.d]>
A partir de este momento podemos comentar la línea que insertamos para realizar la primera instalación en nuestro fichero /etc/apt/sources.list (añadimos # al comienzo de la misma). Fin de la actualización: 08-08-2009.
Actualización: 08-12-2009. Ahora ya no es necesario instalar:
alpechin:/home/godo# apt-get install google-chrome-unstable
sino:
alpechin:/home/godo# apt-get install google-chrome-beta
Si teníamos instalada la versión unstable, al instalar la beta se desintalará. Fin de la actualización: 08-12-2009.
Actualización: 07-05-2013. Recuerdo cómo añadir el lugar desde donde descargar el navegador: Como root has de hacer esto:
alpechin:/home/godo# cd /etc/apt/sources.list.d alpechin:/home/godo# nano google-chrome.list
Y añadimos la siguiente línea en el fichero de texto que estamos editando:
deb http://dl.google.com/linux/chrome/deb/ stable main
Guardamos con Ctrl+X y desde la línea de comandos instalamos la versión estable:
alpechin:/home/godo# apt-get update alpechin:/home/godo# apt-get install google-chrome-stable
Otra cosa que he descubierto es que la versión 11.7 del plugin de flash-player que ya trae incorporada el navegador no reproduce bien los vídeos de flash: se entrecorta mucho el sonido. Para arreglar esto he ido al repositorio de Ubuntu (os recuerdo que muchos paquetes de Ubuntu son compatibles con Debian):
http://archive.canonical.com/ubuntu/pool/partner/a/adobe-flashplugin/
He descargado el paquete: adobe-flashplugin11.2.202.280-0quantal1amd64.deb (versión para ordenadores de 64bits).
Y lo he instalado así:
alpechin:/home/godo# cd Descargas alpechin:/home/godo/Descargas# dpkg -i adobe-flashplugin_11.2.202.280-0quantal1_amd64.deb
Al finalizar la instalación he agregado un enlace simbólico en el siguiente directorio:
alpechin:/opt/google/chrome# ln -s /etc/alternatives/mozilla-flashplugin mozilla-flashplugin
¡OJO! mozilla-flashplugin se escribe todo junto.
Ahora cerramos el navegador Chrome y lo volvemos a abrir. Escribimos en la barra de direcciones: about:plugins. Pulsamos sobre la palabra "Detalles" situada en la parte superior derecha de la página. Buscamos en el listado que aparece los plugins agrupados bajo el título "Adobe Flash Player". Inhabilitamos el que tiene como descripción "Shockwave Flash 11.7 r700", dejando habilitado únicamente el de versión "11.2 r202". Cerramos y abrimos el navegador.
¡A disfrutar! Fin de la actualización: 07-05-2013.
Salud… y felices travesías por las procelosas, y aún libres, aguas de Internet.
Comentarios
¡Gracias por el tutorial! ((intento de) teleco 12/08/2009 - 20:41)
Gracias Godo por el "tutorial". Ya te comento desde Chrome bajo Ubuntu ^^
Enhorabuena por este blog que tienes, me parece realmente interesante y es fijo en mis feeds.
Un saludo.
– Un alumno que no tuvo la suerte de tenerte como profe (por estar en la clase de al lado)
PD: ¿Podrías habilitar la lectura completa de tus posts en los feeds o es una medida de protección ante los malignos bots de internet? :)
Muchas gracias a ti… (Godo 13/08/2009 - 23:37)
…por dejarme este comentario tan agradable y alabador, y por agregarme a tus feeds. Espero no defraudarte.
Respecto a lo de tenerme como profe, supongo que habrá quien piense lo contrario ;-)
Y respecto a la lectura completa de los feeds, decidí hacerlo tal y como está para "obligar" a visitar la página si el extracto del artículo que llega por ellos resulta interesante. ¿Por qué? Personalmente aprendo mucho visitando las páginas de los demás: cuestiones de diseño web, enlaces interesantes en los bloques laterales, etc., por lo que estimo que es importante, de vez en cuando, darse una vueltecica por el sitio original.
Salud.
Gracias (Anonymous 03/10/2009 - 15:31)
Gracias por la informacion, alfin veo que alguien no confunde "Chromium" con Google Chrome y coloca la informacion Objetiva y correcta, ya que los demas , solo copiaron y pegaron que "Chromium" es "Google Chrome" lo cual no es cierto, pero si es verdad que el "Google Chrome" esta basado en Chromium de eso no hay duda, pero a la final, Google Agrega unos parches y a la final aunque no lo paresca algo funciona distinto que el Chromium
Visualizando archivos de código con sintaxis coloreada
ACTUALIZADO: 14-03-2022. Ver actualización al final del artículo.
ACTUALIZADO: 27-07-2009. Ver actualización al final del artículo.
Hoy, revisando mis feeds sin leer, he encontrado en este post como hacer algo que llevaba tiempo queriendo conseguir. Muchos de vosotros lo veréis como un punto de "frikismo" avanzado ;-), sin embargo, los que trabajamos mucho tiempo visualizando código hemos aprendido a "apoyarnos" en este tipo de cosas para ganar rapidez en el análisis, detección de errores, etc. ¡OJO! Era necesario conseguir este efecto a la hora de visualizar un fichero, no confundir con editar (para esto ya está el fantástico emacs). En ocasiones es preferible simplemente visualizar para no correr el riesgo de modificar algo.
Bien, lo primero que hemos de hacer es disponer de los paquetes apropiados:
[21:24:19(root@surco)/home/godo]> apt-get install source-highlight less
less es un "paginador"/visualizador de ficheros (sustituto del más ampliamente conocido more), y source-highlight es la herramienta de coloreado de sintaxis que entiende los siguientes lenguajes: C/C++, C Sharp, Bison, Caml, Changelog, Diff, Flex, Fortran, Html, Java, Javascript, Latex, Logtalk, Log files, Lua, ML, Pascal, Perl, PHP, Postscript, Prolog, Python, Ruby, Shell and XML.
Una vez instalado el software necesario, pasamos a crear el fichero .lessfilter en nuestro directorio home:
[21:52:19(godo@surco)~]> more .lessfilter #!/bin/sh source-highlight -fesc -oSTDOUT "$1" 2>/dev/null
Y le damos permisos de ejecución:
[21:34:31(godo@surco)~]> chmod 755 .lessfilter
Finalmente editamos nuestro fichero de configuración de la shell (.bashrc en mi caso) y agregamos lo siguiente:
# Para que less muestre colores export LESS="-R" # Para que evalúe el fichero ~/.lessfilter eval "$(lesspipe)"
Y listo, ya podemos visualizar código con sintaxis coloreada:
less somefile.c less somefile.py less somefile.patch
- - -
ACTUALIZACIÓN: 27-07-2009:
A muchos de vosotros os ocurrirá lo que a mí: cuando intentáis ver un shell script que no termina con extensión .sh, es decir, que no tiene extensión (cosa habitual en el mundo GNU/Linux - Unix), source-highlight no lo detecta y, por tanto, no lo colorea. Bueno, un poco de hacking ;-) nos ayuda a resolver esto:
[21:52:19(godo@surco)~]> more .lessfilter
#!/bin/sh
# ===== POST ORIGINAL =====
# http://petereisentraut.blogspot.com/2009/07/adding-color-to-console-code-syntax.html
# ===== PARA VERISONES 3.X ======
# En Debian ahora, 27-07-2009, están las versiones 2.x
# supongo que cuando entren las versiones 3.x ha de funcionar
# lo que me ha comentado betto said...
# If you use --infer-lang option, and the shell script starts with
# the #!/bin/sh then source-highlight will highlight it as a shell
# script no matter what its extension is (you may want to take a
# look at the file src-hilite-lesspipe.sh
# distributed with source-highlight).
# Hope this helps :-)
# Lorenzo
# 26 July, 2009 14:01
# En este bloque detectamos la extensión del fichero
FILE="$1"
EXTENSION=${FILE##*.}
NAME=${FILE%.*}
# Si EXTENSION y NAME son iguales el fichero no tiene extension,
# en este caso, por defecto, le decimos a source-highlight
# que considere la entrada como un script de shell
if [ "$NAME" = "$EXTENSION" ]; then
EXTENSION=""
fi
if [ "$EXTENSION" = "" ]; then
source-highlight --src-lang=shell -fesc -oSTDOUT "$1" 2>/dev/null
else
source-highlight -fesc -oSTDOUT "$1" 2>/dev/null
fi
- - -
ACTUALIZACIÓN: 14-03-2022:
Mucho mejor, e inmediato, utilizar bat.
[09:49:32(godo@surcopi)~] $ bat --help bat 0.18.3 A cat(1) clone with syntax highlighting and Git integration.
- - - Fuentes originales:
- Peter Eisentraut: Adding Color to the Console: Code Syntax Highlighting with less and source-highlight 2) Peter Eisentraut: Adding Color to the Console: Pygments vs. Source-highlight.
Va a nacer un "nuevo" Sistema Operativo... de Google
Hoy me apetece jugar un poco con el futuro, como si de un adivino se tratara voy a pronosticar como imagino que será lo que Google nos ha comunicado en su blog oficial: Google Chrome OS. Para ello voy a ir copiando cada uno de los párrafos de la noticia y, tras los mismos, voy a insertar mis comentarios.
Introducing the Google Chrome OS 7/07/2009 09:37:00 PM It's been an exciting nine months since we launched the Google Chrome browser. Already, over 30 million people use it regularly. We designed Google Chrome for people who live on the web — searching for information, checking email, catching up on the news, shopping or just staying in touch with friends. However, the operating systems that browsers run on were designed in an era where there was no web. So today, we're announcing a new project that's a natural extension of Google Chrome — the Google Chrome Operating System. It's our attempt to re-think what operating systems should be.
Creo que en este párrafo hay dos ideas clave: “people who live on the web” y “we're announcing a new project that's a natural extension of Google Chrome”. La ESTRATEGIA de Google es clara desde su nacimiento, de hecho hay pocas empresas con las ideas tan claras, el objetivo de vivir en Internet guía cada uno de sus pasos. Google sí se cree que la humanidad va a cambiar su casa por Internet. Es a esto a lo que está dedicando todos sus esfuerzos, cada uno de los pasos que da está claramente enfocado a conseguirlo. Y no desfallece por muy duro que le resulten algunas pendientes del camino. Podría utilizar muchos más adjetivos pero intentaré condensarlos todos en la palabra alucinante. Es alucinante la cantidad y calidad de las aplicaciones que Google tiene en red. Su punto de acceso: el navegador. Su táctica: apoyó a firefox (recuerdo un programa de “referencias en google adsense” que por cada descarga que se conseguía de dicho navegador te embolsaba ¿x? fracción de dólar) mientras no tuvo su propio navegador, y de ahí saltó a Google Chrome: ya tenía su primera herramienta de acceso a la "suite". ¿Era este paso necesario? Esto daría para otro debate. La segunda idea condiciona y presenta el resto de disertación. Continuemos pues.
Google Chrome OS is an open source, lightweight operating system that will initially be targeted at netbooks. Later this year we will open-source its code, and netbooks running Google Chrome OS will be available for consumers in the second half of 2010. Because we're already talking to partners about the project, and we'll soon be working with the open source community, we wanted to share our vision now so everyone understands what we are trying to achieve.
En este párrafo sólo una idea que destacar: “Google Chrome OS is an open source”. El resto es desarrollo de la misma. ¿Qué pensará Microsoft de esto? La partida se pone interesante. Magnífico movimiento de Google que, por otra parte, se veía venir. No podía ser de otra forma: es la única que poco a poco ha venido arañando cuota de mercado a Microsoft, con permiso de Apple que, en mi opinión, se sigue dirigiendo a un segmento de mercado de alto poder adquisitivo (estrategia de desnatación). ¿Qué implicaciones tendrá esto en la comunidad open source? El más inmediato es el efecto que genera la competencia en todo mercado: reparto de cuota, y por tanto, reparto de esfuerzos. Esto, que a primera vista puede parecer negativo no tiene por qué serlo, véase como está funcionando Ubuntu con Debian, y el dinero que el propio Google está metiendo en algunos proyectos open source con sus Google summer of code. Hay miedo con la división que se puede producir en la comunidad de desarrolladores, supongo que habrá más miedo aún en aquellas empresas que habían apostado por un modelo de negocio basado en software libre como S.O. en sus clientes y como desarrollo/adaptación/servicios de aplicativos sobre éste. El proyecto de Google Chrome OS aún está muy inmaduro, su primer objetivo serán los netbooks, el siguiente los desktops de usuario y…
El modelo de negocio actual seguirá siendo válido durante varios años y, mientras tanto, habrá que estar atentos a como evoluciona “la vida en internet”. A mi lo único que me preocupa es la cuota de libertad y la información privada que esté en juego. ¡Ojo con el monstruo! Como se decía en mi pueblo: “o juego o no se juega”. ¡Cuidado con el “ojo que todo lo ve”!
Speed, simplicity and security are the key aspects of Google Chrome OS. We're designing the OS to be fast and lightweight, to start up and get you onto the web in a few seconds. The user interface is minimal to stay out of your way, and most of the user experience takes place on the web. And as we did for the Google Chrome browser, we are going back to the basics and completely redesigning the underlying security architecture of the OS so that users don't have to deal with viruses, malware and security updates. It should just work.
Este párrafo no tiene desperdicio. TODO ES IMPORTANTE. Un S.O. que tarde poco en arrancar y que conforme termine ya nos habrá llevado a la web. Presiento que Google va a acelerar el camino que ha emprendido Linux en sus últimas versiones de kernel, va a detectar lo mínimo del hardware que le permita arrancar: disco duro, pantalla y teclado; el escritorio va a desaparecer como tal, no habrá papel tapiz sino un navegador con un cuadro de mandos, una futurista página web personalizable desde la que podremos saltar a cada una de las aplicaciones que deseemos usar: todo estará en La Red y a un sólo click: tu correo, las noticias, los documentos, etc. ¡Ojo, no confundir con un “active desktop” lleno de tonterías, páginas estáticas y enlaces que acaban abriendo un navegador como si de otra aplicación se tratara! Será conceptualmente más parecido a lo que ocurre en algunos móviles avanzados o PDAs, o como esos sistemas operativos en red a los que podemos acceder con nuestros navegadores actuales: Eye OS, por ejemplo. Por cierto, esta gente (no sólo los de Eye OS sino todas las iniciativas que apostaron por esto) sí que debe de estar tiritando: ¡Que viene el lobo!
Que sea mínimo, el interfaz de usuario e incluso el sistema operativo, es obvio: no necesitamos nada en el disco duro excepto a él mismo pues, como venimos diciendo, “gran parte de la experiencia de usuario ocurrirá en la web”. Permitidme que vuelva a mostrar mi miedo: ¿quién tiene mis datos? ¿mi tesoro! …mi tesoro!
Y ahora viene la definitivo: la seguridad. La seguridad del propio sistema, la que damos por hecho cuando compramos uno, la que en cualquier otro mercado haría desaparecer a una empresa: ¿alguien imagina un coche que un día arrancara y otro no porque tiene virus en el motor, es decir, algo que no le deja funcionar como debe?. Bueno, pues esto es común hoy en día en los ordenadores, sobre todo si esos ordenadores tienen Windows. Y no porque Microsoft sea el demonio, ni muy mala programando, ni sólo le importe vender y ganar mucho dinero, que quizá también, sino porque Windows es el sistema más rentable de atacar pues es usado por el 9X% de la población mundial. Sí señores, sí, en otros sistemas operativos también hay fallos de seguridad (otro debate que no quiero abrir). Y entonces llegó Google, dio un puñetazo en la mesa y dijo: se acabó, mi S.O. no se resentirá. En fin, bien es verdad que si, como dicen abajo, se basan en Linux como kernel, lo fortalecen de las varias formas que son posibles, se preocupan de mantener un buen sistema de permisos, privilegios, controles de acceso y actualizaciones, separan todas aquellas acciones de usuario de las propias de gestión y administración del sistema… y siguen investigando sin creerse que son invencibles, tienen mucho ganado. De partida: todos los virus que hoy existen para Windows serán simples rémoras de un pasado que existió. Y no esta mal nacer cepillándose al 9X% de las amenazas posibles, ¿verdad? Yo quiero uno así 8-) Es broma, mi Debian GNU/Linux ya me tiene a salvo.
Google Chrome OS will run on both x86 as well as ARM chips and we are working with multiple OEMs to bring a number of netbooks to market next year. The software architecture is simple — Google Chrome running within a new windowing system on top of a Linux kernel. For application developers, the web is the platform. All web-based applications will automatically work and new applications can be written using your favorite web technologies. And of course, these apps will run not only on Google Chrome OS, but on any standards-based browser on Windows, Mac and Linux thereby giving developers the largest user base of any platform.
Este párrafo es de refuerzo de los anteriores: mínimo sistema de ventanas, kernel Linux y aviso a navegantes, en este caso desarrolladores: “señores, programen para la web… ¡el sistema final no existe! Y programando para la web, obviamente, la interoperabilidad está asegurada. ¿Llegarán mis ojos a ver este nuevo cambio de ERA?
Google Chrome OS is a new project, separate from Android. Android was designed from the beginning to work across a variety of devices from phones to set-top boxes to netbooks. Google Chrome OS is being created for people who spend most of their time on the web, and is being designed to power computers ranging from small netbooks to full-size desktop systems. While there are areas where Google Chrome OS and Android overlap, we believe choice will drive innovation for the benefit of everyone, including Google.
¿Cómo queda Android en todo esto? Bueno, yo creo que la idea de fondo es la misma y simplemente no desaparecerá porque nació para otras plataformas hardware, y ya se sabe: no es lo mismo un potito o una papilla para un bebe que un buen potaje con choricito picante para un adulto. Todo es comida, sí, pero démosle a cada cual lo que necesita. Así que, Android para los pequeños y Google Chrome OS para medianos y grandes. Y tampoco muy grandes, del mercado de los “servers” ni hablamos, ¿no? Claro, lógico, quién va a querer un servidor si todo su trabajo y sus datos van a estar en los servidores de otros, ¿uuummm? :-?
Y el péndulo volvió a su lugar: grandes servidores y terminales tontos que ya no son de fósforo verde y en modo texto sino magníficos navegadores webs llenos de ventanitas y gráficos… hacia ahí vamos, señores, es esa la tendencia. No tarden mucho en estudiarla e intentar subirse al carro: les inundarán con ROIs, reducción de costes operativos y mantenimiento, facilidad de administración, seguridad, redundancia, disponibilidad… ¡Tenemos de todo, señora! ¡Pasen y vean!
We hear a lot from our users and their message is clear — computers need to get better. People want to get to their email instantly, without wasting time waiting for their computers to boot and browsers to start up. They want their computers to always run as fast as when they first bought them. They want their data to be accessible to them wherever they are and not have to worry about losing their computer or forgetting to back up files. Even more importantly, they don't want to spend hours configuring their computers to work with every new piece of hardware, or have to worry about constant software updates. And any time our users have a better computing experience, Google benefits as well by having happier users who are more likely to spend time on the Internet.
Este párrafo refuerza lo dicho en el anterior. Describe alguna que otra ventaja más, y nos dice de nuevo por qué Google hace todo esto: “ Google benefits as well by having happier users who are more likely to spend time on the Internet”. Sí, Google gana más dinero cuanto más tiempo pasamos en Internet. Ese es su modelo de negocio y a eso empujan. Se lo creen y apuestan. Fácil.
We have a lot of work to do, and we're definitely going to need a lot of help from the open source community to accomplish this vision. We're excited for what's to come and we hope you are too. Stay tuned for more updates in the fall and have a great summer. Update on 7/8/2009: We have posted an FAQ on the Google Chrome Blog. Posted by Sundar Pichai, VP Product Management and Linus Upson, Engineering Director
¡Que os sea provechoso el trabajo que tenéis por delante! Tampoco mucho si es como yo lo veo, está casi todo hecho y sólo hay que pegarlo/afinarlo. ¿En qué estaría pensando yo para que no se me ocurriera a mi antes y pudiera habéroslo vendido? ;-)
Lo mejor de todo es que yo me lo creo. Esta gente trabaja muy bien. Será cuestión de tiempo pero lo conseguirán. Aquí queda esto, negro sobre blanco, con posibilidad de ser revisado dentro de unos años. Se abren las apuestas.
Seguiremos atentos a los movimientos que se producirán este otoño… y sí, intentaremos tener un “gran verano”… fresquito, de momento.
Y tú, ¿qué piensas de todo esto? Ansioso estoy por leer un comentario con tu punto de vista.
Salud y vida para verlo.
Dividir y unir ficheros en GNU/Linux
Muchas veces necesitamos transportar ficheros de una máquina a otra y el tamaño de éstos excede el espacio máximo disponible, por ejemplo, en una memoria USB. Ese ha sido el caso en el día de hoy: necesitaba trasladar un fichero de 2,3G y disponía de dos memorias USB, una con 2GB y otra con algo menos de 1GB. Así, tenía que dividir el fichero en varios, de tal forma que cada uno de ellos fuera inferior a 1GB. Con la orden split ha sido fácil, basta con hacer:
[11:44:26(godo@alpechin)~]> split -b 950MB 11-xp.vmdk
Y he obtenido como resultado los siguientes trozos de fichero (automáticamente llamados xa?, dónde la interrogación va avanzando por el abecedario cada vez que surge un nuevo trozito):
[23:03:39(godo@surco)~/maq-virtual/VirtualBox/import]> l total 2,3G -rwxr-xr-x 1 godo godo 906M jul 8 22:19 xaa -rwxr-xr-x 1 godo godo 906M jul 8 22:39 xab -rwxr-xr-x 1 godo godo 485M jul 8 23:03 xac
Que una vez transportados al lugar de destino han sido unidos con la orden cat, así:
[23:05:03(godo@surco)~/maq-virtual/VirtualBox/import]> cat x?? > 11-xp.vmdk
Y aquí podemos observar el resultado que, obviamente, coincide con el punto de partida:
[23:11:12(godo@surco)~/maq-virtual/VirtualBox/import]> l total 4,5G -rw-r--r-- 1 godo godo 2,3G jul 8 23:11 11-xp.vmdk -rwxr-xr-x 1 godo godo 906M jul 8 22:19 xaa -rwxr-xr-x 1 godo godo 906M jul 8 22:39 xab -rwxr-xr-x 1 godo godo 485M jul 8 23:03 xac
Ya podemos eliminar los trozos que nos han servido para realizar el transporte.
Espero que os sea útil.
Montar particiones NTFS en GNU/Linux
Muchas veces nos es necesario compartir información, datos, entre los sistemas operativos Windows y GNU/Linux. Antiguamente la mejor forma de hacerlo era utilizar una partición de tipo fat que era fácilmente manejable, en modo lectura y escritura, por ambos sistemas operativos. Hoy en día los discos duros son muy grandes, por tanto, las particiones también son mayores y no es raro trabajar con algunos ficheros de unos cuantos gigabytes (GB) de información. En estos casos, las particiones de tipo fat32, las más evolucionadas de la familia, sólo nos permitirán trabajar con ficheros menores de 4GB, sin embargo, si utilizamos una partición de tipo NTFS podremos utilizar ficheros de hasta 16TB, una cantidad nada despreciable… de momento. Parece lógico que es mejor optar por una partición de intercambio entre ambos sistemas operativos de tipo NTFS. Sin embargo, hasta hace unos años la escritura desde GNU/Linux en particiones NTFS no estaba soportada pero, gracias al proyecto ntfs-3g, podemos disponer de un driver que realiza bien este trabajo (The latest stable version is 2009.4.4, released on April 2, 2009).
¿Cómo he configurado mi sistema para que funcione?
1.- He editado el archivo /etc/fstab y he añadido la siguiente línea:
/dev/sda5 /mnt/interc ntfs-3g rw,user,noexec,noauto,uid=1000,gid=1000 0 0
2.- Como root, he creado el grupo "ntfsuser" y he añadido mi usuario a él:
alpechin:/home/godo# groupadd ntfsuser alpechin:/home/godo# gpasswd -a godo ntfsuser Adding user godo to group ntfsuser
3.- He creado un punto de montaje en /mnt
[23:14:27(godo@alpechin)~]> ls -l /mnt total 4 drwxr-xr-x 2 godo ntfsuser 4096 jun 3 22:29 interc [23:14:32(godo@alpechin)~]>
4.- Como root, he cambiado el grupo y los permisos de la herramienta "ntfs-3g":
alpechin:/home/godo# ls -l /usr/bin/ntfs-3g -rwxr-xr-x 1 root root 32540 may 1 01:01 /usr/bin/ntfs-3g alpechin:/home/godo# chown root.ntfsuser $(which ntfs-3g) alpechin:/home/godo# ls -l /usr/bin/ntfs-3g -rwxr-xr-x 1 root ntfsuser 32540 may 1 01:01 /usr/bin/ntfs-3g alpechin:/home/godo# chmod 4750 $(which ntfs-3g) alpechin:/home/godo# ls -l /usr/bin/ntfs-3g -rwsr-x--- 1 root ntfsuser 32540 may 1 01:01 /usr/bin/ntfs-3g alpechin:/home/godo#
5.- Como root, he añadido mi usuario al grupo "disk" (has de cerrar tu sesión y entrar de nuevo para que este cambio tenga efecto):
alpechin:/home/godo# adduser godo disk [22:54:29(godo@alpechin)~]> id grupos=6[disk],...,1001[ntfsuser] [22:54:30(godo@alpechin)~]>
6.- Y he comprobado que todo funciona (fíjate en la orden "touch adios" que me permite crear un fichero adios en la partición NTFS con la que venimos trabajando):
[22:55:03(godo@alpechin)~]> mount /mnt/interc/ [22:55:06(godo@alpechin)~]> l /mnt total 4,0K drwxrwxrwx 1 godo godo 4,0K jun 3 22:53 interc [22:55:10(godo@alpechin)~]> l /mnt/interc/ total 173M -rwxrwxrwx 2 godo godo 21M may 31 17:10 boot.img.gz -rwxrwxrwx 2 godo godo 153M may 31 17:11 debian-testing-i386-netinst.iso -rwxrwxrwx 1 godo godo 8 jun 3 22:53 hola -rwxrwxrwx 2 godo godo 1,1K may 31 17:10 inst-debian-from-usb.txt drwxrwxrwx 1 godo godo 0 may 31 14:31 RECYCLER drwxrwxrwx 1 godo godo 0 may 31 19:06 System Volume Information drwxrwxrwx 1 godo godo 4,0K may 31 17:02 Utilidades [22:55:16(godo@alpechin)~]> touch /mnt/interc/adios [22:55:27(godo@alpechin)~]> l /mnt/interc/ total 173M -rwxrwxrwx 1 godo godo 0 jun 3 22:55 adios -rwxrwxrwx 2 godo godo 21M may 31 17:10 boot.img.gz -rwxrwxrwx 2 godo godo 153M may 31 17:11 debian-testing-i386-netinst.iso -rwxrwxrwx 1 godo godo 8 jun 3 22:53 hola -rwxrwxrwx 2 godo godo 1,1K may 31 17:10 inst-debian-from-usb.txt drwxrwxrwx 1 godo godo 0 may 31 14:31 RECYCLER drwxrwxrwx 1 godo godo 0 may 31 19:06 System Volume Information drwxrwxrwx 1 godo godo 4,0K may 31 17:02 Utilidades [22:55:29(godo@alpechin)~]>
Ya tengo una partición común para ubicar los datos con los que trabajo tanto en GNU/Linux como en Windows… aumentando mi productividad 8-).
Comentarios
Gracias
NTFS: así se abren (Anonymous 01/06/2014 - 18:33)
Gracias
NTFS: así se abren los ficheros de texto automáticamente en editor en vez de tratar de ejecutarse **
Si tienes archivos de texto en una partición NTFS probablemente al seleccionarlos y pulsar el Enter o hacer doble clic sobre ellos quieras que se abra el editor de texto que uses. Pero puede pasar que el gestor de ficheros te diga que es ejecutable y te pregunte si quieres ejecutarlo o bien ejecutarlo en un terminal (sin darte la opción de ver su contenido -p.e. en Leafpad no se ofrece mientras que en Nautilus sí, incluso se puede hacer de forma automática con la opción de Preferencias correspondiente-).
La solución es fácil: tienes que editar /etc/fstab (como root) y añadir a las opciones de la entrada de ntfs noexec (con una coma por delante).
Saludos
Gracias por el comentario. (Godofredo Fdez. 02/06/2014 - 08:58)
Gracias por el comentario.
Ejecutar un script interactivo *justo antes* de apagar KDE4
Ya vimos aquí por qué necesito hacer este tipo de cosas. Ahora, que permanezco en GNU/Linux Debian testing y que comienzo a disfrutar del formidable KDE4, veo que lo que explicaba en dicho artículo no funciona.
Tras investigar un poquito (con ayuda de google) descubro que en KDE4 se ha sustituido a "dcop" por "dbus", por lo que la llamada a ksmserver para guardar la sesión y apagar el sistema ya no la puedo hacer como la venía haciendo, sino como he leído aquí (en una sola línea):
dbus-send --session --dest=org.kde.ksmserver --type=method_call --print-reply /KSMServer org.kde.KSMServerInterface.logout int32:-1 int32:2 int32:2
Además he descubierto lo complicado que es añadir una aplicación al panel si esta no figura listada en el "menú K". Si figura listada en dicho menú basta con pinchar sobre ella con el botón derecho del ratón y seleccionar la opción: "Añadir al panel", pero si no… ¡es casi imposible!. Así, lo que he hecho para añadir mi script, que hace la copia de seguridad y luego apaga la máquina, es lo siguiente:
1.- He añadido el script al "menú K" dentro del submenú "Objetos perdidos". ¿Cómo? Pinchamos con el botón derecho del ratón sobre la "K" y elegimos "Editor de menús". Una vez dentro del "Editor de menús" seleccionamos el submenú "Objetos perdidos" (yo ya lo tenía creado y en el residía la aplicación kdiff3), o cualquier otro que nos interese, y pulsamos sobre el icono que hay en la fila superior: "Nuevo elemento". Ponemos el nombre del "nuevo elemento", pulsamos aceptar, buscamos el icono que más nos guste y la "orden", es decir el script, navegando por los directorios de nuestra máquina hasta seleccionarlo. 2.- Una vez añadida dicha aplicación/script al "menú K" es muy fácil añadirla al panel: navegamos hasta ella, la pinchamos con el botón derecho del ratón y seleccionamos: "Añadir al panel".
¡Listo!
Archivos adjuntos
UPyD apoya al Software Libre y a la Neutralidad en la Red
Sin tapujos. Con frases como estas:
… Se trata de compartir y de colaborar en la máxima difusión de herramientas informáticas en constante actualización, en la línea tradicional de la cooperación científica. … El desarrollo del “software libre” resulta especialmente interesante para países como España, que no cuentan con un sector industrial demasiado desarrollado en ese campo. Por tanto, puede favorecer la libre competencia y el desarrollo de pequeñas y medianas empresas independientes de los gigantes del sector de la programación cibernética.
Que pueden ser leídas en dos artículos publicados en la web del partido:
- http://www.upyd.es/index.jsp?seccion=5¬icia=22664
- http://www.upyd.es/index.jsp?seccion=5¬icia=22666
UPyD demuestra su compromiso con la libertad y, directamente, con parte del tejido productivo español que tiene al software libre como pilar imprescindible de subsistencia, como pieza fundamental en su modelo de negocio.
Por no nombrar los grandes conceptos que encierra y por no extenderme demasiado en disquisiciones filosóficas, podéis aprender más sobre el software libre aquí.
He capturado los artículos y los he guardado en un par de archivos que dejo adjuntos, por si se pierden.
Y la "regulación" de este tipo de cosas, con apoyo a favor y con batallas para cargárselo, sí que se han venido dirimiendo en el Parlamento Europeo, el cual elegimos dentro de poco (7 de junio de 2009).
Una buena noticia, sin duda.
Archivos adjuntos
Drupal. Clean-URL con lighttpd
Aunque en mi proveedor de hosting el servidor utilizado es el inestimable apache, en casa prefiero optar por un servidor web que sea algo más ligero, por eso trabajo con lighttpd.
Para trabajar con la versión de pre-producción de mi Drupal habilitando el "formato limpio de URL", conocido en el argot como clean-url, en el que desaparecen de las direcciones web símbolos y demás caracteres sobrantes utilizados, normalmente, en las consultas realizadas a las bases de datos, he retocado un par de ficheros de configuración que indico a continuación.
1.- El fichero de configuración de lighttpd:
alpechin:/etc/lighttpd# emacs lighttpd.conf
En el que añadimos al final la siguiente línea:
### Habilitamos cleanURL en drupal server.error-handler-404 = "/index.php"
2.- Y añadimos el siguiente código al final del fichero:
/var/www/drupal.alpechin/sites/default]> emacs settings.php
if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false) {
$_lighty_url = $base_url.$_SERVER['REQUEST_URI'];
$_lighty_url = @parse_url($_lighty_url);
if ($_lighty_url['path'] != '/index.php' && $_lighty_url['path'] != '/update.php' && $_lighty_url['path'] != '/') {
$_SERVER['QUERY_STRING'] = $_lighty_url['query'];
parse_str($_lighty_url['query'], $_lighty_query);
foreach ($_lighty_query as $key => $val)
$_GET[$key] = $_REQUEST[$key] = urldecode($val);
$_GET['q'] = $_REQUEST['q'] = urldecode(substr($_lighty_url['path'], 1));
}
}
3.- Rearrancamos lighttpd:
alpechin:~# /etc/init.d/lighttpd restart
4.- Y habilitamos las clean-url aquí: /admin/settings/clean-urls
Y a seguir disfrutando.
P.D.: Este código ha sido construido tras buscar mucho en google. Incorpora todos los parches que he ido encontrando para evitar disfunciones, y por ahora ha funcionado siempre, con todos los módulos que suelo tener instalados y con los que voy probando. Si quieres dejarme alguna puntualización/sugerencia, por favor, deja un comentario. Gracias.
Diferencias entre GNU/Linux y FreeBSD
Actualizado: 2009-05-05
Inspirado en esta pregunta que se hizo en barrapunto, he decidido abrir este post para comentar las principales diferencias entre GNU/Linux y FreeBSD. Además, incorporaré tras estos primeros párrafos cuatro apartados: ventajas comunes, desventajas comunes, ventajas de GNU/Linux y ventajas de FreeBSD (las ventajas de uno son respecto al otro, por lo que no merece la pena añadir los apartados desventajas individuales: son las complementarias, ¿sí? :-)). Así, intentaré mantener este post vivo a lo largo del tiempo, indicando al comienzo del mismo la fecha de la última edición.
Pasamos a continuación a describir las diferencias generales y los principales conceptos implicados.
Básicamente las diferencias se encuentran en la capa del kernel, ese gran desconocido para la mayoría de los usuarios: todo el mundo ha oído hablar de él pero nadie lo ha visto, ¿será mentira? ;-).
Sin ánimo de extenderme mucho, y sin querer entrar en batallas dialécticas de límites y funciones que nos lleven a una clase magistral, el kernel es el encargado de gestionar los recursos de la máquina: la memoria, la velocidad del procesador (véase la regulación que se hace en modo ahorro de energía de los portátiles ;-)), las comunicaciones con los periféricos, el espacio de disco, etc. Los "puristas" suelen llamar Sistema Operativo al kernel y poco más, al resto les llaman aplicaciones, que se ejecutan sobre el Kernel. También hay algunas diferencias en los niveles de seguridad implementados de serie tanto en la ejecución de procesos como en los accesos a ficheros, permisos de usuario, etc.
Pues, así, podríamos decir que la diferencia entre FreeBSD y GNU/Linux está en el kernel, sobre éste ambos suelen correr el mismo conjunto de aplicaciones: encontramos servicios (apache, exim, etc.) y entornos de trabajo (gnome, kde, etc.), aplicaciones de grabación y reproducción multimedia, gráficas, etc. Puede ser que alguna aplicación no esté disponible para uno y sí para el otro, pero básicamente, un usuario final no "debería notar" grandes diferencias en esto. Sí que puede haberlas en temas de rendimiento, soporte de dispositivos, etc., pero creo que en temas de rendimiento, aún habiéndolas, son tan mínimamente apreciables para un usuario final que no deberían ser suficientes para basar una decisión. Sí que lo serán los dispositivos soportados: es triste gastarte la pasta en algo que luego no puedes utilizar.
En fin, en esto del software libre lo bonito es precisamente eso: la libertad. Uno es libre de probar, aprender… y quedarse con lo que más le guste y cómodo se halle.
En mi caso particular: no me iré de GNU/Debian nunca (mientras sigan manteniendo el nivel de calidad con la que vienen trabajando todos estos años) y he comenzado a explorar FreeBSD por motivos de trabajo y aprendizaje.
Ventajas comunes - Son software libre.
- Son gratuitos.
- Están exentos de ser infectados por los virus más extendidos (hay quién piensa que por cualquier tipo de virus, a mi me parece excesivo y matizable. Para saber más lee esto).
Desventajas comunes - Suelen reconocer menos hardware que windows. Los fabricantes no suelen facilitar la labor de desarrollo de drivers. Hay que asegurarse de que nuestros dispositivos están soportados.
- Tienen muchos menos juegos que windows }:).
Ventajas GNU/Linux - El proceso de instalación se parece cada vez más al de windows. El usuario menos avanzado es capaz de llevarlo a cabo en las distribuciones más comunes: ubuntu, debian, etc.
- Hoy por hoy soporta más software de virtualización, por ejemplo: Virtualbox (bueno, bonito, barato y fácil).
Ventajas FreeBSD - "Las estoy investigando" :-?.
Y tú, ¿compartes alguna? Si te animas deja un comentario para luego consolidarlo en el cuerpo del post.
Salud.
Comentarios
Pura presentación para (Ramiro 11/07/2010 - 18:29)
Pura presentación para decir lo mismo que NADA.
un -6 te pongo y mas vale que estudies para la próxima -__-
Gracias, llevas razón… (Godofredo Fdez. 14/07/2010 - 00:46)
…la verdad es que el proyecto donde iba a utilizar FreeBSD se frenó en seco, y finalmente todo acabó con una pequeña prueba de instalación… y un uso escaso.
Sensaciones contradictorias: me gustó el reconocimiento de hardware y la documentación para que lo poco que no funcionó a la primera lo hiciera a la segunda, y sin mucho esfuerzo. No me gustó el "sistema de gestión de paquetes", lo vi muy cutre al lado de apt. También me gustó mucho la configuración de seguridad y el rendimiento.
Si tuviera que concluir (aceptando la poca dedicación y por tanto la gran distancia a una opinión de valor): como sistema operativo de servidor de propósito específico (comunicaciones, relay de correo, vpn, etc.) me parece genial, como sistema operativo de batalla diaria (escritorio) me parece difícil, mejor dicho: tedioso, de mantener y escalar.
Sin fanatismos, ¡eh!
Por cierto, tú tampoco has demostrado haber estudiado mucho, ¿no? ;-)
Salud y gracias nuevamente.
GNU/Linux y los virus
Ah, pero en GNU/Linux… ¿hay virus? Pues yo no conozco a nadie que utilice GNU/Linux y se haya visto envuelto en un ataque de virus (sí en algún otro tipo de ataque). Sin embargo, las opiniones que circulan por la red son variadas, basta una búsqueda en google con las dos palabras que nos ocupan (linux virus) para encontrar opiniones que rotundamente piensan que en GNU/Linux no hay virus, y otras que dicen todo lo contrario, y sobre todo, que será cuestión de tiempo y de cantidad de uso. Pero esto es un blog, y se supone que he de dar mi opinión personal. Bien, yo creo que en GNU/Linux no hay virus, hoy por hoy, lo suficientemente extendidos/malignos que puedan ser considerados como tales, quizá exista por ahí alguna prueba de concepto que no ha llegado a "triunfar". Sin embargo, creo que es posible que el día de mañana existan virus para GNU/Linux. Será muy difícil, y seguro que es más complicado que desarrollarlos para Windows. ¿Por qué? Sin ánimo de entrar en profundidades, por un par de razones:
a) Windows tuvo que "relajar" mucho los sistemas de seguridad del sistema operativo para convertirse en el sistema que usa todo el mundo, el precio que hemos tenido que pagar a cambio de su fácil uso para su tremenda expansión. Los costes de la alfabetización digital: no seré yo quien deje de reconocerle la difícil tarea. El porqué lo consiguió Windows y no otro tipo de S.O. da para otro extenso debate.
b) en GNU/Linux existen más mecanismos de control implantados en el propio S.O., y en el conjunto de software englobado por las "diferentes distribuciones", para evitar el acceso a recursos críticos del sistema y modificarlos (gestión de memoria, permisos de los archivos en disco, etc.).
Y como consecuencia de lo anterior, en GNU/Linux no existe, además, la cultura de trabajar como “administrador del sistema” durante todo el tiempo en el que lo estamos usando: navegar por internet, leer el correo, abrir archivos de "tonterías" que nos envían, etc., todas estas tareas se suelen realizar como usuario sin "privilegios" para "dañar" al sistema, así que, si alguna de esas acciones terminara ejecutando un "programa" que alberga un virus, este se ejecutaría con los privilegios de un usuario normal (frente a hacerlo como administrador de la máquina) y no sería capaz de modificar componentes fundamentales/críticas de nuestro S.O.
Esta, a mi juicio, es la verdadera barrera de protección. Pero, ¿los últimos sistemas Windows: 2000, XP, Vista, etc., también permiten distinguir entre usuario administrador y "resto"? Sí, es cierto, pero, ¿quién no trabaja como usuario administrador, o privilegios de administrador, en su máquina? Cuando se va a instalar un programa: ¿quién parte de la situación en la que se está trabajando como usuario "raso" (sin privilegios para realizar esa acción), se convierte en administrador para hacerla y, justo después, vuelve a ser usuario "raso"? Muy pocos, ¿verdad? Pues así, el camino que ha de recorrer un virus resulta ser demasiado fácil. Respecto a GNU/Linux, comienzan a darme miedo algunas distribuciones que están "facilitando en exceso" la vida al usuario, a algunas de ellas las veo venir, y están a un punto de permitir que un usuario "raso" haga de todo, incluso sin solicitar la apropiada contraseña. Estoy seguro de que, cuando esto ocurra, los virus camparán a sus anchas también en GNU/Linux. Aunque aún nos quedará otra barrera de protección: un virus podrá extenderse por una determinada distribución GNU/Linux, y no por otras. Esta heterogeneidad en el ecosistema (recordad los problemas de los monocultivos frente a los multicultivos) seguirá jugando a nuestro favor.
Y tú, ¿qué piensas? ¿alguna vez te ha preocupado esta cuestión? ¿has buscado información/documentación sobre el tema? ¿cuáles han sido tus conclusiones?
A cuidarse toca :-)
Comentarios
Sí… he estado buscando (Cristian Vivas 31/01/2009 - 18:21)
Sí… he estado buscando información, ya que hace unos ocho meses utilizo Ubuntu y me ha inquietado el hecho de que no tengo un antivirus. Sin embargo todo apunta a que no debo preucuparme porque tenemos a nuestros amigos hacker que han hecho y seguiran haciendo bien su trabajo. Y aún si en un futuro saliera un virus seguiré usando software libre por su filosofía.
Configurando tarjeta WiFI 3Com en GNU/Linux
Concretamente en Debian GNU/Linux, pero probablemente también sirva para otras distribuciones como, por ejemplo, Ubuntu.
El ordenador fijo de casa tiene una tarjeta WiFI 3Com (como está pinchada en la placa desde hace tiempo no recuerdo el modelo exacto) soportada por el driver que, para el chipset atheros, ha desarrollado el proyecto madwifi.
¡¡OJO!! Todo lo que se ejecuta a continuación se hace desde un terminal. Buscad en vuestros menús un icono con una pantallita negra y la leyenda "terminal". Y una vez en él hemos de actuar como usuario root (en muchos casos basta con hacer: sudo su).
Antes que nada, comprobad que tenéis el mismo chipset que yo haciendo esto (fijaos en la línea donde aparece: "Atheros Communications"):
[13:16:48(godo@surco)~]> lspci 00:00.0 Host bridge: Intel Corporation 82845 845 [Brookdale] Chipset Host Bridge (rev 03) 00:01.0 PCI bridge: Intel Corporation 82845 845 [Brookdale] Chipset AGP Bridge (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 12) 00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 12) 00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 Controller (rev 12) 00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB Controller #1 (rev 12) 00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus Controller (rev 12) 00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB Controller #1 (rev 12) 00:1f.5 Multimedia audio controller: Intel Corporation 82801BA/BAM AC97 Audio Controller (rev 12) 01:00.0 VGA compatible controller: ATI Technologies Inc Rage 128 Pro Ultra TF 02:08.0 Ethernet controller: Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller (rev 03) 02:0b.0 Ethernet controller: Atheros Communications Inc. AR5413 802.11abg NIC (rev 01) [13:16:53(godo@surco)~]>
En debian existen los siguientes paquetes con las fuentes del driver:
[11:49:40(godo@surco)~]> dpkg --list | grep madwifi ii madwifi-doc 1:0.9.3-2 documentation for the Multiband Atheros Driv ii madwifi-source 1:0.9.4~rc2-1 source for the Multiband Atheros Driver for ii madwifi-tools 1:0.9.4~rc2+dfsg-1 tools for the Multiband Atheros Driver for W [11:49:47(godo@surco)~]>
Los cuales tienes que tener instalados en el sistema.
Estos paquetes dejan en el directorio /usr/src el archivo madwifi.tar.bz2. Al descomprimirlo se genera el siguiente directorio /usr/src/modules/madwifi.
Además, hace falta tener instalado el paquete de las cabeceras "headers" correspondiente al núcleo, al kernel, con el que se arranca la máquina. Como las actualizaciones de "apt-get upgrade" suelen renovar la versión del kernel cada cierto tiempo, es necesario tras cada actualización que implique renovación de versión hacer lo siguiente:
1.- Asegurarse de que existe en el directorio /usr/src los siguientes archivos:
[11:50:44(godo@surco)/usr/src]> ll total 3492 -rw-r--r-- 1 root root 24181 abr 30 10:42 cloop.tar.bz2 lrwxrwxrwx 1 root src 26 may 30 11:41 linux -> linux-headers-2.6.24-1-686 drwxr-xr-x 4 root root 600 may 25 20:34 linux-headers-2.6.24-1-686 drwxr-xr-x 18 root root 456 may 25 20:34 linux-headers-2.6.24-1-common drwxr-xr-x 3 root root 72 dic 23 2006 linux-kbuild-2.6.18 drwxr-xr-x 3 root root 72 oct 5 2007 linux-kbuild-2.6.22 drwxr-xr-x 3 root root 72 may 25 20:34 linux-kbuild-2.6.24 -rw-r--r-- 1 root root 3543950 feb 12 13:08 madwifi.tar.bz2 drwxr-xr-x 3 root root 72 feb 12 13:08 modules [11:53:18(godo@surco)/usr/src]>
Para ello hay que tener instalados, desde siempre, los siguientes paquetes:
apt-get install madwifi-source madwifi-tools madwifi-doc linux-headers-2.6-686 wireless-tools
2.- Hacer el enlace simbólico linux -> linux-headers-2.6.24-1-686 que no existirá pues es necesario hacerlo a mano, así:
[11:50:44(godo@surco)/usr/src]> ln -s linux-headers-2.6.24-1-686 linux
3.- Descomprimir el archivo madwifi.tar.bz2, así:
[11:50:44(godo@surco)/usr/src]> tar -xvjf madwifi.tar.bz2
4.- Meternos en el directorio del driver:
[11:50:44(godo@surco)/usr/src]> cd modules/madwifi
5.- Ejecutar los siguientes comandos:
[11:50:44(godo@surco)/usr/src]> make [11:50:44(godo@surco)/usr/src]> make install [11:50:44(godo@surco)/usr/src]> modprobe ath_pci countrycode=724
Y por último ejecutamos el script (creado previamente por nosotros) de configuración de nuestra tarjeta:
[11:50:44(godo@surco)/usr/src]> /sbin/iwconfig ath0 essid "ElVuestro" enc 53C268252C7642BD23484D970E
El essid es el identificador de red que difunde vuestro punto de acceso, y la ristra que sigue a enc es la clave WEP de cifrado, si lo tenéis activo, claro está.
Y, si todo ha ido bien, ya tenemos nuestra tarjeta WiFI detectada.
6.-Lo podemos comprobar así:
[11:50:44(godo@surco)/usr/src]> iwconfig
ath0 IEEE 802.11g ESSID:"ElVuestro" Nickname:""
Mode:Managed Frequency:2.442 GHz Access Point: 00:23:4A:30:E1:B4
Bit Rate:54 Mb/s Tx-Power:16 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Encryption key:53C2-6825-2C76-42BD-2348-4D97-0E Security mode:restricted
Power Management:off
Link Quality=47/70 Signal level=-49 dBm Noise level=-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
7.- Y ahora solo falta configurar las direcciones ip de nuestro interfaz y de nuestro router por defecto (ojo, que esto depende de la que tenga configurada el router):
Si queremos hacerlo de forma fija, y la que tiene el router wifi es 192.168.7.77:
[11:50:44(godo@surco)/usr/src]> /sbin/ifconfig ath0 192.168.7.7 netmask 255.255.255.0 up [11:50:44(godo@surco)/usr/src]> /sbin/route add default gw 192.168.7.77
Si queremos hacerlo por dhcp (para el que no sepa que significa esto del ip, mejor esta opción):
[11:50:44(godo@surco)/usr/src]> /sbin/dhclient ath0
8.- Comprobamos que tenemos conectividad WiFI:
[12:29:59(root@surco)/etc/init.d]> ping 192.168.7.77 PING 192.168.7.77 (192.168.7.77) 56(84) bytes of data. 64 bytes from 192.168.7.77: icmp_seq=1 ttl=64 time=1.00 ms 64 bytes from 192.168.7.77: icmp_seq=2 ttl=64 time=0.936 ms 64 bytes from 192.168.7.77: icmp_seq=3 ttl=64 time=0.953 ms . . . pulsamos Ctrl+C para terminar.
Si la respuesta es de este tipo, todo hay ido bien.
Si, por el contrario, es así:
[12:29:59(root@surco)/etc/init.d]> ping 192.168.7.77 PING 192.168.7.77 (192.168.7.77) 56(84) bytes of data. ... aquí no aparece nada ...
Algún problema ha habido.
Espero que ayude. ¡A disfrutad de la red desde GNU/Linux!
Construyendo nuestra propia bitácora con Drupal - 2ª Parte
En este nuevo número de Mundo Linux (nº 98) he publicado la segunda parte del artículo que, sobre nuestro querido sistema de gestión de contenidos (CMS - Content Management System) Drupal, publiqué en "Mundo Linux 95" (más información aquí). Os dejo a continuación la introducción al artículo actual: Introducción. En este punto nos vamos a centrar en la descripción de cada una de las funcionalidades de administración y configuración que nos brinda nuestro gestor de contenidos. Concretamente, nos estamos refiriendo a cada una de las opciones del menú de administración, el cual está disponible para cada uno de los usuarios que poseen dichos permisos. Recordad que nuestro usuario administrador era: "godest". Tras acceder a nuestro sitio web con el usuario administrador del mismo, podemos observar en el menú situado a la izquierda sobre fondo gris, todas las opciones del submenú "administer" En el artículo anterior veíamos como crear un nuevo usuario a través del submenú "user". Y como asignarle permisos apropiados para permitirle realizar ciertas tareas y prohibirle otras: submenú "access control". En los puntos siguientes vamos a ir viendo cada una de las opciones restantes y, en la medida de lo posible, observaremos los efectos de las mismas en nuestro blog. Y a continuación describimos con detalle cada uno de los siguientes puntos:
- block
- categories
- comments
- content
- input formats
- logs
- modules (añadir nuevas funcionalidades)
- settings
- themes
Así como los pasos necesarios para actualizar a la siguiente versión de Drupal. Os recomiendo que acudáis rápido a los kioscos si estáis pensando en tener vuestro propio "blog" en Internet, optando por saborear vuestros propios errores y aciertos en lo que a administración de sistemas se refiere frente a los preparados() que ya existen por ahí. A la espera de que os resulte útil… …salud. () Guiño a mi querido maestro, cuyos "post", que necesito, tanto echo de menos. Actualizado el 10 de abril de 2011 P.D.: podéis conseguir el artículo en pdf aquí.
Comprobando el correcto estado de un CD
Algunas veces echamos mano a un CD que teníamos grabado, o nos pasan uno, y al utilizarlo nos da problemas: normalmente la instalación no progresa por algún motivo, o no podemos acceder a alguna de las carpetas que tiene en su interior, o no podemos abrir/ejecutar algún archivo.
Entonces, sospechamos sobre el correcto estado del CD.
Si sabemos lo que contiene, por ejemplo: el CD se "construyó" con la última imagen disponible del SystemRescueCd-x86-0.3.6, podemos consultar en su web el "checksum o hash" md5, en nuestro ejemplo: 10e593919f24237de1e6dcfcb3517c50, y comprobar que el "checksum" de nuestro CD es el correcto. De serlo, con toda probabilidad el CD estará bien, por el contrario, si falla, tendremos que perder la esperanza de utilizarlo. Normalmente, esto nos ahorrará mucho tiempo, pues desistiremos de realizar sucesivos intentos fallidos.
La pregunta es, ¿cómo puedo comprobar el "checksum" md5 de un CD?
Y la respuesta es sencilla: metemos el CD en nuestra lectora, y como root hacemos:
[22:34:45(root@surco)~]> dd if=/dev/cdrom | md5sum 242124+0 records in 242124+0 records out 123967488 bytes (124 MB) copied, 40,2209 seconds, 3,1 MB/s 10e593919f24237de1e6dcfcb3517c50 - [22:35:41(root@surco)~]>
Vemos que, en nuestro ejemplo, ¡coincide!
Justo cuando grabamos un CD podemos ejecutar este comando, y anotar su "checksum" en la etiqueta, así, posteriormente siempre podremos comprobar que todo sigue bien.
También es aconsejable realizar este proceso cada vez que descargamos un archivo de Internet, comprobando que el "checksum" generado en nuestra máquina es el mismo que el que generaron sus autores (y del que nos informan, habitualmente, en su web).
Se haría así:
[22:35:50(godo@surco)~]> md5sum systemrescuecd-x86-0.3.6.iso 10e593919f24237de1e6dcfcb3517c50 systemrescuecd-x86-0.3.6.iso [22:35:56(godo@surco)~]>
No malgastes tu tiempo, ¡es irrecuperable!
Ratón y teclado inalámbricos Logitech en GNU/Linux
Espero que este pequeño script os sirva a todos aquellos que utilizáis un ratón Logitech en vuestra máquina donde, obviamente, tendréis instalado un sistema GNU/Linux (a todas luces Debian, supongo ;-) ).
El script está construido en Perl, además hace falta instalar el siguiente módulo: "apt-get install libmime-lite-perl". Bajo mi punto de vista, como administrador de redes y sistemas, uno de los lenguajes que más "herramientas" pone a nuestra disposición: aquí vemos como construimos y enviamos un correo electrónico (gracias, Miguel Ángel, por compartir tus conocimientos y ensanchar así los míos) si se cumple una determinada condición: critical = pilas prácticamente sin carga.
Utilizamos la salida del programa lmctl, el cual podéis encontrar aquí (existe paquete para Debian). Este programa es el que en realidad consulta el estado de la batería (pilas) del ratón. El script lo utiliza para crear un fichero de texto en /tmp/salida.txt, que luego analiza, línea a línea, buscando la palabra "critical". Como hemos dicho antes, esta palabra aparece como indicador del estado si las pilas están prácticamente agotadas. Cuando así sea, enviamos un correo electrónico avisando de tal hecho.
[15:54:59(godo@surco)~]> more .kde/Autostart/pilas_raton.pl
#!/usr/bin/perl
#
# Script que ejecuta el comando 'lmctl -i' para
# conocer el estado de la bateria del ratón
use MIME::Lite;
#print "\nComprobando batería del ratón...\n\n";
$patron="critical"; # Patron a buscar
#print "\n$patron";
# Ejecutamos el comando
system("/usr/bin/lmctl -i > /tmp/salida.txt");
open SALIDA, "< /tmp/salida.txt";
# Comenzamos la busqueda
while($linea=<SALIDA>)
{
if($linea=~/$patron/)
{
# Creamos el correo a enviar
$msg = MIME::Lite->new(
From => 'raton@bateria.org',
To => 'usuario@dominio.es',
Bcc => 'usu@dominio.net',
Subject => 'Cambia las pilas - CRITICAL',
Type => 'multipart/mixed');
$msg->attach(
Type => 'TEXT',
Data => 'Batería demasiado baja.');
$msg->send('smtp', '127.0.0.1');
}
}
close SALIDA;
#Para eliminar el fichero creado
#descomentar la siguiente línea
#system("rm /tmp/salida.txt");
[15:55:16(godo@surco)~]>
¡OJO! Tenéis que particularizar los campos To y Bcc del correo añadiendo vuestra dirección donde queráis recibirlo. Además tendréis que modificar el servidor de envío de dicho correo: smtp. Observad que yo utilizo mi propia máquina como servidor de correo saliente: 127.0.0.1. Es recomendable que modifiquéis también el From, utilizando una dirección válida para evitar los filtros antispam.
Ya sólo nos queda añadir una tarea a nuestro cron. Para ello ejecutamos desde nuestro usuario: "crontab -e", y añadimos al fichero editado lo siguiente:
# Para ejecutar el script que monitoriza las pilas del raton logitech 45 14 * * * /home/godo/.kde/Autostart/pilas_raton.pl
Con esto conseguimos que todos los días a las 14:45 se ejecute nuestro script. Guardado, en mi caso, en "home/godo.kde/Autostart/".
Desde que recibáis el primer correo electrónico tenéis en torno a semana y media para cambiar las pilas. Claro, esto depende del uso que hagáis de ellas. En mi caso: 5 días x 8 horas (aproximadamente ;-)).
Todos estos esfuerzos debidos a la falta de drivers, y de compromiso, que algunos fabricantes siguen mostrando con el mundo GNU/Linux. Bien es cierto que cada vez son más los que colaboran… pero aún hay mucha tela que cortar.
Quizá, alguno de vosotros lo hayáis resuelto de otra manera. Si es así, me gustaría que la compartierais con los demás dejando un comentario.
En fin, un divertimento del que se puede aprender mucho: las maravillas del Perl. Otro día os contaré lo que me ha ayudado en la realización de algunas tareas.
Y amaréis al camello dromedario (En 1991 se publicó Programming Perl y se convirtió en la referencia de facto del lenguaje –WikiPedia).
Comentarios
Excelente Articulo (Martin 11/05/2012 - 15:23)
Godo, gracias por compartir. Lo voy a estar utilizando y si consigo mejorarlo y añadirle alguna aplicacion, me comunico contigo y te lo envio.
Mil Gracias!
Gracias a ti, Martín (Godo 11/05/2012 - 16:33)
Por escribir en este rinconcito.
¡Qué friki llegué a ser, Dios mío! Ahora ya no tengo tiempo de enredar en estas cosas… pero me siguen gustando mucho. Así que, si consigues mejorarlo y lo cuelgas por aquí te estaré muy agradecido.
Porque, parece que no, pero que se te acaben las pilas de golpe y pillarte sin pilas de repuesto es molesto, eh! ;-)
Saludos.
Construyendo nuestra propia bitácora con Drupal
Seguro que muchos de los que frecuentáis esta bitácora, incluso los que llegáis por primera vez, habéis sentido la curiosidad sobre cómo se construye un "sitio web" como éste. Seguro que muchos de vosotros deseáis tener uno igual ;-), ¡Esta es vuestra oportunidad!
En este número de Mundo Linux (95) inicio una serie de artículos sobre la magnífica herramienta Drupal, que, además, es software libre.
Introducción. El objetivo que pretendemos conseguir con este artículo es la construcción de nuestra propia bitácora. Para ello vamos a utilizar el sistema de gestión de contenidos libre: Drupal. Nos centraremos en su instalación, configuración y administración. También veremos algunos consejos para mantener nuestro rincón de internet con buena salud.
Considero que el nivel del artículo es apropiado para todos aquellos lectores que quieran adentrarse en este mundo de los weblogs/bitácoras, creación de portales web, comunidades, foros, etc. Comienza definiendo qué es una bitácora, siguen algunas recomendaciones sobre el contenido y la forma de las mismas, y terminamos con la instalación/integración de todo lo necesario para poner en marcha un "sitio web": servidor web "Apache", motor de bases de datos "MySQL", lenguaje de scripting "PHP", y nuestra herramienta "Drupal": configuración de nuestro primer sitio web (Drupal es una herramienta "multi-site" que permite servir más de un "sitio web" con una sola instalación - lo veremos en el siguiente artículo), configuración de un perfil de usuario y un usuario asociado a dicho perfil, y la publicación del primer "post/story" o "entrada/noticia" en nuestra recién estrenada plataforma.
El artículo fue escrito "capturando" al detalle todos los pasos necesarios para realizar cada una de las tareas, lo cual ayudará al lector que, sin experiencia ni conocimientos avanzados en las herramientas involucradas, se decida a poner en marcha "su propia voz en Internet". Salvados estos primeros pasos, la posterior administración/utilización de Drupal es asequible para todos los perfiles (de letras y de ciencias - como se suele decir).
Como siempre, aquí estoy, tanto si tenéis alguna duda como si queréis hacerme llegar algún comentario, sugerencia, etc.
¡Divulga! …que algo queda.
Actualizado el 10 de abril de 2011 P.D.: puedes descargar el artículo desde aquí.
Recuperando el gestor de arranque: Grub
ACTUALIZACIÓN: si conoces exactamente la partición raíz (root), por ejemplo: /dev/sda5, la forma más rápida de hacerlo está al final de este artículo. FIN de la ACTUALIZACIÓN
A quién no le ha ocurrido esto: un buen día logramos tener en nuestro ordenador instalados varios sistemas operativos, por ejemplo: un windows y un Debian GNU/Linux. En un momento triste descubrimos que la última aplicación que debemos utilizar no existe en GNU/Linux, o que el último gadget que nos hemos comprado ha de ser “gestionado” desde un windows. Bien, asumimos nuestra tristeza y arrancamos nuestro ordenador para seleccionar en el menú, que nos presenta el gestor de arranque Grub (existen otros gestores de arranque más antiguos y menos versátiles, como lilo), la opción correspondiente al sistema operativo de las ventanas.
En nuestra sesión de trabajo nos conectamos a un par de páginas de internet, hacemos unas cuantas descargas y, sorprendentemente :-o, un virus se adueña de nuestro ordenador. Tras mil y una guerra con los dialers, las bajadas e instalación de malware a nuestras espaldas, etc., decidimos reinstalar el windows original en su partición. Arrancamos…
¡Y descubrimos que esta reinstalación se ha cargado nuestro gestor de arranque!, con lo que ahora ya sólo podemos arrancar nuestra nueva instalación de windows. Pero, ¿qué ha pasado con nuestro Debian GNU/Linux que teníamos instalado? No hay que preocuparse, sigue estando instalado en las particiones en las que estaba. Lo único que hemos perdido es la posibilidad de arrancarlo dado que la reinstalación de windows, como digo, ha borrado el "pequeño programa" que vive en el sector de arranque de nuestro disco duro, y que nos presenta el menú de selección del sistema operativo con el que queremos trabajar justo cuando conectamos nuestra máquina.
Vamos a ver como volvemos a instalar nuestro Grub tal y como estaba antes de que la tragedia ocurriera.
Lo primero que os recomiendo es que os bajéis el último System Rescue CD, y lo tostéis en un CD virgen que nos salvara de este tipo de emergencias. Este minisistema GNU/Linux es muy completo: trae una herramienta para la realización de particiones en modo gráfico: gparted (que ya utilizamos aquí), otra herramienta para realizar copias de seguridad de las particiones existentes: partimage, y reconoce casi todos los tipos de sistemas de ficheros, incluido el NTFS.
Arrancamos nuestro ordenador, con el System Rescue CD introducido para que, obviamente, arranque desde él. Veremos una pantalla de bienvenida, pulsamos intro para que continúe… y al final vemos una pantalla de instrucciones y una línea de comandos que nos invita a interactuar con el sistema.
Ahora necesitamos conocer los siguientes datos: la tabla de particiones de nuestro sistema, y su correspondencia con los distintos directorios existentes en el árbol de una instalación GNU/Linux. Esto se puede obtener de la siguiente forma:
[18:23:18(godo@surco)~]> mount /dev/hdb1 on / type reiserfs (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) procbususb on /proc/bus/usb type usbfs (rw) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) /dev/hdb2 on /boot type reiserfs (rw,notail) /dev/hdb7 on /home type reiserfs (rw) /dev/hdb8 on /tmp type ext3 (rw) /dev/hdb5 on /usr type reiserfs (rw) /dev/hdb6 on /var type reiserfs (rw) /dev/hdb4 on /mnt/vm type reiserfs (rw,nosuid,nodev,user=godo) [18:51:16(godo@surco)~]>
Es tan fácil como teclear mount cuando nuestra máquina está funcionando bien, y conservar su salida en una hojita impresa, o en una página web que tengamos accesible ;-). Si no lo hemos hecho previamente, y nos encontramos con que no sabemos qué partición albergaba un determinado árbol de directorios, tendremos que ir montando una u otra, y viendo lo que tienen dentro, o utilizar herramientas como fdisk o cfdisk, ejecutándolas como se muestra a continuación:
[20:11:19(root@surco)/mnt/vm/serie-debian]> fdisk -l /dev/hdb
Disk /dev/hdb: 203.9 GB, 203928109056 bytes 255 heads, 63 sectors/track, 24792 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/hdb1 1 486 3903763+ 83 Linux /dev/hdb2 487 729 1951897+ 83 Linux /dev/hdb3 730 5118 35254642+ 5 Extended /dev/hdb4 5119 24792 158031405 83 Linux /dev/hdb5 730 1945 9767488+ 83 Linux /dev/hdb6 1946 3161 9767488+ 83 Linux /dev/hdb7 3162 4377 9767488+ 83 Linux /dev/hdb8 4378 4863 3903763+ 83 Linux /dev/hdb9 4864 5118 2048256 82 Linux swap / Solaris [20:11:25(root@surco)/mnt/vm/serie-debian]> [20:11:55(root@surco)/mnt/vm/serie-debian]> cfdisk /dev/hdb
La primera, fdisk, como podéis observar, no muestra mucha información, sólo las particiones y el tipo de sistema de ficheros que tienen asociado. La segunda, cfdisk, muestra una pantalla estructurada en columnas, y una de ellas tiene información sobre el punto de montaje, sobre el árbol de directorios que vamos buscando.
Observando esta información (la que anteriormente resultaba de ejecutar mount, que es donde más fácil se ve) podemos conocer que nuestro sistema raíz GNU/Linux, indicado por la / , está ubicado en nuestro segundo disco duro “hdb” y en su primera partición: /dev/hdb1. Y que el sistema de archivos utilizado es “reiserfs”.
Igualmente, vemos que el directorio /boot está ubicado en nuestro segundo disco duro y en su segunda partición: /dev/hdb2, con sistema de archivos “reiserfs”.
Por tanto, desde la línea de comandos que nos aparece tras haber arrancado con nuestro CD de recuperación, tecleamos:
[18:51:16(godo@surco)~]> mkdir /mnt/temp1 [18:51:16(godo@surco)~]> mount /dev/hdb1 /mnt/temp1 [18:51:26(godo@surco)~]> mount -o bind /dev /mnt/temp1/dev [18:51:36(godo@surco)~]> mount -o bind /proc /mnt/temp1/proc
Con lo que montamos la partición raíz del sistema GNU/Linux que queremos recuperar en el directorio que nos ofrece nuestro sistema de recuperación: /mnt/temp1. Es decir, ahora mismo nuestro habitual sistema raíz está accesible a través del directorio /mnt/temp1. Tanto es así, que si hacemos:
[18:51:16(godo@surco)~]> cd /mnt/temp1 [18:51:16(godo@surco)~]> ls bin dev initrd lib opt sbin tmp vmlinuz boot etc initrd.img media proc srv usr vmlinuz.old cdrom home initrd.img.old mnt root sys var
Podemos observar la estructura correspondiente y “navegar” a través de ella. Las líneas que comienzan con "mount -o bind" se utilizan para evitar los problemas de "población dinámica del directorio /dev" por udev (ver esto para más información).
Sin embargo, nuestra raíz actual es / correspondiente al sistema GNU/Linux de recuperación con el que hemos arrancado, Y NO /mnt/temp1 que es donde está el raíz que correspondería si hubiéramos arrancado normalmente desde nuestro GNU/Linux. ¡OJO, sé que lo que acabo de decir puede resultar algo confuso para un principiante! Aseguraros bien de que lo entendéis, si no, buscad más información.
Podemos cambiar “virtualmente de raíz” con el siguiente comando:
[18:51:16(godo@surco)~]> chroot /mnt/temp1
Una vez fijada la nueva raíz a la que correspondería si arrancáramos desde el disco duro, tenemos que montar las particiones correspondientes al árbol de directorios /boot (donde se encuentra la información de arranque: kernel, datos de grub, etc.) y al árbol /usr (donde se encuentran los binarios o ejecutables de grub y otras herramientas de administración del sistema). Esto lo conseguimos con el siguiente par de comandos:
[18:51:16(godo@surco)~]> mount /dev/hdb2 /boot [18:51:16(godo@surco)~]> mount /dev/hdb5 /usr
Recuerda que esto es posible porque previamente hemos modificado la raíz de nuestro sistema de directorios (lo que hemos hecho con chroot).
Ya sólo nos queda ejecutar grub-install para instalar el gestor de arranque en el sector correspondiente al primer disco duro de nuestro sistema: hda. Esto es así porque, habitualmente, los sistemas con dos discos duros están configurados para arrancar desde el primero, pero podría ser de otro modo. Finalizamos nuestra tarea ejecutando:
[18:51:16(godo@surco)~]> /usr/sbin/grub-install /dev/hda
Nos salimos del entorno “chroot” con:
[18:51:16(godo@surco)~]> exit
Y rearrancamos nuestra máquina:
[18:51:16(godo@surco)~]> shutdown -r now
Hemos de tener la precaución de sacar el CD justo cuando comience el encendido, para evitar así que se ejecute otra vez el sistema GNU/Linux de recuperación y obligar a que arranque desde el disco duro.
¡Tachán! Nuestro viejo GRUB vuelve a estar en su sitio.
Y una sonrisa vuelve a brillar en nuestro rostro.
Salud.
–
16-03-2008 Actualización:
Una manera rápida de recuperar grub, si conocemos cual es nuestra partición raíz (root == ) en nuestro GNU/Linux es: 1º.- Arrancar con un CD LIVE (recomiendo ultimas versiones de Knoppix). 2º.- sudo grub 3º.- grub> root (hd0,4) 4º.- grub> setup (hd0) 5º.- grub> quit Siendo hd0 nuestro primer disco duro, en mi portátil por ejemplo es: /dev/sda, y el 4 corresponde con el número de partición donde se encuentra nuestra raíz, en mi caso la raíz "" está en /dev/sda5. Grub comienza la numeración de las particiones en 0, mientras que el kernel comienza en 1, es por eso que a sda5 le corresponde el 4.
Esto funciona incluso si hemos cambiado el orden de las particiones, como suele ser el caso si hemos cambiado de disco duro y hemos restaurado unas copias de seguridad realizadas con "partimage".
Fin de la actualización
30-03-2020 Actualización:
En el pdf que hay al final de este artículo hay otra forma de hacerlo utilizando un Live CD/USB de la familia derivada de Debian GNU/Linux. Lo encontré redactado para Ubuntu, pero yo lo he probado haciendo lo mismo con MX Linux y también funciona.
Fin de la actualización
P.D.: Aquí hablamos de como recuperar el arranque de Windows.
Archivos adjuntos
Actualizaciones Automáticas en Debian GNU/Linux con KDE
En una de mis últimas instalaciones de la distribución Debian GNU/Linux comprobé que el entorno gráfico instalado por defecto es Gnome. Aproveché y estuve trasteando un poquito por los menús, opciones, etc., intentando ver lo amigable que podía resultar para un principiante en este mundillo GNU/Linux. Le puse cierto interés porque es el entorno elegido por la distribución guadalinex, y por tanto, estimo que en poco tiempo me lo iré encontrando en toda la geografía Andaluza/Extremeña.
Hubo una característica que me llamó especialmente la atención, y es de la que me ocupo en este artículo. Al poquito tiempo de arrancar con el sistema recién instalado, y cuando estaba jugueteando con él, surgió un “globito de notificación” de la bandeja del sistema en el que se me informaba de la disponibilidad de actualizaciones para el mismo.
Recuerdo que hice “click” sobre dicha notificación, y se me abrió una ventana de diálogo en la que se informaba con mayor detalle de los paquetes cuyas últimas versiones se iban a instalar. He de reconocer que en este momento estaba un poco alucinado pues creía que el desorden del mundo “windows” estaba aterrizando en GNU/Linux: “¿Cómo un usuario normal puede hacer estas cosas? ¡Bueno, bueno… lo que me quedaba que ver!”
Sin embargo, cuando pulsé sobre aceptar comprobé que la máquina te solicitaba la clave de root para realizar dichas tareas de mantenimiento… ¡no todo estaba perdido!
Uno, que tiene el vicio de utilizar KDE, se quedó un poquito picado con esta funcionalidad existente e integrada en el entorno Gnome. Y me puse a investigar a ver como podía conseguirlo en KDE.
Descubrí un conjunto de aplicaciones que, bajo el nombre de adept, se podían utilizar para realizar la gestión de paquetes en el entorno KDE. Y más concretamente, adeptnotifier, que sirve para mostrar el globito de notificación.
Por tanto, lo primero que tenéis que instalar es “adept”:
apt-get install adept
Tras instalarlo debéis ejecutarlo en segundo plano y dejarlo corriendo:
[10:45:27(godo@olivo)/home/godo]> adeptnotifier &
[10:45:27(godo@olivo)/home/godo]> ps | grep adept godo 3940 0.1 2.8 29356 14424 ? S 09:06 0:06 adeptnotifier
Ahora faltaba programar la comprobación de las actualizaciones para que estas fueran automáticas y ocurrieran siempre al inicio del sistema.
Elaboré el siguiente script que situé en etc/init.d y que llamé apt-get-update:
[18:50:28(root@olivo)/home/godo]> more /etc/init.d/apt-get-update #!/bin/sh
################################################
################################################
/bin/ping -c 3 -W 1 131.111.8.35
echo "Actualizando los paquetes disponibles en los repositorios…" echo ""
/usr/bin/apt-get update > /tmp/apt \ && \ /usr/bin/apt-get -dy upgrade >> /tmp/apt &
El script utiliza la herramienta apt para actualizar (apt-get update) y descargar (apt-get -dy upgrade) los distintos paquetes disponibles.
Sólo queda crear un enlace simbólico en el nivel de arranque habitual de nuestra distribución, en Debian es el 2 (/etc/rc2.d):
[19:06:08(root@olivo)/etc/rc2.d]> update-rc.d apt-get-update start 98 2 . Adding system startup for /etc/init.d/apt-get-update … /etc/rc2.d/S98apt-get-update -> ../init.d/apt-get-update
¿Qué hemos conseguido?
Actualizar la lista de paquetes disponibles (apt-get update), dejando rastro en /tmp/apt.
Tener una pequeña aplicación que nos informa gráficamente si existen actualizaciones para los paquetes que tenemos instalados (adeptnotifier).
Descargar, si los hay, los paquetes necesarios y dejarlos en nuestra máquina preparados para llevar a cabo la actualización. Seguimos dejando rastro de esta tarea en /tmp/apt.
Este último paso se podría haber automatizado también, pero prefiero llevarlo a cabo de forma supervisada.
Cuando nuestro globito nos informe de que existen actualizaciones, y veamos en nuestro monitor de red (apt-get install wmnd) que ha cesado el tráfico de descarga, todas ellas estarán esperando a que, como root, ejecutemos nuestro apt-get upgrade y veamos como se desarrolla la cosa.
Espero que os sea útil.
Y que os ahorre tiempo.
Debian conquista el portátil Fujitsu Siemens AMILO Pi 1536
Amanecía un sábado tranquilo. Con expectación, preparaba minuciosamente el nuevo hardware que, dentro de poco, extendería los dominios de Debian un poquito más. Encendí el portátil, le dí la bienvenida a casa y lo tranquilicé: estaba seguro de que se lo devolvería a sus dueños en mejores condiciones de las que había llegado a mis manos. ;-)
Procedí a arrancarlo desde un CD donde, previamente, había tostado la versión más reciente de GParted LiveCD, maravillosa herramienta gráfica que os recomiendo tener siempre a mano para trabajar con particiones: crear, redimensionar, etc. Obviamente es "Software Libre".
Confiné al omnipresente "Windows XP Home" a un reducido espacio de 20 GB, y creé otras dos particiones: 40 GB para fat32 (zona de intercambio de ficheros para Windows y GNU/Linux, ya que este sistema de ficheros es reconocido sin problemas por ambos Sistemas Operativos) y 20 GB para Debian Etch.
Grabé los cambios… y comprobé que todo había quedado como quería.
Arranqué desde el CD de Debian Etch de instalación por red, concretamente éste (RC1). Sí, aún está en fase de pruebas (testing), pero funcionó correctamente.
Seguí todo el proceso, bien guiado en cada fase por los menús que se iban sucediendo en correcto Español. Terminé eligiendo una "instalación para PC de escritorio" y no tuve ningún problema. Tras 3 horas, aproximadamente, había terminado (tened en cuenta que todo el software fue descargado de Internet por una conexión ADSL de 1 Mbps.).
Volví a arrancar y ¡ahí estaba grub! Mostrándome un menú de selección del S.O. que deseara utilizar. Seleccioné la opción predeterminada: Debian GNU/Linux, y observé detenidamente todo el proceso. Pude ver como el kernel iba detectando todo el hardware, incluida la tarjeta gráfica, el sonido, etc. Y lleno de ilusión desemboqué en una fantástica pantalla de bienvenida, antesala de la pantalla capturada que ilustra este artículo, en la cual podemos ver un magnífico entorno gráfico: GNome (aunque yo utilizo habitualmente este otro: KDE). Jugué un poco con él… y detecté que no se podía hacer uso de la tarjeta de red inalámbrica. Único problema que solucioné fácilmente como os indico a continuación.
Comprobé con el siguiente comando que la tarjeta sí que estaba siendo detectada por el kernel Linux:
luna:/home/eulalia# lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400 04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 05:04.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) 05:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10) luna:/home/eulalia#
Busqué en los repositorios de Debian, desde mi ordenador de sobremesa y haciendo uso de apt-cache, algo que tuviera que ver con: "Intel Corporation PRO/Wireless 3945ABG".
[20:24:19(godo@surco)~]> apt-cache search 3945
Y obtuve, entre otras cosas, los paquetes necesarios que tenía que instalar para reconocer dicho hardware, que son:
firmware-ipw3945 - Binary firmware for IPW3945 ipw3945d - Binary userspace regulatory daemon for Intel PRO/Wireless 3945ABG cards ipw3945-modules-2.6.18-3-686 - Intel PRO/Wireless 3945ABG (ipw3945) driver modules for Linux 2.6.18 on PPro/Celeron/PII/PIII/P4
El último lo elegí tras comprobar la versión del kernel que había sido instalada en el portátil (tened cuidado porque ha de coincidir la versión del paquete de "módulos" que soportan la tarjeta wireless con la versión del kernel que tengáis):
luna:/home/eulalia# uname -a Linux luna 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686 GNU/Linux
Tras investigar un poquito, descubrí que estos paquetes no habían sido instalados por defecto debido a que el instalador de Debian es muy escrupuloso: sólo había incluido en las fuentes de los repositorios la parte "main" de los mismos, y no las partes "contrib" y "non-fre", estando en esta última ubicados los paquetes anteriores, necesarios para el soporte de la tarjeta de red inalámbrica.
Tuve que editar el fichero "sources.list" y dejarlo de la siguiente forma:
luna:/home/eulalia# more /etc/apt/sources.list # # deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20061111)]/ etch main deb http://ftp.debian.nl/debian/ etch main contrib non-free #deb-src http://ftp.debian.nl/debian/ etch main deb http://security.debian.org/ etch/updates main contrib non-free #deb-src http://security.debian.org/ etch/updates main luna:/home/eulalia#
Finalmente, bastó con ejecutar lo siguiente para que la tarjeta fuera reconocida:
luna:/home/eulalia# apt-get update luna:/home/eulalia# apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-2.6.18-3-686
Ya sólo faltaba configurarla con el uso de la aplicación: Network Manager.
Hoy, el universo Debian es un poquito más grande.
Ánimo, entrad en él.
Comentarios
Efectivamente, en un día (Dueños del portatil 28/01/2007 - 12:35)
Efectivamente, en un día nuestro portatil cambió. Ahora tenemos dos entornos de trabajo y cada vez que encendemos el ordenador trabajamos un poco con el nuevo, hay que acostumbrarse. Bueno, agradecemos el cambio, que como bien dice el autor, lo puede considerar una conquista, ya que por nosotros mismos no lo hubiésemos hecho.
Esperamos que sea para bien
Gracias
Bonitas explicaciones, pero (Squil 18/03/2007 - 21:03)
Bonitas explicaciones, pero yo por mi parte no me he quedado conforme con la instalación de debian en mi portátil… parece ser que debian no trae el cpufreq activado en el kernel por lo cual el procesador no baja de frecuencia así que está siempre al máximo consumiendo la batería en un rato… Ahora me queda conseguir solucionar el problema que tengo ahora que es que falla la compilación del kernel… así que supongo que tendré que volverme a kubuntu como siempre :( porque aunque tiene fallos al menos no me tiene al máximo el procesador… y por cierto en kubuntu el control del procesador si viene puesto por defecto.
Me extraña mucho… (Godo 24/03/2007 - 18:13)
…que el kernel de Debian no venga compilado con esa facilidad. Otra cosa es que necesites instalar algún paquete adicional, como es el caso de "cpufreqd" y "cpufrequtils":
[18:08:19(godo@surco)~]> apt-cache search cpufreq collectd - statistics collection daemon cpudyn - CPU dynamic frequency control for processors with scaling cpufreqd - fully configurable daemon for dynamic frequency and voltage scaling cpufrequtils - utilities to deal with the cpufreq Linux kernel feature libcpufreq-dev - development files to deal with the cpufreq Linux kernel feature libcpufreq0 - shared library to deal with the cpufreq Linux kernel feature xfce4-cpufreq-plugin - cpufreq information plugin for the Xfce4 panel gnome-applets - Various applets for GNOME 2 panel - binary files powernowd - control cpu speed and voltage using 2.6 kernel interface powersaved - power management daemon [18:08:24(godo@surco)~]>
He de reconocer que, hasta ahora, no me había preocupado por esto que cuentas. Suelo utilizar el portátil casi todo el tiempo conectado a la red eléctrica ;-). No obstante, investigaré un poco y contaré aquí lo aprendido. Igualmente, te agradecería que si hallas la solución la compartas.
Muchas gracias por tu comentario.
Salud.
Muy buen artículo. Cuando (jflombera 28/03/2007 - 06:10)
Muy buen artículo. Cuando se plantean las cosas de esa manera todo parece fácil y las personas que aún no han probado el mundo Debian ( y Linux en general) les de ganas de hacerlo.
Solo tengo una sugerencia. Sería mejor que la partición de fat32 la hubieras creado de tipo NTFS y la hubieras administrado desde Linux con el controlador ntfs-3g que soporta la escritura de NTFS, yo lo uso actualmente y hasta el momento ha funcionado muy bien sin ningún problema.
Un saludo.
Sobre ntfs-3g (Godo 28/03/2007 - 10:57)
Muchas gracias… me alegro mucho de que te haya gustado.
La verdad es que cuando uno lee la descripción que aún aparece de este paquete en los repositorios Debian, acaba sintiendo algo de vértigo:
[10:24:03(godo@surco)~]> apt-cache show ntfs-3g ... The driver currently is in BETA status: before release of this software we haven't experienced any driver crashes or data loss during our heavy quality testing, however we are aware of some minor issues which will be resolved in the near future. ...
Aunque comentarios como el tuyo vayan haciendo crecer la confianza sobre el mismo. He de reconocer que en este tipo de cosas, y más tratándose de un equipo que no era mío, decido asumir riesgo cero.
Seguiremos compartiendo nuestras experiencias.
Una nueva cosa que conocer… ¡el mundo es ancho!
pues… (Squil 01/04/2007 - 21:22)
Si que instale las diferentes aplicaciones incluso probe alguna otra como el powersave o algo asi que utiliza ubuntu… pero el problema esta en que esos programas no pueden hacer nada ya que no existe nada que puedan controlar… (ya desinstale debian si no te contaba que es lo que falta) por eso me figuro que el problema venga de la compilacion del kernel que al no tener compilado lo adecuado para el cpufreq no genera los "dispositivos" que necesita el programa, pero no lo puedo asegurar…
Yo tambien suelo tener casi siempre el portatil enchufao a la corriente pero vista la temperatura que coge el portatil por funcionar al maximo de revoluciones es mucho mejor hacerle que siempre regule las revoluciones asi ademas consigo que baje el ruido que provoca…
amilo pi1536 (Eva 13/04/2007 - 03:46)
Se me estropeó windows y no encuentro el disco con windows de siemens que tiene los drivers del sata, un windows normal no lo acepta y estoy harta, ¿crees que podría instalar sin problemas linux siguiendo tus instrucciones? A mí todos esos códigos me suenan a chino…
quizá, mejor Ubuntu (Godo 15/04/2007 - 13:39)
Hola Eva.
Por tu comentario deduzco que no estás muy ducha en "operar" un sistema GNU/Linux. Aunque el artículo está descrito con suficiente nivel de detalle, reconozco que meterse a editar ficheros de configuración puede ser algo duro para un neófito en Debian. Es por ello por lo que te aconsejo que intentes instalar la última versión disponible de Ubuntu, puedes obtener más información sobre ella aquí. La página te explica las características fundamentales de esta distribución, al final aparecen enlaces para: seguir viendo más características, descargar el CD de instalación de la última versión estable (Ubuntu 6.10 desktop), o incluso solicitar que te los envíen a casa gratuitamente.
Ya me contarás si la opción aconsejada te ha sido útil.
Salud.
cd original del amilo pi1536 (magl 23/04/2007 - 15:18)
Hola Eva, tengo el mismo problema que tú. Necesito una copia de ese CD original como sea. He conseguido descargarme los drivers SATA necesarios para que el ordenaror reconozca el disco duro, pero solo hay 2 formas de incorporarlos: 1.- con una unidad de discos de 3,5 con puerto USB. Al empezar a instalar el sistema operativo pulsas F6 cuando te lo indique y descargará los drivers que previmanete hemos grabado en el discket. 2.- Grabando los drivers en el mismo cd que el sistema operativo (se puede hacer con algunos programas, p.e:nLite). En el 1º caso necesito una disquetera para estos discos, que no tengo. El segundo caso: no consegúí que funcionara.
Tendré que descartar avería de mi disco duro WD1200… (es el que trae el amilo pi1536). Por si acaso he encargato otro.
Por favor, si encuentras ese cd o alquien que lo tenga, contacta conmigo. (veterheliomar@yahoo.es)
Miguel Ángel
Debian Lenny ha conquistado un portáil Toshiba Satellite A100-99 (lenny 25/04/2007 - 01:14)
La instalación de Debian te deja un sistema bastante usable. En concreto a mi me reconoció todo excepto la Intel Corporation PRO/Wireless 3945ABG Network Connection…pero con un simple apt install …. instalé los módulos, el firmware y el demonio (como tu bien explicas en tu artículo) y asunto arreglado :)
Ejecutando un simple iwconfig puedo saber si todo a ido sobre ruedas…y efectivamente me dice que la conexión wireless se asoma por eth2, ahora solo queda probarla… La utilidad de gnome: Network Administration Tool me reconoce los puntos de acceso inalámbricos cercanos.Simplemente queda conectarme a uno y listo.
Una pregunta Godo ¿Para cuando algo sobre Network Manager?. A ver si me convences para no utilizar la anterior herramienta…:)
Enhorabuena por tu artículo
Gracias por apostar por Debian (Godo 26/04/2007 - 20:46)
Hola.
Me alegro mucho de que hayas apostado por Debian GNU/Linux. Estoy seguro de que no te arrepentirás. No sé si ya lo habré dejado escrito por aquí alguna vez, pero yo he dado muchos tumbos entre diferentes distribuciones hasta que arribé a este puerto, me atrapa especialmente su estabilidad y la maravillosa gestión de paquetes con "apt".
Respecto a "Network Manager" he de decirte que no lo he probado demasiado, sólo cuando instalé el portátil objeto de este artículo. Yo aposté en su día por KDE, por lo que en todo caso utilizaría Knetworkmanager. No obstante, he de decirte que no me gusta ninguno, quizá por ello soy algo más "hack": lo hago a pelo.
Muchísimas gracias.
Nos seguimos leyendo. Espero ;-)
Y el microfono? (pedro 24/06/2007 - 11:04)
Muy interesante tu articulo, y explicas todo con mucha facilida. Te cuento que tengo la misma Pc-Laptop que tu y he hecho todo lo que explicas en tu pagina y solo tengo ahora un problema y seguro que tambien muchos lo tendran y se trata del microfono. No me funciona desde hace meses. Tendras algúna idea del porque. Te funcionan a tí el microfono. Los detalles no creo que sean necesarios ya que poseo la misma Laptop que tu. Espero que puedas ayudarme, porque tengo tiempo con ese problema y es lo unico que me mantiene a usar el xp aparte. Gracias. Linux-Debian por un mundo libre
Conquista y reconquista (elradioplanner 13/09/2007 - 09:38)
Pues sí, en un arrebato debianesco, se ha conquistado para la causa también un Toshiba Satellite del año la polka (no tengo el modelo aquí porque he cedido la maquinita). En principio no ha dado ningún problema, va todo bastante bien… y como diría un ingeniero ;-) si todo va bastante bien es que aún le faltan funcionalidades, de manera que en breve le volveré a meter mano para añadirle cosillas que lo hagan más versátil. Además será una especie de experimento, porque lo está usando mi suegro, que desde luego no es ningún experto en el tema… Y seguramente también acabarán jugando con él mis primillas… ¿Estará Debian hecho a prueba de niños?
Y, por otro lado, Debian ha logrado dos reconquistas. Ayer actualicé el que tenía en mi portátil, un Dell Inspiron 9400. Aquí me sigo peleando con el tema de la tarjeta gráfica: Con el driver "estándar" autodetectado funciona, pero desde luego no con todas sus posibilidades. Y también ayer, reinstalé el de mi PC de casa… como la seda, lo reconoció todo de forma automática, y funciona de maravilla.
¡¡¡Saludillos!!!
Sobre el sonido en el amilo (Godo 07/10/2007 - 18:55)
Hola.
Siento mucho no haberte podido responder antes. La verdad es que recuerdo que me ocurrió exactamente igual que a ti: al principio no me funcionaba el sonido. Yo comprobé que no era capaz de reproducir ni mp3 ni CD de música. El micrófono en sí no lo probé.
Como verás hablo en pasado porque el laptop no es mío sino de unos conocidos, me lo dejaron un fin de semana y… ahora no puedo hacer pruebas porque ya no lo tengo.
Lo que sí puedo aconsejarte es que pruebes a abrir el mezclador de gnome (yo utilizo kde, pero supongo que no será difícil abrir el dispositivo mezclador en gnome -si algún lector, usuario de gnome, puede ayudar a nuestro amigo que, por favor, deje un comentario tras este-, si te aparece un altavoz en la "bandeja del sistema" suele bastar con hacer click con el botón derecho sobre él y elegir "abrir dispositivo de mezclas"). Una vez abierto el mezclador comprueba que no tienes en "mute" (en silencio == desactivado) los diferentes dispositivos de sonido, ¡Y entre ellos el micrófono!
Si necesitas más ayuda, házmelo saber. Intentaré hacer todo lo que pueda.
Sigue apostando por un mundo un poco más libre.
Lo que me acabas de (pedro 21/10/2007 - 11:49)
Lo que me acabas de escribir ya lo he intentado desde hace tiempo, y la verdad el sonido me funciona a la perfección.Y con el microfono lo intente todo, ( mezclador de gnome) tambien desde el terminal el alsamixer. He instalado programas como audacity,,, pero nada,, ademas ahora probe el nuevo Ubuntu 7.10, y ahora tengo "Ext Mic y Int Mic". En Alsa Mixer tengo HDA Intel y en OSS Mixer tengo Raeltek ALC880. En debian Etch, tenia como motorola ( y en windows motorola figura en mi computadora como modem. Yo creo que en Ubuntu tengo un problema de compatibilidad entre la tarjeta de sonido y el modem. ( pero no se como solucionarlo) ademas en ubuntu desaparecio el motorola. Tengo los ultimos drivers Alsa compilados e instalados. De antemano ya me acostumbre al problema, y tengo 10 gigas para windows, que lo uso solo para conversar por Skype (que pena). Pero si conoces alguna solucion,me alegraras de verdad el día. gracias
Ejecutar un script interactivo *justo antes* de apagar KDE
02-06-2009 ACTUALIZACIÓN: Si estás utilizando KDE4 lo que sigue no te funcionará, puedes leerlo para tener una idea del objetivo perseguido, y a continuación pulsa aquí, encontrarás lo mismo explicado para KDE4. ¡Disfrútalo!
Fin de la actualización.
A continuación comparto, a modo de guía, la solución a este problema.
Y digo problema porque, aunque en un principio creí que iba a ser más fácil, al final me ha costado bastante. Si buscáis en google os daréis cuenta de lo poco documentadas que están este tipo de cosas. No obstante, gracias a la flexibilidad y al estar al descubierto los entresijos del software libre, uno acaba consiguiéndolo :-).
Utilidad: realizar una copia de seguridad de los contenidos que estimo valiosos siempre antes de apagar el ordenador (otro día hablaremos más de esto).
Objetivo: ejecutar un shell script (que en mi caso es el que realiza la copia de seguridad) justo antes de apagar el ordenador.
Restricciones: 1.- Trabajamos con el entorno KDE. 2.- Hemos de ser capaces de apagar el ordenador de forma ordenada, es decir, conservando datos entre sesiones, sin "destrozar" la forma en la que lo hace KDE. 3.- Hemos de evitar la existencia de varias opciones de "salida", obligando al usuario a ejecutar sólo una que colocaremos en un lugar fácilmente accesible (previa a esta, y de forma transparente para el usuario, se ejecutará el script). 4.- El script es interactivo: solicita una contraseña (para cifrar las comunicaciones) al usuario, cuando ésta ha sido introducida el script continúa con su trabajo… Y justo cuando finaliza se procede a apagar el sistema de forma ordenada.
Solución: Tras investigar durante algunas horas entre foros y listas de correo, he conseguido construir justo la solución que estaba buscando:
1.- He suprimido la opción "Terminar…" del menú K. Lo he hecho con la herramienta kiosktool, que permite crear diferentes perfiles de usuarios y configurar en estos las acciones permitidas/prohibidas de los mismos (útil para la administración de cibercafés, etc.). La herramienta trae un perfil: "default", que es asociado a todos los usuarios del sistema por defecto. He creado uno nuevo para asociarlo sólo a mi usuario, y en este: configurar perfil - selección del componente "General" - configurar componente - selección "Deshabilitar la opción de terminar sesión". Mi usuario ya no puede apagar el sistema como habitualmente lo hacía.
2.- He creado el siguiente script "intermedio": #!/bin/bash
####################################################
####################################################
konsole -name casa-parada -title casa-parada -e /home/godo/bin/casa-parada \ && \ dcop ksmserver ksmserver logout 1 2 0
Lo denomino "intermedio" porque es ejecutado desde un botón que he creado en el panel de KDE (kicker) mediante la opción "Añadir aplicación no-KDE". Realiza dos acciones: abre una sesión de Konsole (programa terminal del entorno KDE) dentro de la cual ejecuta el script que me interesa (el que me solicita la contraseña y hace la verdadera tarea): /home/godo/bin/casa-parada, y cuando este termina satisfactoriamente (&&), hace una llamada al administrador de sesiones de KDE:
dcop ksmserver ksmserver logout 1 2 0
Donde los tres parámetros que siguen al mensaje de "logout" son, respectivamente:
enum ShutdownConfirm { ShutdownConfirmDefault = -1, ShutdownConfirmNo = 0, ShutdownConfirmYes = 1 };
enum ShutdownType { ShutdownTypeDefault = -1, ShutdownTypeNone = 0, ShutdownTypeReboot = 1, ShutdownTypeHalt = 2 };
enum ShutdownMode { ShutdownModeDefault = -1, ShutdownModeSchedule = 0, ShutdownModeTryNow = 1, ShutdownModeForceNow = 2, ShutdownModeInteractive = 3 };
Con lo que conseguimos exactamente el mismo efecto que cuando antes utilizábamos el botón "Terminar…" del menú K, pero esta vez "terminamos" justo después de haber ejecutado nuestro script: ¡Objetivo conseguido!
Como veis, hoy he aprendido muchas cosas nuevas.
Y tengo un problema menos ;-)
GNU/Linux en cualquier parte
Hace una semana, más o menos, descubrí este proyecto: Damn Small Linux (dsl), el cual me ha parecido alucinante.
Es un sistema GNU/Linux que cabe en cualquier Memoria USB ya que tan solo ocupa 50MB. Existen varias posibilidades de uso: desde la instalación en disco duro hasta arrancar desde un Live CD o, y aquí es donde comencé a alucinar, un "Live USB".
¿Qué significa esto último? Pues que es posible llevarte un pequeño GNU/Linux instalado en un lápiz USB, y arrancar desde él cualquier ordenador moderno que lo permita (¡OJO! Esto ha de soportarlo la BIOS). Sin embargo, si aún nos parece difícil encontrar este tipo de BIOS, no pasa nada: podemos optar por instalar en el USB un sistema GNU/Linux embebido (dsl-3.0.1-embedded) que, haciendo uso del emulador de PC qemu, nos permitirá arrancar una máquina virtual GNU/Linux tanto en windows (se incluye qemu para windows en la imagen de dsl embebida que descargamos) como en GNU/Linux (se incluye también, obviamente, qemu para GNU/Linux). Así, independientemente del ordenador que nos encontremos para trabajar, siempre tendremos nuestro GNU/Linux, con nuestra configuración, nuestras aplicaciones preferidas, nuestros ficheros, etc.
Es justo lo que estaba buscando para mis clases en la universidad: necesitaba disponer de un editor lo más parecido al emacs posible, y del compilador gcc. Son las herramientas que utilizamos para intentar enseñar "Fundamentos de Programación" en lenguaje C.
Para que el sistema base de la distribución sólo ocupe 50MB, los desarrolladores han creado un repositorio de aplicaciones que se instalan como si de "plugins" o "extensiones" se tratara. Es decir, una vez arrancado el sistema GNU/Linux base, uno puede acceder al repositorio (sí, detecta nuestra tarjeta de red y hace NAT) y descargar e instalar desde allí lo que necesite. Claro está: en el repositorio encontré tanto el gcc como un editor que emula a emacs: zile.
Pero el editor "zile" no me gustó demasiado: emulaba las asociaciones de teclas pero no sangraba el código de forma automática (esto es fundamental para cumplir sin esfuerzo las "normas de estilo" y tender a elaborar un código fácil de seguir). Entonces me acordé de jed, otro editor que en su día utilicé en la ESI, que emula al emacs y que soporta muchos modos (con el correspondiente coloreado de la sintaxis, sangrado, etc.).
A continuación podéis ver la descripción que acompaña al paquete "jed" de mi inseparable Debian (Por cierto, Damn Small Linux está basada en Debian - otra razón por la que la escogí - y una vez instalada podría migrar a ésta).
Descripción del editor jed:
Package: jed Priority: optional Section: editors Installed-Size: 292 Maintainer: Debian JED Group Architecture: i386 Version: 0.99.18-6 Provides: info-browser, mail-reader, editor Depends: libc6 (>= 2.3.6-6), libgpmg1 (>= 1.19.6-1), libslang2 (>= 2.0.6-3), jed-common (>= 0.99.18-6) Filename: pool/main/j/jed/jed_0.99.18-6_i386.deb Size: 116272 MD5sum: 867a1d445d5e110df0326d48f88262cd SHA1: 77da91a7bfd006b41ca66bb1b1fdb4506d9c16f3 SHA256: 6522b7fa42e995607c4cd738c0f8d239fb7da1cc1e7fe3f47613952487e531a8 Description: editor for programmers (textmode version) Jed is a small, fast (faster startup than bash) and powerful text editor. . Completely customizable with prepared emulation modes for Emacs, CUA (similar to KDE/Gnome/Openoffice), Borland-IDE, Brief, and EDT. Extensible in the S-Lang scripting language (with a syntax resembling C). . Editing functions: folding support; rectangular cut/paste; regular expression search/replace; incremental searches; search/replace across multiple files; multiple windows; multiple buffers; ... . Tools: directory editor (dired); info (browse GNU info files); mail; rmail; ispell; shell mode; ... . Special modes (syntax highlight, indention, compile, ...) for Basic, C, C++, DCL, FORTRAN, IDL, Java, NROFF, Pascal, Perl, PHP, PostScript, Python, SH. Modes for markup languages include HTML and (La)TeX (with AUC-TeX style editing and BibTeX) . Additional tools and modes can be found in the jed-extra package. . Homepage: http://www.jedsoft.org/jed/ Tag: devel::editor, interface::text-mode, role::sw:application, use::editing, works-with::text
Sin embargo, no existía una extensión de este editor para esta "microdistribución" :-(.
En fin, me reté a mi mismo y… ¡tachán! Mi primera "semicontribución" al software libre: jed-0.99-18.tar.gz (enviada a los desarrolladores de "dsl" para que la incorporen al "área testing" del repositorio).
Ya podemos disponer de nuestro querido entorno de programación C en cualquier parte (anytime-anywhere). A falta del depurador: gdb. Todo se andará.
Espero que le encontréis alguna utilidad.
No dejo de sorprenderme. ¡Qué alegría! ;-)
Mi primer artículo
Después de tan largo periodo de silencio (diferentes tareas me han abrumado este último mes), me complace haceros partícipes de este nuevo hito conseguido: en el último número de Mundo Linux han publicado mi primer artículo en prensa técnica.
Hacía tiempo que quería participar en esta forma de divulgar el conocimiento. Siempre he sido un gran aficionado a las revistas de informática, programación, etc. Comencé hace muchos años, de niño, leyendo el "Microhobby". Aún recuerdo con gran cariño su curso de "Basic" que me ayudó a hacer mis primeros pinitos con mi ZX Spectrum de 48K y teclitas azules de goma (gracias, Reyes Magos).
Después recuerdo que leí "PC World" y "PC Actual", ambas siguen editándose hoy en día, aunque con fuerte contenido de publicidad y escasa prospección técnica (algunos análisis de productos con mucha mano del fabricante, a mi parecer). Quizá la prensa rosa del mundo de la informática.
En mi busca de contenido técnico, y de saber aplicado, me suscribí durante un par de años (comenzando con el número 1 de ambas revistas) a "Programación Actual" y "Sólo Linux", ambas editadas por "Prensa Técnica" y creo que hoy desaparecidas… De esta época, años 1998 y 1999 aproximadamente, recuerdo artículos de gran nivel técnico que atesoraban cierta profundidad y muchas ganas de querer hacer cosas nuevas.
En la actualidad pienso que se escribe demasiado. Pocas veces se aporta algo nuevo, algo distinto a lo que te informa una página de manual de una determinada herramienta, poca integración, trucos o diferentes formas de acometer una determinada tarea comparando y sopesando cuál de ellas es más apropiada para conseguir un determinado fin. Ventajas e inconvenientes.
Mi reto, pues, era conseguir ese algo distinto que he comentado en el párrafo anterior. Sólo los lectores podrán decidir si lo he conseguido.
Es mi primer artículo.
Y es mi primera portada, y mi primera editorial dedicada.
Os dejo aquí la introducción del mismo:
La idea de elaborar este artículo se me ocurrió cuando mi portátil no era capaz de conectar a Internet justo cuando arrancaba, independientemente de la localización donde se encontrara, y así comenzar a actualizar los paquetes de mi sistema operativo (Debian GNU/Linux), ir descargando el correo electrónico, los feeds RSS, etc. Uno tiene la costumbre de aprovechar el tiempo de arranque para, alejado del ordenador, ir haciendo otras cosas... y al volver, encontrárselo todo preparado para comenzar a trabajar. Para lograr dicho objetivo iremos recorriendo las siguientes materias: * Instalación de los drivers apropiados para nuestra tarjeta de red inalámbrica. * Estudio de las herramientas de configuración de red. * Breve presentación práctica de conceptos de programación en shell (scripting). Terminaremos juntándolo todo en nuestro programa de autoconfiguración y viendo algunas herramientas de monitorización del interfaz de red WiFI que nos ayuden a detectar si se ha apagado el punto de acceso, si nos hemos alejado demasiado de él, en definitiva, si hay problemas en la señal que recibimos, etc.
Muchas gracias a todos los que me habéis ayudado a desenvolverme en este mundo de las nuevas tecnologías: los que me habéis resuelto un "bug", los que me habéis enseñado una nueva herramienta, los que me ayudásteis con las X de GNU/Linux, con un nuevo lenguaje de programación… Y, especialmente, muchas gracias a los que más cerca tengo, por padecerme, y aún así, seguir animándome.
…¡corred al quiosco que se agota! :-)
Espero vuestras críticas para seguir aprendiendo.
Actualización (28/07/06): Añado este enlace a "Retroinformatica.net - ZX Spectrum", que nos permite ver aquella pequeña maravilla (vía Yogur Griego).
Actualizado el 10 de abril de 2011 A continuación os dejos el artículo en pdf.
Archivos adjuntos
Comentarios
Enhorabuena, genio! (José Ignacio 13/07/2006 - 17:43)
Enhorabuena, genio!
No sólo por conseguir una portada de revista, sino porque el artículo me parece realmente útil. Una portada debe ser muy muy muy emocionante, ¿qué se siente al saber que miles de personas leen (incluso pagando por ello) algo que tú has escrito? La verdad es que te lo mereces. No tengo ni idea de lo que sentirás cada vez que pases por un kiosko y la veas, pero seguro que algo bueno. Y dentro de poco este blog será una herramienta tan práctica y consultada como el mismísimo google, ya verás…
Ahora que ya eres famoso, ¿seguirás juntándote con nosotros? ;)
Un abrazo, José Ignacio.
PD: Esta noche no llegues tarde :P
Dime cuánto tiempo queda, qué hago, aparte del vago, finjo estar de acuerdo, es un milagro que siga estando cuerdo
Gracias, y sí (Godo 14/07/2006 - 22:29)
Hola José Ignacio.
Siempre presto y veloz, muchas gracias por tus comentarios.
Respecto a lo de genio: si lo fuera no trabajaría tanto, por lo que creo que no lo soy.
Respecto a lo que siento cuando paso por un quiosco y veo la portada: sonrío, y pienso que un pequeño cachito de mi está siendo útil a alguien, en algún lugar… es como si me expandiera. Es agradable.
Respecto a lo de ser famoso :-o y al cambio de juntas ;-), a las pruebas me remito: no cambiaré mientras me sigáis invitando a buena música, noches de estrellas y johnniecola.
Y sí, lo siento, volví a llegar tarde aunque lo suficientemente temprano para no perderme nada (ni el comienzo) de la función.
Lo dicho, muchas gracias y espero que lo disfrutes…
Felicidades (vecinos 16/07/2006 - 20:21)
FELICIDADES POR ESTA GRAN SEMANA QUE HAS TENIDO. Aunque ya lo hemos hecho personalmente, también queremos que quede constancia en tu bitácora (para que veas que la utilizamos más que antes).
Bueno, lo dicho, sigue así y llegaras lejos.
Un fuerte abrazo de tu vecino y un gran beso de tu vecina.
Orgullosa :-) (Pili Cantautora 17/07/2006 - 08:26)
Enhorabuena Godito! tampoco quería yo dejar escapar la oportunidad de felicitarte por tu reciente publicación en éste nuestro rinconcito… No sabes lo orgullosa que estoy de tí ;) me alegro muchísimo de que puedas ver los frutos de tu trabajo, del que te llena de verdad… Como ya te he comentado recientemente, cada vez estoy más picada con el tema linux. En breve voy a tener portátil nuevo (al final me he lanzao :)) y voy a hacerme una partición con linux para así poder cacharrear. Ya te mantendré informado de mis avances y castañazos… un beso muy fuerte!
Felicidades : ) (Adrián 17/07/2006 - 13:26)
Gran artículo seguro.
Yo estuve enganchado al tema del 'estudio' del WiFi antes de los exámenes y quise hacerme un script de estos. Lo dejé aparcado porque no conseguía automatizar la búsqueda del gateway para los AP abiertos pero sin servicio DHCP - ¿haces un artículo de ampliación? ; ) Ahora me he comprado un router FON por 5 euros, si me da por flashearlo podré hacer pruebas legales X) Así puedo depurar desde dos lados.
Hablando de depurar, ahora me ha dado por el cracking… Ya que el año que viene me toca aprender ensamblador (aunque sea de Motorola) pues aprovecho. He redescubierto GDB, ¡qué grande!
Lo dicho, a comprarse la revista.
Ánimo, espero ver pronto uno de tus artículos en SET o en el phrack (decían que iban a volver con nueva política).
Gracias por las felicitaciones (Godo 28/07/2006 - 19:59)
Con esta respuesta quiero dar las gracias a todos los que me habéis felicitado por la publicación de mi primer artículo. Perdonad que no lo haya hecho de inmediato respondiendo a cada uno de vuestros comentarios… intento así no resultar pesado con las respuestas.
A mis vecinos: Muchas gracias por vuestra paciencia y dedicación. No sé si llegaré lejos pero, al menos, sigo caminando. Creo que esto es lo importante. Encantado de veros más frecuentemente por aquí, espero que os guste, saquéis algunas conclusiones útiles… y os quedéis.
A Pili Cantautora: Gracias por tus felicitaciones (por tus descubrimientos "concertiles", por estar por aquí…) Y sí, nunca es tarde para comenzar con GNU/Linux (me ha costado… pero al final no has podido resistirte ;-) ).
A Adrian: ¿Cómo sabías que no he cubierto en mi artículo "automatizar la búsqueda del gateway para los AP abiertos pero sin servicio DHCP - ¿haces un artículo de ampliación? ; )", si aún no habías comprado la revista? ;-) Espero que hayas podido conseguirla, me comentan algunos amigos que no la pueden encontrar… Respecto a lo de publicar en SET (no la conozco, ¿nos dejas las URL?) o phrack creo que no lo conseguiré pues sus contenidos están más relacionados con "crackear" (no "hackear") y nunca he sido muy devoto de esas técnicas. Sin embargo, sí que he seguido estas publicaciones algunas veces, buscando información de seguridad que me ha sido útil en mi trabajo… Respecto a conseguir un script que haga lo que quieres, creo que la única forma sería haciendo capturas de tráfico, analizarlo y obtener una conclusión sobre el default gateway… Tampoco entiendo que sentido tiene dejar un AP en estas condiciones: ni cerrado ni abierto ¿? Espero seguir contando contigo por aquí, Adrián. Por cierto ¿tú tienes blog?
Lo dicho, muchas gracias a todos.
Microsoft, el IRPF ... y ¡GNU/Linux?
Esta semana he vivido un acontecimiento que, mezclado con algunos de los artículos que estaba leyendo sobre: males y remedios de la antigua "sociedad de la información" (y actual "sociedad del conocimiento") en España, me han hecho pensar y escribir este artículo de denuncia.
Una calurosa tarde me llama un amigo por teléfono para comentarme lo que le había ocurrido en su Windows XP: "…me aparecen extraños cartelitos diciéndome que la copia no es original, acompañados de temporizadores que evitan que los cierre hasta que no expiran, y me invitan a poner remedio a esta situación "legalizando" el producto. ¡Alucinante! ¿no?". Bueno, supongo que habrá tantos alucinados en este impaís como copias ilegales. El porcentaje ha de estar rondando el 100%.
No había visto nada de eso. Uno lleva trabajando en Debian GNU/Linux alrededor de 4 años a tiempo completo, y casi 10 de forma esporádica (en casa, fundamentalmente). Pero sigue la pista a lo que va ocurriendo en el mundo Windows obligado por amigos y clientes. No dudé en hacer un par de búsquedas en google, y no tardé en encontrar la descripción del problema y su solución (arrancas en "modo a prueba de fallos", abres una consola "inicio-ejecutar-cmd", te vas al directorio "c:\windows\system32" y eliminas los archivos "WgaTray.exe y WgaLogon.dll". Por miedo a acciones legales aclaro: no estoy desvelando como se piratea un producto sino como evitar que aparezcan unos molestos cartelitos. Evidentemente existen otras soluciones: trabajar con productos legales). En fin, una tontería más para ir aclimatando el entorno: Microsoft sabe como evitar, creo, que se pirateen sus copias. Al menos saben hacer cosas que sean más sofisticadas que lo que han hecho, pero, ¿hasta donde está interesada en ello? Porque no me puedo creer que la solución a un problema tan grave sea tan sencilla, y no me puedo creer que hayan creído que nunca se conocería.
Aprovechando la situación, intento crear iglesia y le suelto a mi amigo:
- Ya tienes un motivo más para cambiarte a Debian, ¿me paso por tu casa, me invitas a un cerveza, y te lo voy instalando?
- ¿Y cuando termines con la instalación de Debian, me instalas el programa "PADRE", y me echas una mano a hacer la declaración?
- pues… va a ser que no.
Nuestra querida Agencia Tributaria, que ha mejorado mucho en los últimos años, aún sigue sin poner a disposición de los ciudadanos el programa de ayuda sobre el sistema operativo GNU/Linux. ¿Cuánto tiempo más van a seguir así? ¿Existe algún movimiento de presión en este sentido? ¿Algún grupo parlamentario a "instado al gobierno" a emprender el camino, o ni siquiera se lo están planteando?
Y cerrando la disertación: de los miles de millones destinados a "disminuir la brecha digital" que nos separa de los paises más desarrollados, ¿cuántos harían falta para desarrollar el programa "PADRE" para S.O. GNU/Linux? ¿Es ético ayudar a los ciudadanos obligándoles a adquirir un producto que enriquece a una empresa privada cuando existen iniciativas libres (y gratis) que servirían para lo mismo? ¿No es contradictorio tanto apoyo de gobiernos autonómicos a iniciativas de software libre con este tipo de situaciones?
Cualquier información al respecto será bienvenida. Y si conocéis alguna iniciativa en marcha (recogida de firmas, etc.), indicádmela, por favor.
Comentarios
Cliente Citrix para hacer la declaración en Linux (drimakus 12/06/2006 - 12:43)
Buenas, Maestro!
La agencia tributaria podría alegar en su defensa que dispone de una herramienta para que los usuarios de Linux puedan realizar la declaración. Es un servidor de aplicaciones Citrix Metaframe de esos, o algo así, ¿no?
Lo he estado probando y la verdad es que con las líneas ADSL que hay hoy en día, no va del todo mal. Pero no deja de ser un trato discriminatorio, ¿qué les cuesta portar el programa PADRE a Linux? O por lo menos que la versión Citrix permita importar los datos fiscales, algo que si es posible con el programa PADRE.
NO A LA DISCRIMINACIÓN POR RAZÓN DE SISTEMA OPERATIVO NI DE NAVEGADOR. VIVA DEBIAN, VIVA FIREFOX!!
Hablando de firefox, ¿habéis visto la cantidad de motores de búsqueda que se pueden configurar en el campo de búsqueda? Me parece que en la versión española viene el buscón del DRAE por defecto (aunque el que aparece seleccionado es el de Google). Hay unos diccionarios de inglés muy buenos de Cambridge Dictionary para ver las definiciones de las palabras inglesas en inglés. Yo he empezado a utilizar el Cambridge Dictionary Advanced.
Para el que no lo sepa, en el campo de búsqueda de Firefox -que aparece arriba a la derecha- viene seleccionado Google por defecto. Si pinchamos en el icono de Google nos saldrá un menú en el que podemos elegir dónde queremos realizar la búsqueda o si queremos añadir algún buscador -que enlaza con una página que nos permite ir al sitio "mozdev.org - mycroft":
Tomado de la página "http://mycroft.mozdev.org":
"What is Mycroft? What is a Search plugin?
The Mycroft project provides a collection of search plugins (7841 at the last count) for browsers using Apple's Sherlock standard including [Firefox Icon] Mozilla Firefox and [Mozilla Icon] Mozilla Suite. The name Mycroft refers to Mycroft Holmes, the brother of Sherlock Holmes in the novels of Arthur Conan Doyle - Mycroft plugins are based on the Sherlock standard.
A search plugin allows you to access a search engine right from your browser. In Mozilla Firefox, you use the search box on the toolbar. In Mozilla (Seamonkey) you can access plugins via the Sidebar or the Location Bar."
Como no había bastante, parió la abuela (Godo 12/06/2006 - 22:16)
Jose, ¿no crees tú que si ya da miedo instalarse GNU/Linux da mucho más utilizar un cliente Citrix para…? Yo es lo primero que escucho, ¿dónde está disponible? ¿existe un apt-get…? ¿descargas algo de la aeat y te lo instalas (si los instalables para Win. ya dan problemas con los componentes que necesita además cada versión del S.O., no me quiero imaginar lo que puede suponer la instalación del cliente Citrix)? Y sí, si luego no te permite incorporar los datos fiscales sigue siendo "medianamente" válido.
Esperemos que alguna asociación comience alguna campaña de presión… el primero que se entere que informe, por favor. Se me ocurre tratar el tema con la gente de hispalinux (soy socio desde hace tiempo), a ver que pasa.
Respecto a lo de los motores de búsqueda del firefox, muchas gracias por informar. Yo ya había agregado unos pocos, el que más utilizo es el de la wikipedia y el del diccionario inglés<->español, wordreference.
Nos leemos, amigo. Gracias por divulgar tu conocimiento.
Programas de ayuda en línea de la AEAT (drimakus 14/06/2006 - 09:11)
Por si algún linuxero quiere probar a hacer la declaración del IRPF por medio del cliente Citrix:
En la página de la Agencia Tributaria, www.aeat.es, podréis ver en el menú de la izquierda la opción "Descarga Programas". Esta opción nos lleva a un nuevo menú en el que aparece como primera alternativa "Programas de ayuda en línea", que nos presenta un tercer menú cuyo primer enlace es "Portal de Programas de Ayuda".
(Para dar el siguiente paso desde Windows con Firefox, he tenido que utilizar la extensión "User Agent Switcher" y configurar una identificación cuya plataforma no fuera Win32: mi Firefox se ha identificado como 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4)' y he conseguido acceder al Portal de Programas de Ayuda).
Este "Portal" contiene instrucciones para conseguir hacer funcionar la aplicación Citrix. El punto 3 dispone de un enlace para descargar el plugin del cliente Citrix. No obstante, conviene leer los problemas conocidos: al menos a mí me ha ocurrido el problema descrito en el punto 4.2 y he instalado el cliente que se puede descargar desde allí.
Conviene instalar el cliente Citrix en el sitio definido por defecto. Si no se debe definir la variable de entorno ICAROOT. Comprobad una vez instalado si vuestro navegador "ve" el plugin "Citrix ICA Client" o algo "asín".
Quizá probando esta aplicación podremos hacernos una idea de cuánto esfuerzo le ha dedicado la Agencia: según ese esfuerzo estarán más o menos dispuestos a cambiar de estrategia. Y según el éxito que esté teniendo. ¿Cuánta gente la usa?
Saludos.
Esto piensan en el Ministerio de Fomento (Adrián 20/06/2006 - 19:30)
http://weblog.topopardo.com/others/respuesta_montilla_quoteada.pdf
Sé que debería referenciar el sitio, pero no recuerdo la página principal. Es de un tipo que le escribió al Ministro de Fomento y eso le han contestado (está comentado por él). La verdad es que es bastante FUD la respuesta que le dan. Creo que lo vi en barrapunto, así que lo mismo ya lo has leído.
Yo escribí al Congreso por el motivo de las videoconsolas con software privativo que les habían puesto a los señores diputados, pero ni puto caso.
También le escribí al señor Chávez (señor Presidente de la Junta de Andalucía) porque no tuve testosterona suficiente para hacer la preinscripción por Internet bajo GNU/Linux, ni con Konqueror, ni con Firefox, ni mucho menos con lynx ni w3m. Les decía que tanto bombo como se habían dado copiando la idea extremeña y sacando Guadalinex, para luego tener que hacer la preinscripción con IE sí o sí, y que si hay estándares ES PARA ALGO. Me contestó un señor de la Consejería de Innovación dándome las gracias por preocuparme e informar de ello, y que intentarían arreglarlo para este año. Ya veré si es verdad. Creo que también me soltó el típico rollo de "Qué ha hecho mi gobierno para con el software libre/open source". Se ve que en la Junta son más considerados.
Debería estar estudiando Cálculo, así que ya me despido.
¡Saludos!
Sí, Adrián, tienes razón… (Godo 23/06/2006 - 15:13)
…en tus comentarios y en tus acciones. Creo que Internet facilita, además de la pedofilia (el 99% de las referencias a LA RED en los noticiarios son en sentido negativo :-( ), el contacto directo con los estamentos de poder político, entre otros. Y creo que ese contacto puede, y debería, ser utilizado para lograr que las acciones políticas se acercaran, y se dedicaran más a satisfacer las necesidades REALES de la gente. Creo que si todos mostráramos nuestras preocupaciones en los buzones de correo de los distintos despachos oficiales, PERO SOBRE TODO SI CONSIGUIÉRAMOS ORGANIZARNOS y trasladar, de vez en cuando, alguna protesta desde LA RED A LA CALLE, otro tipo de sociedad sería posible.
Internet puede ser un medio, bastante potente, para aunar voluntades.
Pero igualmente pienso que no es lo suficientemente fuerte para librar la lucha, al menos por ahora. Quizá algún día la gente con responsabilidades lea sus mensajes, discrimine, y se ponga en marcha para lograr alcanzar alguno de los objetivos planteados.
¡Movilización!
Programando en C con KNOPPIX
Aquí encontraréis un Live CD basado en Debian GNU/Linux que os puede ayudar a dar vuestros primeros pasos en este sistema operativo (GNU/Linux) y en esta excelente distribución (Debian).
Un Live CD es un sistema operativo instalado en un CD, desde el cual podemos arrancar nuestra máquina (seleccionando la opción apropiada en la BIOS, muchas veces viene por defecto) sin tener que realizar ninguna partición/instalación en nuestro disco duro. Así evitamos perder la información que este alberga si ocurre algún fallo, si somos inexpertos en materia de particiones/instalaciones, etc. La desventaja: el rendimiento es muy bajo, pero aún se puede trabajar.
Conseguimos así una herramienta muy útil para reconocer nuestro hardware y estudiar la compatibilidad de éste con GNU/Linux, para realizar los primeros pasos en un entorno de programación y, si conseguimos dominarlo (¡cuidado!), podemos incluso hacer particiones (qtparted) y copias de seguridad de las mismas (partimage), instalarlo en el disco duro, etc.
Podéis descargar el CD desde aquí (versión 4.0.2 disponible a fecha 07/04/06), y podéis encontrar una lista de mirrors aquí desde donde descargar las últimas versiones del CD y del DVD. ¡OJO! Este archivo ha de ser "tostado" en el CD (o DVD según el caso) utilizando la opción de "grabar imagen" de los programas de grabación. No sirve si lo copiamos tal y como está al CD (si no entendéis lo que estoy diciendo aquí, pedirle ayuda a algún amigo).
En este otro artículo, en la primera alternativa comentada, destacaba el uso de las siguientes herramientas para lograr un entorno de programación C en GNU/Linux: emacs, gcc, gdb y make. Todas ellas están incluidas en esta distribución, además incluye las páginas de manual de las distintas funciones de librería de C, por ejemplo: man fgets.
En fin, espero que os ayude a descubrir un nuevo modo de diversión y aprendizaje.
Libertad y conocimiento.
Actualización [11-10-2006]: Hay una nueva versión del Live CD de Knoppix disponible. Es la 5.0.1, y puede ser descargada desde aquí. ¡OJO! En esta versión no han incluido al editor emacs, si a zile, que lo emula (para mi gusto demasiado básico pues en la configuración estándar ni colorea ni "sangra" bien el código). ¿Por qué no habrán incluido a jed que si lo hace? Os recomiendo que utilicéis la versión anterior (4.0.2) descrita más arriba, y sólo si os da problemas con vuestro hardware lo intentéis con esta última (5.0.1). Si tenemos un DVD en lugar de un CD podemos utilizar esta versión arrancable desde el DVD, donde sí se incluye a nuestro querido editor emacs.
Leyendo particiones GNU/Linux desde Windows
Como bien dice el autor de esta pequeña pero útil herramienta en su página web, ¿a quién no le ha ocurrido que trabajando en Windows (por las desagradables ;-) circunstancias que sean) ha necesitado un par de ficheros que tenía en una partición de GNU/Linux?
Todos aquellos que trabajamos casi el 100% del tiempo en GNU/Linux, y rara vez en Windows, es más probable que lleguemos a necesitarla, pues todo nuestro trabajo suele estar en las particiones controladas por el primero.
Quizá el mejor truco para compartir información entre Windows y GNU/Linux es hacerse una partición "fat" (os aconsejo "fat32" pues es la más evolucionada de la familia) cuyo soporte de lectura/escritura es perfecto en ambos sistemas operativos, e ir dejando ahí aquellos datos que nos interesan. ¡OJO! No estoy diciendo que instaléis en ella ninguno de los Sistemas Operativos, simplemente es un trozo de disco vacío donde estarán únicamente nuestros datos que queremos tener disponibles siempre.
Aprovecho para avisar de que es arriesgado desde Windows escribir en particiones GNU/Linux, y desde GNU/Linux escribir en particiones NTFS de Windows (las que por defecto crean los NT, 2000 y XP). Si buscáis en google encontraréis herramientas para esto, pero yo aún no me fío y no he asumido el riesgo de utilizarlas. ¿Alguien se anima a comentar sus experiencias? :-)
En fin, echad un vistazo a esta herramienta que sólo permite leer ficheros desde particiones ext2 y ext3: Explore2fs. Yo la acabo de utilizar para "exportar" (así es como llama a la opción que incluye) un pequeño fichero de casi 800MB y ha ido de maravilla.
Por cierto, si utilizáis "ReiserFS" como tipo de partición en vuestro GNU/Linux, en lugar del tipo "ext" también existen herramientas que os permiten leerla: al final de la página anterior el autor de Explore2fs nos anuncia varias.
Sobreviviendo.
Acelerando nuestro firefox
Hace tiempo, un mes y medio más o menos, leí esto. Y justo tras finalizar de leerlo configuré mi Firefox para que volara… y voló.
Ahora lo comparto con todos vosotros, y no lo he hecho antes porque creía que el truco no podía estar exento de cierta inestabilidad (que hiciera apagarse el navegador, etc.). Tras este periodo de pruebas no ha ocurrido nada, así que a disfrutar.
Método para acelerar a nuestro querido amigo:
0.- Pulsa ctrl-t y abre una nueva pestaña.
1.- Teclea en la barra de direcciones: about:config (pulsa intro)
2.- Aparece una tabla con cuatro columnas: Preference Name, Status, Type y Value. En la primera de ellas busca los siguientes nombres:
- network.http.pipelining (en la columna "value" aparecerá "false", pulsa dos veces con el ratón sobre él para que cambie a "true")
- network.http.proxy.pipelining (haz lo mismo)
- network.http.pipelining.maxrequests (en la columna "value" aparecerá "4", pulsa dos veces y pon "30")
3.- Ahora viene algo más difícil, vamos a añadir una línea a la tabla de valores. En un lugar en blanco, en el fondo de la tabla, alejado de cualquier "letra existente", pulsa con el botón derecho del ratón, del menú desplegable selecciona "New-> Integer". En el cuadro de diálogo que te solicita un "Name" pon nglayout.initialpaint.delay (pulsa intro), aparecerá un nuevo cuatro que te solicita un "Value", pon 0 (cero) (pulsa intro). Observa que aparece una nueva fila con lo que acabas de introducir.
4.- Cierra la pestaña. Apaga el navegador… y vuélvelo a abrir para que coja los cambios.
5.- VUEEEEEEEEEELA vuela vuela vuela
Comentarios
Dicho y hecho (jibseijo 09/03/2006 - 17:19)
Qué chulada, esto funciona de verdad!! Creo que es lo que por fin hará que deje de usar Explorer de una vez por todas, que cuesta tanto dejarlo después de estar tan acostumbrado…
Muy útil el consejo, Godo :)
Dime cuánto tiempo queda, qué hago, aparte del vago, finjo estar de acuerdo, es un milagro que siga estando cuerdo
No imaginaba… (Godo 11/03/2006 - 22:30)
…que costaba más dejar el "explorer" que, a algunos, el tabaco. ;-)
Y no imaginaba que tú aún seguías utilizándolo. Un amante de la libertad y de lo alternativo, ¿cómo sobrevive sin ser un aliado de este "zorro de fuego"?
Ahora tendré que descubrir que aún sigues con Windows… y tú ahí, tan pancho, escuchando al Joaqui :-D
En fin… me alegro de que te haya gustado.
¿Soy un hacker?
Uno tiene la costumbre, y el entrenamiento, de intentar perderse los menos detalles posibles. El emblema que preside esta página: hermann-uwe, la cual visito desde hace mucho tiempo, me intrigaba. Cuanto más tiempo transcurría sin saber su verdadero significado mayor era la intriga. Hoy he podido leer a placer…
Este emblema es el elegido por la comunidad hacker para, entre otras cosas, fortalecer las señas de identidad de la misma. Es curioso el uso, y la justificación de éste, propuesto por su creador, Eric Steven Raymond.
¿Quién puede usarlo? Según el autor del mismo, aquel que se sienta identificado por la cultura hacker, aunque no sea uno de ellos.
¿Y cuál es la cultura hacker? Para responder a esta pregunta tenía que leerme el pequeño documento en el que este mismo autor intenta explicar: "Como llegar a ser un hacker".
La conclusión que he obtenido es la siguiente: ser un hacker es la unión de dos cosas, la primera es mantener una determinada actitud ante la vida, la segunda consiste en desarrollar una serie de habilidades. Tanto más hacker se es cuanto más avancemos en cada una de ellas, y cuanto mejor sea la mezcla de ambas en nosotros.
¿En qué consiste el desarrollo de la "actitud vital"? 1.- Los hackers creen en la libertad y en la ayuda mutua. Los hacker resuelven problemas y crean soluciones útiles para la humanidad (entre ellas lo que hoy todo el mundo conoce como Internet). 2.- Los hackers piensan que Ninguno de estos problemas a los que se enfrentan debería resolverse dos veces partiendo desde cero, para lo cual es imprescindible la comunicación y el compartir la "sabiduría". Esto no quiere decir que no existan mejores soluciones que otras, precisamente para utilizar esta palabra es necesario poder conocer y comparar. 3.- El aburrimiento y el trabajo tedioso (repetitivo) son malos. Luchar contra esto, automatizando todo lo que se pueda esas "tediosas" tareas, es una de las principales metas del hacker. 4.- El hacker AMA LA LIBERTAD, por ello lucha contra las actitudes autoritarias. Esto no significa que esté contra toda autoridad y contra todo sistema. 5.- El hacker cree en el desarrollo de habilidades (en el documento les llaman "competences"==competencias), en el aprendizaje, fundamentándose éste en la inteligencia, práctica, dedicación y trabajo duro.
¿Cuáles son las habilidades a desarrollar? 1.- Aprender a programar en varios lenguajes ("It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP"). 2.- Conseguir un sistema operativo "tipo" UNIX y aprender a usarlo (evidentemente, en el amplio sentido de la palabra usarlo: ser capaz de utilizar toda su funcionalidad). 3.- Comprender los fundamentos de la WEB y saber crearla. Propone el conocimiento de las especificaciones actuales de HTML y, más concretamente, XHTML. Incluso apunta que el inicio del "no programador" a través de uno de estos lenguajes podría ser conveniente: son más fáciles de aprender y ayudan a "ir creándose" una forma de pensar. 4.- Conseguir un buen nivel de inglés. No por ser el idioma del imperio (que lo es) sino porque los mayores desarrollos técnicos, y por tanto la mayor cantidad de literatura, se han venido produciendo en ese idioma (una curiosidad que apunta para respaldar este punto es el caso de Linus, parece ser que comentó el código fuente del kernel que creó en su día ya en inglés… así podría compartirlo con más gente).
Bien, pues todo este conjunto de actitud y habilidad es condición necesaria pero no suficiente: sólo se es hacker cuando los demás te atribuyen esa condición.
Uno, a esta edad, se conoce lo suficientemente bien para saber que no es un hacker y que, muy probablemente, nunca llegará a serlo. Pero igualmente, uno reconoce encontrar en ese pequeño cachito que ha ido descubriendo de sí mismo ciertas coincidencias con, al menos, la "actitud vital" del hacker.
Por todo esto, a partir de hoy, habrá un "guiño" a esa "manera de vivir" en la cabecera de este sitio web.
Para profundizar en esta historia os recomiendo seguir los enlaces existentes en toda la página, leer y pensar. Yo me quedo pendiente de seguir investigando si todo esto tiene algo que ver con el humanismo. A priori se me antoja una evolución del mismo.
Salud, y disfrutad de vuestros sueños.
Comentarios
Humanismo (Juan Fernando 10/02/2006 - 22:31)
(Enviado por Juan Fernando (no verificado) el Dom, 01/01/2006 - 20:01)
Mucho habría que decir sobre lo que es humanismo. Además del movimiento humanista renacentista (sentido, podemos decir, restringido), podemos hablar del humanismo en nuestros días (sentido amplio de humanismo), para lo cual se me ocurren tres ineludibles referencias: un texto de Heidegger sobre el asunto (Carta sobre el humanismo), otro de Sartre (El existencialismo es un humanismo)y, recientemente, la réplica a Heidegger de un polémico filósofo alemán llamado Sloterdijk con su conferencia titulada Normas para un parque humano. Prometo pensar un poco sobre el asunto y su relación con los hackers, aunque no me comprometo a plazo temporal alguno. Saludos.
Con ansias espero (Godo 10/02/2006 - 22:35)
(Enviado por Godo el Lun, 02/01/2006 - 20:29)
…"Prometo pensar un poco sobre el asunto y su relación con los hackers, aunque no me comprometo a plazo temporal alguno".
Sabes que, como he indicado en el título, con ansias espero dicha respuesta. Y, evidentemente, espero sin límite alguno. ;-)
Muchas gracias por tus palabras. Espero que, cuando vaya madurando todos esos temas que mantengo abiertos, podamos seguir compartiendo interminables conversaciones. Las nuestras.
Un abrazo.
Entornos de programación en C (con licencia GNU/GPL)
Se me ha ocurrido tratar este tema mientras pensaba en como ayudar a aquellas personas que no disponen de suficientes destrezas, ni de suficientes ganas de experimentar ;-) con un entorno GNU/Linux, y sin embargo se ven obligadas (por sus estudios, principalmente) a programar en lenguaje C. Como su título indica este artículo habla de los medios necesarios para crear un entorno de programación C. Voy a plantear dos alternativas, recomendándoos encarecidamente que os decidáis por la primera de ellas, aunque os suponga un mayor esfuerzo al comienzo y una mayor dedicación de tiempo. Si no disponéis de este tiempo necesario, no dejéis de leer, en la segunda alternativa encontraréis una posible vía rápida. Las alternativas se distinguen por el sistema operativo que utilizamos para trabajar con nuestra máquina: la primera de ellas se plantea en un sistema GNU/Linux (os sugiero debian, por supuesto }:-)), la segunda se plantea en un sistema Windows. AMBAS ALTERNATIVAS UTILIZAN SOFTWARE LIBRE. La primera alternativa que os recomiendo (y antes he añadido "encarecidamente" porque se puede disponer de ella en español, se puede utilizar desde un sistema instalado en el disco duro o desde un live-cd, es un entorno fiable y robusto, existen miles de tutoriales en internet, etc.), como ya se ha dicho para un entorno GNU/Linux, es la constituida por:
1.- El editor emacs para crear nuestro código fuente. En su "mode-c" este editor nos ayudará a detectar errores coloreando la sintaxis de nuestro código e "identando" el mismo, de forma que nos resulte más fácil de seguir. 2.- El compilador gcc, con las opciones "-Wall" para generar tantos avisos (warnings) como sea posible (sí, ya se que es posible generar muchos más, pero con estos creo que es suficiente para obtener un código bastante bueno) y con la opción "-g" para generar información de depuración (ver siguiente punto). 3.- El depurador gdb, el cual nos ayudará a rastrear en nuestro "ejecutable" resultados, acciones, que no hemos previsto. 4.- La herramienta make, que nos servirá para generar "archivos de compilación" de nuestros "proyectos". Útil para aquellos trabajos que están compuestos por más de un fichero de código fuente, ya que nos permite compilaciones "condicionadas" a los cambios producidos en dichos ficheros, compilando sólo los necesarios y ahorrándonos tiempo.
En este artículo no pretendo enseñar el uso de cada una de estas herramientas, sólo darlas a conocer. Apuntarlas para que todos aquellos que estáis empezando en esto de la programación en C las conozcáis, y emprendáis el largo camino hacia su dominio. Para obtener más información sobre este entorno lee esto. La segunda alternativa que existe, utilizando software libre pero esta vez en un sistema Windows, es instalar el entorno de desarrollo: Dev-C++. Este entorno incorpora ya un editor de código fuente (que colorea la sintaxis pero no la "identa" de forma inteligente como hace emacs), el compilador "gcc" en su versión para windows (evidentemente), el compilador "g++" por si queremos iniciarnos en C++, EL DEPURADOR "gdb", la herramienta "make"… ¡bastante completo! La desventaja es que está en inglés (aunque supongo que es fácil entender los cuatro comandos necesarios para comenzar). Para disponer de él has de seguir los siguientes pasos: 1.- Descargar el .zip desde aquí. Para comprobar la última versión disponible, visitar este enlace. ¡OJO! no os recomiendo instalar versiones Beta, estas versiones están en desarrollo y pueden dar problemas. 2.- Descomprimir el .zip descargado en una carpeta. Tras la instalación esta carpeta y el archivo .zip pueden ser eliminados de nuestro sistema. 3.- En la carpeta donde hemos descomprimido el .zip hemos de encontrar el archivo "setup.exe" y ejecutarlo (doble click). 4.- El primer cuadro de diálogo que nos aparece es el de la licencia. En él podremos comprobar que dicha licencia es la GNU GPL (versión 2 - junio 1991). ¡Es software libre! De hecho el código fuente está disponible en su página web. Aceptamos el acuerdo pulsando "Yes". 5.- A continuación nos aparecen las opciones de instalación. Podemos seguir aceptando las que nos propone por defecto: "tipical", y directorio (o carpeta) de instalación: "C:\Dev-C++". Pulsamos "Next". 6.- Comienza el proceso de instalación. Observaremos una barra de progreso que se va completando hasta llegar al 100%. 7.- El último cuadro de diálogo del proceso de instalación nos permite elegir si queremos leer el archivo "readme.txt" y si queremos "ejecutar el programa por primera vez"… seleccionamos lo que nos apetezca y pulsamos "Finish". 8.- Una vez que tenemos el programa instalado, para ejecutarlo basta con ir al menú "inicio/programas/Dev-C++/" y seleccionar el icono que muestra un escritorio con un flexo. 9.- Cuando se ejecuta por primera vez nos muestra una ventanita con las asociaciones de archivos que va a realizar en el sistema (a partir de ese momento abriremos con él todos los archivos que terminen en: .dev, .c, .cpp, .h, .hpp. Y si nos atrevemos con la programación gráfica nos propone hacer uso de la librería gráfica "gnome". En fin, aceptamos todo esto pulsando la tecla "OK". Nos vuelve a avisar de que va a hacer cambios en el "registro de windows". De nuevo pulsamos "OK". 10.- Si todo ha ido bien ya tenemos nuestro entorno de desarrollo "C" y "C++" funcionando. 11.- Un ajuste necesario: para disponer de todos los mensajes de "aviso" (warnings) del compilador vamos a modificar la siguiente opción: menú "options/compiler options", y se nos abrirá una ventanita con opciones. En la primera pestaña, "Directories", seleccionamos el cuadrito: "add the following commands when calling compiler:", y agregamos en el rectángulo blanco de debajo (formulario) la siguiente opción "-Wall" (sin las comillas). En la última pestaña, "Linker", seleccionamos "Generate debugging information", para que podamos depurar nuestros programas con "gdb". 12.- El entorno de desarrollo tiene 3 grandes zonas:
![]()
a) El menú seguido por dos filas de iconos (accesos rápidos a algunas funciones, como por ejemplo: el aspa verde situada en el centro, aproximadamente, nos permite compilar, etc.) b) La zona donde escribimos el código fuente (el editor), situada en la parte central de la pantalla. c) La zona de mensajes, situada en la parte inferior de la pantalla, donde aparecen 4 pestañas. La más importante para los principiantes es la correspondiente al "compiler". En ella aparecerán los "errores" y los "warnings" del proceso de compilación. Situándonos sobre cada uno de ellos con el ratón, y haciendo doble click, se iluminará en el código fuente (editor, en parte central) la línea que ha provocado dicho error o "warning", conduciéndonos así hacia su solución.
13.- Para iniciar la escritura de un fichero de código fuente ".c": menú "file/new source file" ó pulsando las teclas "Ctrl-U". 14.- Eliminar los "#include" que no necesitamos: sobre todo el #include "iostream.h". Si programamos en lenguaje C, grabaremos nuestros ficheros con la extensión ".c". Esto hará que el compilador seleccionado a la hora de compilar sea el "gcc" y no el "g++" (este último se utiliza para ficheros guardados con extensión ".cpp"). Bien, si estamos programando en Lenguaje C y dejamos el #include "iostream.h" tendremos MUCHOS ERRORES DE COMPILACIÓN. CONSEJO: incluir siempre sólo los #include que necesitemos, y guardar los ficheros creados con extensión ".c" (sin las comillas). En fin, chicos, espero que esto os sea útil. Salud, y fuerzas para seguir mejorando.
Comentarios
Seamos más radicales (Adrián 10/02/2006 - 22:40)
Enviado por Adrián (no verificado) el Vie, 30/12/2005 - 07:25
Está muy bien que expliques eso para los profanos, ¡pero es contraproducente!
Desde un punto de vista puramente tecnológico:
Podrán hacer todos los exes que les de la gana con Dev-C++, pero de informática "general" (llamémosle así y espero que me entiendas) van a aprender más bien poco si siguen en Hasefroch. Y eso nos repercurte a nosotros: cuanto más idiota el usuario más idiota te lo hacen, un idiota no necesita saber qué coño es una tabla DSDT, así que nos pasamos los acuerdos de estándar ACPI por el forro, y también los W3C, y el otro, y el otro… Ya me entiendes. Hoy día el Desktop GNU es bastante eye-candy y "usable" (es cachondísimo eso de la usabilidad, como si desde shell la máquina no funcionara…), pero como esto es un circulo vicioso… Dicen: "¿¡Que en Linux no puedo jugar a $ULTIMOJUEGODELMERCADOWINONLY?! Vaya mierda." Y así fundamentamos excusas en excusas y acabamos usando SL los frikis…
Desde el punto de vista de la libertad, y como anécdota, harto de que me llamaran con un problema made in M$, mi familia es 100% libre. A cada uno se le ha dado la excusa correspondiente, y aunque no sepan qué es el software libre, lo usan. Algo es algo, digamos que son usuarios "pasivos" que engordan la comunidad.
Y bueno, después de soltar el discursito de siempre, mírate ReactOS si no lo conoces. Es un SO 100% libre clon de Ventanas. Está verde, y aunque a priori puede parecer un derroche de esfuerzo, al menos amplia la elección. De libertad hablamos al fin y al cabo…
Saludos.
Es contraproducente… pero menos (Godo 10/02/2006 - 22:46)
(Enviado por Godo el Dom, 01/01/2006 - 18:39)
Hola Adrián.
Encantado de contar con tu colaboración por aquí. Y espero seguir escuchándote porque estoy seguro de que siempre aprenderé algo.
Estoy de acuerdo contigo en que es contraproducente ofrecer alternativas sobre windows, pero creo que es bueno intentar que la gente se vaya acostumbrando a entornos "libres" aunque estos no sean lo mejor. Es decir, prefiero que utilicen Dev-C++ antes que una versión "pirata" de "turbo C" más vieja que Matusalén y que estaba prevista para MS-DOS, con lo que muestra ciertos problemas de integración con "ventanas" y "teclados"… transformando el placer de programar en desagradable esfuerzo.
Pienso que ésta puede ser una forma de conocer software libre y, al estar basado en gcc, gdb, etc. puede resultar interesante su "paralelismo" educacional con las herramientas de Unix / GNU/Linux. Los errores, los warnings, los mecanismos de depuración serán exactamente los mismos, por lo que estaremos educándonos "casi" en las mismas herramientas.
No sé si he conseguido explicarme. Podría resumirlo en: dentro de lo malo, lo menos malo.
Salud.
Otro reto completado: mi primer sudoku
Este es el primer sudoku que intenté, y completé, el 15 de septiembre de 2005. Una mañana de vacaciones, cuando uno tiene tiempo para perderlo, y para ejercitar la mente -dicen-, dediqué casi 3 horas al dichoso jueguecito (menos mal que el nivel era, según indicaba, fácil). Varias veces pensé en mandarlo más allá de lo que no se encuentra, pero uno tiene este defecto: cuando se pica… se pica.
Ahora he encontrado varios juegos para linux: Sudoku Susser, Gnome Sudoku y ksudoku (este último basado en las librerías de kde: ksudoku depende de kdelibs4 (>= 4:3.4.1-1)). Estos resuelven en 4 centésimas de segundo (0.04 s.) lo que yo hice en casi 3 horas. Y eso en mi máquina: un AMD Duron a 900 MHz (¿cuánto tardarán en un pentium 4 a 3.8 GHz.?). ¡El poder de los algoritmos y la electrónica!
A mi favor he de decir que no había leído nada de algorítmica aplicable (como dirían otros: me hice a mi mismo ;-)) y que el día siguiente completé uno de nivel complicado (supuestamente hay tres niveles: fácil, intermedio, complicado) en tan solo 1 h. y 30 min. (¡viva viva! :-D).
En fin, chicos, no creo que vuelva a hacer ningún otro, no está la cosa como para invertir trocitos de día en estos quehaceres… que también relajan porque, sin más remedio, evaden.
Comentarios
Sudoku, vaya inventito (El hombre de la ruta 13/02/2006 - 21:52)
Enviado por el hombre de la ruta (no verificado) el Mar, 25/10/2005 - 12:34
Veo que has caido en las redes de este diabólico juego, capaz de como tu dices evadirte, pero también de llevarte a tirarte de los pelos. Además es una buena manera de aprender a tener paciencia (que como dice el refrán es la madre de toda la ciencia). Sé que está muy de moda en Londres (no me pregunteis cómo, porque uno tiene sus contactos) y que por aquí va cogiendo fuerza.
Alguno de ellos he hecho yo también, la mayoría de ellos por Internet, donde hay algunas páginas donde te ofrecen gran cantidad de 'partidas' con diferentes niveles de dificultad, además de 'facilidades' (comprobar si hasta ahora tienes la partida bien, decirte las posibilidades para cada casilla, etc.) para aliviar la presión y los cabreos que te puede provocar el juego. Si estais interesados puedo buscar en casa la URL y así os ahorrais unas pelillas en el kiosko.
En fin, despacito y buena letra y a disfrutar!
Una página interesante (Juan Fernando 13/02/2006 - 21:53)
Creo oportuno advertir de la siguiente página: www.juegosdeingenio.org
Para perderse en ella…
Te agradezco la "advertencia" (Godo 13/02/2006 - 21:58)
(Enviado por Godo el Jue, 05/01/2006 - 21:52)
Le echaré un vistazo más detenidamente durante ¿estos días?
Me alegra ver que te vas animando a frecuentar y a comentar en este artilugio web.
Recuerdos.
P.D.: He editado tu comentario para añadir la función de "enlace" a la página sugerida. Lo digo por si notas cierta manipulación ;-)
Enviado por el hombr (jaimedionne 26/08/2011 - 01:37)
Enviado por el hombre de la ruta (no verificado) el Mar, 25/10/2005 - 12:34
Veo que has caído en las redes de este diabólico juego, capaz de como tu dices evadirte, pero también de llevarte a tirarte de los pelos. Además es una buena manera de aprender a tener paciencia (que como dice el refrán es la madre de toda la ciencia). Sé que está muy de moda en Londres (no me preguntéis cómo, porque uno tiene sus contactos) y que por aquí va cogiendo fuerza.
Alguno de ellos he hecho yo también, la mayoría de ellos por Internet, donde hay algunas páginas donde te ofrecen gran cantidad de 'partidas' con diferentes niveles de dificultad, además de 'facilidades' (comprobar si hasta ahora tienes la partida bien, decirte las posibilidades para cada casilla, etc.) para aliviar la presión y los cabreos que te puede provocar el juego. Si estáis interesados puedo buscar en casa la URL y así os ahorráis unas pelillas en el kiosko.
En fin, despacito y buena letra y a disfrutar!
Redes de mensajería instantanea...
…o messenger (microsoft messenger o MSN messenger) para los neófitos, aunque ese sea el nombre de una herramienta (cliente, programa) que permite usar una de estas redes (conjunto de "tecnologías" que sirven para ponernos en contacto con) para charlar con tus conocidos. Concretamente en el caso de utilizar la aplicación "el messenger", como se conoce popularmente, estás utilizando la red de microsoft. Y esto será así hasta que decidan cobrar, porque es algo privado con uso, de momento, público.
Una vez más la inspiración de esta historia comienza en esta otra. Uno de mis sitios de referencia para seguir aprendiendo: Yogur Griego.
Aquí van mis comentarios: yo hace tiempo que uso jabber. Y otra vez me ocurría lo mismo que al amigo Epaminondas Pantulis, todos mis contactos estaban en MSN (cuando digo todos quiero decir casi todos ;-) ). Comencé mi experiencia jabber en "bulmalug.net" porque tenían un "transporte" a la red MSN pero dejaron de mantenerlo, no sé por qué pero me lo imagino, después me pase a "amessage.info" que tenían otro "transporte" a MSN, y también dejaron de mantenerlo. Esta vez publicaron una noticia que decía algo así como que era ilegal y tenían miedo de que les metieran mano.
Ahora tengo dos cuentas jabber y, probablemente -es una opción-, vaya en busca de la tercera en esos sitios que sugiere Epaminondas con pasarela (¿hasta cuando?)… tampoco sé cómo destruir las que ya tengo.
Visto lo visto, no tendría ningún contacto de MSN sino utilizara "aMSN" en mi Debian GNU/Linux.
Por otro lado, el cliente "Psi", que es el que utilizo, te permite estar conectado a varias cuentas jabber a la vez. Esto es bueno porque así puedes dar una para tus amigos, otra para tu trabajo, etc. y decidir según el día y la hora cual activas.
En fin… ¿no es algo caótico todo esto? Al final la gente acaba cansándose, y van cayendo por el camino.
Disfruta de tu iChat multiprotocolo amigo Epaminondas… quizá este sea el camino: el multiprotocolo -es otra opción-. Un cliente que soporte varias redes de mensajería, así en un sólo programa tienes todos tus contactos independientemente de la red que utilicen. E independientemente de que decidan o no mantener los transportes entre ellas (por lo menos hemos eliminado un punto de fallo) los que mantienen los servidores. Todo lo cual también es bueno para ir evangelizando, y animando, a tus contactos que se mantienen en MSN a pasar de una red privada a una red pública. Creo que algo de esto hace el gaim, pero a mi nunca me ha funcionado bien… me casca al poco de estar ejecutándose. No sé. Habrá que seguir investigando.
Salud.
Comentarios
Multiprotocolo: ¿en el cliente o en el servidor? (Epaminondas Pantulis 24/08/2005 - 07:35)
De acuerdo en que el camino para nosotros los evangelizadores tecnológicos (vulgo friquis) es el chat multiprotocolo, pero me gustaría hacer un comentario adicional: la diferencia entre usar Jabber o no es que en Jabber quien es multiprotocolo no es la aplicación del cliente, sino el servidor.
De nada sirve usar un cliente como Trillian, Gaim o Exodus para usar protocolos propietarios como MSN o Yahoo: tu software puede ser libre, pero tú no lo eres porque el protocolo es propietario. Lo importante es que todos tengamos cuentas Jabber y poco a poco (esperemos que con la ayudita de San Google) podamos migrar al mundo libre no sólo las apliacciones sino los protocolos.
Apostando por el multiprotocolo en el server (Anónimo 24/08/2005 - 09:07)
Yo también estoy totalmente de acuerdo con tu comentario adicional: es mucho más "higiénico" que en el periodo transitorio de coexistencia de redes (que será permanente :-() los evangelizadores tengamos cuentas en servidores multiprotocolo, al menos así no contamos en los servidores de las otras redes, y podamos ir animando al cambio.
El problema es que yo siento que aún así, mientras que hagamos uso de los "transportes", tampoco soy libre.
Y me es difícil sopesar cuándo lo soy menos: si en servidores o en clientes multiprotocolo (es lo que quise describir con -es una opción- y -es otra opción-).
Muchas gracias por tu aclaración.
Google Talk (Godo 25/08/2005 - 08:41)
Como apuntaban los rumores: ¡google apuesta por jabber!
Increible pero cierto. No hay mayor estrategia fundamentada en uso de software libre que la emprendida por esta empresa. Google compite directamente con otros gigantes de Internet. Muchos estudios apuntan a que el reparto del pastel se encuentra entre estos tres: Microsoft, Yahoo y Google (sin afinar posiciones ni porcentajes de "mercado"). Es evidente que alguno de ellos llega tarde a servicios que otros llevan ofertando desde hace tiempo. He aquí la estrategia de google: en lugar de desarrollar desde cero un nuevo servicio de mesajería instantanea cogen un "servicio" abierto (libre) y lo integran en su plataforma… el tiempo dará y quitará razones respecto al modelo de negocio basado en software libre. Esto sólo es un apunte. Esperemos que, al igual que se lucra (directa o indirectamente) aprovechando el trabajo de la "comunidad" también aporte a esta.
Como casi siempre: mis fuentes de la noticia son esta y esta.
Venga chicos… ¿quién de vosotros aún no tiene una cuenta en gmail? …pues todos vuestros contactos (los de vuestra libreta de direcciones en gmail) ya están listos para charlar en vuestro google talk.
La inseparable pareja
Linux no es más que el kernel de un sistema operativo. Así, la frase: "mi ordenador tiene instalado un sistema operativo Linux" es falsa. El proyecto GNU tenía "todas" las herramientas (conjunto de programas) "básicas" para formar un sistema operativo al estilo UNIX, sólo le faltaba el kernel y… ¡ahí llegó linux! (aunque este proyecto tenía, y tiene, en desarrollo su propio kernel: Hurd).
La frase correcta es: "mi ordenador tiene instalado un sistema operativo GNU/Linux".
En fin, para los puristas y para los que quieran reconocer el esfuerzo del proyecto GNU, no dejándolo caer en el olvido. Yo me considero entre estos últimos (¿Qué sería Linux sin "gcc", "gdb", "libc", "emacs", etc.?).
Para saber más sobre todo el trabajo desarrollado por el proyecto GNU, que incluso ha llegado a ser proyecto de la UNESCO, mira este directorio.
Patentes de Software ¡Hemos ganado?
¡Enhorabuena!
Hoy el parlamento europeo ha rechazado la directiva en la que se proponían las patentes de software al estilo USA.
La derrota ha sido contundente: 648 votos a favor del rechazo, 14 en contra y 18 abstenciones. Así, hoy deberíamos dormir, y de hecho lo vamos a hacer, más tranquilos.
Ahora nos queda preguntarnos: ¿hasta cuando? ¿habrá un nuevo intento? Yo apuesto a que sí, pero según Joaquín Almunia, comisario de Asuntos Económicos, "Si deciden rechazar la posición común, la Comisión no hará una nueva propuesta". Aunque ya se han encargado de "matizarle": la comisaria de Exteriores, Benita Ferrero-Waldner, quien hoy le sustituyó en la sala, dijo que "si el Parlamento nos invita a hacer una nueva propuesta, hablaremos y veremos cuál será el procedimiento futuro"
En fin… ¡a soñar mientras se pueda!…y a disfrutar de las libertades.
Tenéis más información aquí y aquí.
Patentes de Software: a un paso de su aprobación
Hoy tengo que seguir luchando, y para ello aprovecho el buen hacer de otras muchas personas. A continuación podéis leer el mail que hemos recibido todos los socios de hispalinux. En él podéis descubrir los distintos posicionamientos políticos que se están manteniendo.
También en barrapunto.
En fin…
Hola a todos,
este documento es la rueda de prensa oficial que el PP Europeo dio
ayer en el plenario del Parlamento Europeo. El testimonio del EPP
empieza en el minuto 4 y al principio se dice que la votación de las
patentes de software será el miércoles:
http://media.ffii.org/bxl050701/pressconf.mp3
En inglés, dice básicamente lo siguiente:
1) Apoyan la posición del JURI (el texto del Consejo maquillado).
2) Apoyan una nueva enmienda sobre operatibilidad (la que quiere IBM).
3) (Implícito) Rechazan las "21 ENMIENDAS DE CONSENSO" apoyadas por
europarlamentarios de todos los grupos.
4) No lo dice pero tenemos constancia escrita: dan libertad de voto en
la enmienda de las 21 que corrige el artículo 5.2 (famoso "unless").
Obviamente esto es absolutamente insuficiente porque deja artículos
tan nefastos como el 4 sin tocar y permite la total y absoluta
patentabilidad del software indiscriminadamente.
La posición del PPE español coincide según nuestra información con
esa que menciona el portavoz del PPE, salvo que ellos apoyan la enmienda
al artículo 5.2 en la que el EPP dicen dar liberdad de voto.
Esta posición del PPE español no cambia mucho con respecto a lo que
se escucha en la charla que dio el que los representó en la Conferencia
para pro-patentes que organizó la CompTIA a mediados de junio en Madrid
y que ha llegado a nuestras manos recientemente (alrededor del minuto 20
habla un asistente del eurodiputado López-Istúriz, que es al que
oficialmente le toda definir la posición del EPP español; escuchadlo
porque la grabación habla por sí misma -después habla el ayudante del
Ministro Montilla para el tema defendiendo una posición que coincide con
la del PSE español, así como la de verdes, IU y PNV -no así CiU-):
http://media.ffii.org/spanish/comptiahack.mp3
Si sale adelante la actual esa postura como la oficial del EPP
español es muy probable que sean los responsables, con sus 24 votos, de
que en toda Europa existan patentes de software a partir de este
miércoles, fecha de la votación del Parlamento en Estrasburgo.
Esto significará el hundimiento a medio plazo de prácticamente toda
la industria del software autóctona europea (PYMEs casi exclusivamente),
el encarecimiento del precio de los servicios de las TIC para el
consumidor, y la perpetuación del monopolio de las grandes
multinacionales norteamericanas de software en sus respectivos sectores.
Esto propiciará fácilmente, por ende, censuras en la libertad de
expresión en Europa de manos de quienes monopolizan las tecnología de
comunicación y expresión.
Es imprescindible que todo el mundo en España conozca esta situación
y presione al PP (y también a CiU que mantiene una postura semejante)
para que aisle a sus miembros pro-patentes y que sus votos no sean
contrarios a los intereses de la industria española. El tratar la no
patentabilidad del software como un tema de interés nacional, es la
postura que han tomado prácticamente todos los partidos de los países
del este de Europa, así como parece ser que también Italia y Portugal
(ésta última con 0 patentes de "CII" registradas en la OEP). Hay también
bastantes diputados alemanes que están en contra de la línea oficial de
su partido que está siendo agresivamente liderada por un abogado
eurodiputado alemán, Lehne, que trabaja para el bufete Taylor-Wesling
(una abogacía de patentes alemana).
Es también de notar que curiosamente coinciden la mayoría de los más
activos eurodiputados propatentes en la junta directiva de una fundación
financiada por las grandes empresas de software y tecnología mundiales:
la European Internet Foundation.
http://www.eifonline.org/Default.aspx?tabid=293
(de esa lista de políticos, sólamente de Kauppi tenemos constancia de
que no está haciendo lobby a favor de la patentabilidad del software o
del software disfrazado de ese parainvento que es la "invención
implementada en ordenador". Es notable la presencia de Pilar del
Castillo, ex-ministra del PP, y tenemos constancia de que su discurso
coincide con el del resto de esa junta directiva excepto Kauppi.)
La alternativa a esta posición absolutamente propatentes defendida
por la parte del JURI español y por el abogado de patentes Lehne, la más
radical del Parlamento, son las "21 ENMIENDAS DE CONSENSO" que defienden
todos aquellos eurodiputados de todos los grupos del espectro político y
países que están verdaderamente en contra de la patentabilidad del
software sin medias tintas interesadas. Esas enmiendas imprescindibles
con unos mínimos comentarios por parte de la FFII son éstas:
http://www.ffii.org/~rizox/21CompromiseAmendmentsALL_en-corrected.pdf
Ayer mismo se les entregó una copia física de este documento a cada
uno de los eurodiputados del Parlamento, por lo que debe ser conocido
por todos.
Quiero dejar constancia que un equipo de empresarios y académicos
informáticos españoles representando directamente a la mayoría del
sector informático español, junto a un empresario alemán representando a
varias medianas multinacionales europeas con intereses en la industria
española y que totalizan más de 5000 empleados, hemos mantenido
reuniones con al menos: 3 eurodiputados y 2 asistentes de la comisión de
industria del EPP español, 2 asistentes de la comisión jurídica del EPP
español y 2 asistentes de la comisión de economía del EPP español. En
esas reuniones hemos dejado claras nuestras máximas preocupaciones por
el futuro que le esperaría a la industria informática española en caso
de existir las patentes de software (también llamadas en la interesada
jerga de los abogados de patentes "computer implemente inventions"). Es
de nuestro entendimiento que estos eurodiputados y asistentes han
entendido el problema.
Os ruego que todos los potenciales damnificados, muchos de ellos
votantes del PP (empresariado, por ejemplo), levantéis vuestra voz e
informéis a los eurodiputados del PP de lo incorrecto de la postura
supuestamente oficial que les llega de manos de un político, Lehne, con
intereses particulares en el tema
( http://wiki.ffii.org/KlausHeinerLehneEn
http://www.heise.de/newsticker/meldung/60988 )
Esta es la lista de teléfonos y faxes del Parlamento Europeo, para
aquellos empresarios que deseen expresar su pesar por el gran daño que
sufriría su empresa con el texto "legislativo" salido del JURI y de la
Posición del Consejo "ratificada por meras razones de trámite" pese a su
manifiesta incorrección reglamentaria
( http://wiki.ffii.org/LtrFfiiCons050308En ):
http://www.ffii.org/~rizox/meplist.html
Hay que añadir +33 3 88 1xxxxx para Estrasburgo y +32 2 28xxxx para
Bruselas.
Y esto es una explicación muy sencilla de cómo deben votar para
evitar las patentes de software en Europa:
http://europarl.ffii.org/amendments.en.html
Por favor, aunque este correo está dirigido a vosotros concretamente,
no dudéis en pasar los hechos que estoy desvelando a quien consideréis
necesario. Las opiniones que pueda haber emitido en este correo son mías
y no tiene por qué coincidir con las de la FFII.
Saludos, y máxima presión para evitar lo peor,
Alberto.
PD: en esta página podréis ver el nuevo "banner" para la votación y
dónde enlaza, junto con un modelo de carta en inglés para los
eurodiputados: http://swpat.ffii.org/letters/meps0503/index.en.html
_______________________________________________
Socios-anuncios mailing list
Socios-anuncios@listas.hispalinux.es
https://listas.hispalinux.es/mailman/listinfo/socios-anuncios
¡Enhorabuena Debian!
Hoy tengo que darle las gracias a los principales mantenedores de mis proyectos, de mis máquinas, de mi pasión… cuanto tiempo juntos, y tanto más, si Dios quiere. Aquí os pongo la noticia oficial del lanzamiento de la nueva versión de Debian GNU/Linux 3.1.
Publicación de Debian GNU/Linux 3.1
6 de junio de 2005
El proyecto Debian tiene el placer de anunciar la publicación de Debian GNU/Linux 3.1, de nombre en clave «sarge», después de casi tres años de desarrollo continuo. Debian GNU/Linux es un sistema operativo libre que ofrece soporte para once arquitecturas de microprocesador distintas, incluye los entornos de escritorio KDE, GNOME y GNUstep así como programas criptográficos. También es compatible con la versión 2.3 del estándar de la jerarquía del sistema de ficheros (FHS) e incluye programas de apoyo desarrollados para el estándar LSB.
Con el desarrollo del nuevo instalador de Debian, esta versión incluye un mecanismo de instalación nuevo y modular con detección de hardware y capacidad de instalación automatizada. La instalación se puede realizar en cerca de treinta idiomas e incluye configuraciones del servidor X para muchas tarjetas gráficas distintas.
Se ha reescrito el sistema de tareas y se ha hecho más flexible. Además se ha integrado la herramienta debconf en la mayoría de los paquetes que se deban configurar, haciendo la instalación más sencilla y más amigable para el usuario. Puede instalar Debian GNU/Linux desde distintos medios de instalación como DVDs, CDs, memorias USB, unos pocos disquetes o desde la red. Puede descargarlo ahora, y pronto estará disponible en DVD o CD-ROM de un buen número de vendedores.
Debian GNU/Linux funciona en distintos tipos de máquinas, desde pequeños organizadores personales a supercomputadores, pasando por casi cualquier tipo de máquina intermedia. Se ofrece soporte para once arquitecturas distintas, incluyendo: Motorola 68k (m68k), Sun SPARC (sparc), HP Alpha (alpha), Motorola/IBM PowerPC (powerpc), Intel IA-32 (i386) e IA-64 (ia64), HP PA-RISC (hppa), MIPS (mips, mipsel), ARM (arm) e IBM S/390 (s390).
Esta versión incluye un buen número de programas de gran tamaño como puedan ser el Entorno de Escritorio K 3.3 (KDE), el entorno de escritorio GNOME 2.8, el escritorio de GNUstep, XFree86 4.3.0, GIMP 2.2.6, Mozilla 1.7.8, Galeon 1.3.20, Mozilla Thunderbird 1.0.2, Firefox 1.0.4, PostgreSQL 7.4.7, MySQL 4.0.24 y 4.1.11a, la colección de compiladores de GNU (GCC) 3.3.5, las versiones del núcleo Linux 2.4.27 y 2.6.8, Apache 1.3.33 y 2.0.54, Samba 3.0.14, Python 2.3.5 y 2.4.1, Perl 5.8.4 y muchos más.
Esta es la primera versión de Debian en incluir OpenOffice.org (1.1.3). También se incluyen programas criptográficos en la distribución principal. La instalación por omisión incluye OpenSSH y GNU Privacy Guard, además, en esta versión podrá disponer de cifrado fuerte en servidores y navegadores web, bases de datos, y muchas otras aplicaciones.
Debian GNU/Linux 3.1 se nutre de los esfuerzos realizados por los subproyectos Debian-Edu/Skolelinux, Debian-Med y Debian-Accessibility, que han incrementado el número de paquetes de programas educativos, los dedicados a la profesión médica, así como de aquellos especialmente diseñados para personas con discapacidad.
Las actualizaciones a Debian GNU/Linux 3.1 desde la versión anterior Debian GNU/Linux 3.0, de nombre en clave «woody», se gestionan automáticamente mediante la herramienta de gestión de paquetes aptitude, y también hasta cierto punto por la herramienta de gestión de paquetes apt-get. Como es habitual, los sistemas Debian GNU/Linux pueden actualizarse sin molestias y sin tiempo de parada. Puede encontrar instrucciones detalladas sobre cómo instalar y actualizar Debian GNU/Linux en las notas de publicación.
Acerca de Debian
Debian GNU/Linux es un sistema operativo libre, desarrollado por más de mil voluntarios de todo el mundo que colaboran mediante Internet. La dedicación de Debian al Software Libre, su naturaleza no comercial, y su modelo de desarrollo abierto la hacen única entre las distribuciones de GNU/Linux.
Los puntos fuertes del proyecto Debian son su enorme base de voluntarios, su dedicación al contrato social de Debian y su compromiso de ofrecer el mejor sistema operativo posible. Debian 3.1 es otro paso importante en esa dirección.
Información de contacto
Si desea más información puede visitar las páginas de Debian en http://www.debian.org/ o enviar un correo electrónico a <press@debian.org>.
Más "logs" de los mensajes de arranque (Linux)
A todos los que nos hemos decidido a profundizar en el apasionante mundo del sistema operativo Linux, nos ha sido necesario, alguna vez, "monitorizar" los mensajes que el sistema está arrojando mientras arranca.
La primera forma de hacerlo, que suele aparecer en casi todos los manuales para "principiantes", ha sido utilizando el comando "dmesg" (tanto como usuario como root). Posteriormente hemos aprendido que, mientras que arranca el sistema, podemos pulsar la tecla "Bloq Despl" de la parte superior derecha de nuestros teclados, y lograr así una pausa del "desplazamiento de nuestra pantalla" (también conocido como "scroll"), y movernos a su través utilizando las combinaciones: "Mayúsculas + Re Pág" (arriba) y "Mayúsculas + Av Pág" (abajo).
Existe una tercera forma de conseguir más mensajes de "log" (de rastro, o traza) que tanto el kernel como otros procesos del sistema van generando durante el arranque.
Es fácil:
Has de adaptar el contenido del siguiente archivo tal y como se muestra:
[13:51:59(root@capacho) /var/log]#more /etc/default/bootlogd # Run bootlogd at startup ? BOOTLOGD_ENABLE=Yes
Tras el siguiente encendido de nuestra máquina (y, obviamente, todos los que realices en el futuro) tendrás en el fichero /var/log/boot toda la información que complementa a la obtenida con el comando "dmesg". Ambas corresponden, como hemos comentado anteriormente, a la generada por el kernel, y los diferentes procesos, a lo largo del arranque del sistema.
Ejemplo:
[13:53:19(root@capacho) /var/log]#more boot Tue Feb 1 09:55:46 2005: bootlogd. Tue Feb 1 09:55:46 2005: Activating swap. Tue Feb 1 09:55:46 2005: Checking root file system... Tue Feb 1 09:55:46 2005: fsck 1.35 (28-Feb-2004) Tue Feb 1 09:55:46 2005: /: clean, 150543/622592 files, 908933/1245037 blocks Tue Feb 1 09:55:46 2005: mount: wrong fs type, bad option, bad superblock on tmp fs, Tue Feb 1 09:55:46 2005: or too many mounted file systems Tue Feb 1 08:55:47 2005: System time was Tue Feb 1 07:55:47 UTC 2005. Tue Feb 1 08:55:47 2005: Setting the System Clock using the Hardware Clock as reference... Tue Feb 1 08:55:49 2005: System Clock set.System local time is Tue Feb 1 8:55:49 CET 2005. Tue Feb 1 08:55:49 2005: Cleaning up ifupdown...done. Tue Feb 1 08:55:49 2005: Calculating module dependencies... done. ... (cortamos aquí la salida por comodidad ;-) )
Comentarios
log arranque (gavsys 26/08/2009 - 20:26)
Gracias por el post. En linux todos los dias se aprende algo.
Salu2.
Excelente dato, se agradece. (alejo 23/08/2011 - 00:21)
Excelente dato, se agradece.
Como instalar el paquete lm-sensors
En kernels 2.4
Este paquete de utilidades sirve para monitorizar algunos de los sensores que actualmente incorporan las placas madre. En mi caso puedo monitorizar la temperatura de la CPU, la del ¿Sistema? y la velocidad de giro (rpm) del ventilador de la CPU (y algunas otras cosas más que no me interesan tanto).
Paquetes Debian necesarios (en otras distribuciones pueden variar):
- libsensors1
- lm-sensors
- lm-sensors-source
- wmsensormon
- xsensors
Una vez instalados dichos paquetes, has de descomprimir el paquete /usr/src/lm-sensors.tar.gz, apareciéndote el directorio: /usr/src/modules/lm-sensors. Situados en el directorio anterior, como root, hacemos lo siguiete:
makemake install
Lo que sigue sólo hay que hacerlo una vez ya que permanece en archivos de configuración del sistema aunque el kernel sea recompilado:
depmod -a- añadir la línea
/usr/local/libal archivo /etc/ld.so.conf ldconfig- crear los ficheros de dispositivo:
/usr/src/modules/lm-sensors/prog/mkdev/mkdev.sh - detectar tu hardware:
/usr/src/modules/lm-sensors/prog/detect/sensors-detect - añadir los módulos detectados a /etc/modules
- ir cargando cada uno de los módulos detectados con:
modprobe nombre_modulo - ejecutar el comando:
sensors -s - consultar los sensores con:
sensors
En kernels 2.6
Requisitos previos: los paquetes que actualmente tengo instalados (estoy utilizando Debian Sarge) son los siguientes:
ii ksensors 0.7.2-16 lm-sensors frontend for KDE ii libsensors3 2.8.6-13 Library to read temperature/voltage/fan sens ii lm-sensors 2.8.6-13 Utilities to read temperature/voltage/fan se
El primero de ellos es el programa de KDE que me permite tener la información obtenida de los sensores en la bandeja del sistema. Hay mucho software libre que sirve para mostrar dicha información, utiliza el que más te guste.
En estos kernels se están incorporando poco a poco el soporte de distintos chipsets. Los que hay en mi placa base ya están soportados, y para compilar un kernel que los utilice hago lo siguiente:
Selecciono en el panel de la izquierda (yo utilizo make xconfig): Device Drivers –> I2C support. Y en las opciones posibles en el panel de la derecha selecciono:
- I2C support: cableado en el kernel (una marca "v" en su casilla).
- I2C Device Interface: como módulo (un punto "." en su casilla).
- I2C Hardware Bus support: módulos: ISA Bus support y VIA82C596/82C686/823X
- Hardware Sensors Chip support: módulos: National semiconductor LM80 y VIA686A
- Other I2C Chip support: módulo: EEPROM reader
Todo lo que no menciono está deseleccionado.
Claro, por eso esto sólo da soporte a mi actual máquina, si el día de mañana cambiara tendría que averiguar previamente los chipsets de los que dispondría, lo cual se hace con el comando sensors-detect.
Tras guardar la configuración y compilar el kernel has de tener soporte de los citados dispositivos.
Configuración y arranque automático
Te aconsejo que eches un vistazo, para fijar los valores máximos y mínimos de tus "dispositivos" que están siendo monitorizados por los sensores, al fichero /etc/sensors.conf.
Igualmente te aconsejo que crees un enlace simbólico en el nivel de ejecución apropiado de tu sistema linux (en mi caso /etc/rc2.d/S89sensors) que apunte a un script situado en /etc/init.d/sensors.sh que ejecute el comando sensors -s cada vez
que inicie el sistema, fijando así los valores máximos y mínimos de los dispositivos a monitorizar según lo configurado en el fichero
/etc/sensors.conf.
Y esto es todo.
Salud.
Servidor de impresión Linux para clientes Windows
Para imprimir en la impresora configurada en la máquina linux, utilizando para ello "cups" (la impresora ha de estar correctamente configurada en "cups", si no lo está, es decir, si áun no has conseguido imprimir desde Linux, no sigas leyendo este documento) has de hacer lo siguiente:
1.- Tener los apartados correspondientes a la impresora en /etc/samba/smb.conf, copiado a continuación, ¿completito? ;-), por comodidad:
#+beginexample
smb.conf **
[(godo) /etc/samba]> more smb.conf
[global] workgroup = ACEITE netbios name = ALPECHIN server string = %h server (Samba %v) security = SHARE encrypt passwords = Yes passwd program = /usr/bin/passwd %u passwd chat = Enter\snew\sUNIX\spassword: %n\n Retype\snew\sUNIX\spassword: %n\n . syslog = 0 max log size = 1000 socket options = IPTOSLOWDELAY TCPNODELAY SOSNDBUF=4096 SORCVBUF=4096 dns proxy = No invalid users = root hosts allow = 172.31.0.2 #Para compartir la impresora con cups load printers = Yes printing = cups printcap name = cups [printers] comment = Todas las impresoras path = /var/spool/samba browseable = No public = Yes create mask = 0700 guest ok = Yes writeable = No printable = Yes print command = lpr-cups -P 0 lpq command = lpstat -o 0 lprm command = cancel 0-%j [Linux-godo] path = /home/godo read only = No [Linux-GFR] path = /home/godo/gfr read only = No [Lin-Usuarios] path = /mnt/usuarios read only = No **
#+endexample
2.- Haber creado como root el directorio: /var/spool/samba con permisos chmod 777.
3.- Instalar en la máquina Windows la impresora utilizando el CD-ROM que esta trae consigo. Pulsas sobre la opción "instalar drivers" - "Avanzado" - "Impresora en red" y, automáticamente, aparece la impresora \\alpechin\stcolor400 definida en "cups". Le das a continuar… y todo se instala correctamente. Aunque al final el programa de instalación parece quedarse colgado e incluso escupe un mensajito de los típicos "La aplicación debe ser cerrada y…" ¡OJO: esto último (lo del cuelgue) no tiene porqué pasarte a ti ;-), de hecho es mejor si no te pasa, porque vamos, pasar "pa na" es tontería.
4.- Rearrancas la máquina windows (creo que no es necesario) y… ¡LISTO! a imprimir como un loco por tu "epson" (en tu caso por la impresora que toque, yo de momento le hago publicidad a "epson" sin que me paguen -en fin, almas caritativas que hay en la vida-).
Y esto es todo.
Salud.
Como configurar una memoria USB
Has de dar soporte en el kernel a los siguientes módulos:
- sdmod <– seleccionando: "scsi support"–"scsi disk support (módulo)"
- usb-storage <– seleccionando: "usb support"–"usb mass storage support (módulo)"
Has de añadir a "/etc/fstab" la siguiente línea:
- /dev/sda1 /mnt/usbflash vfat user,noauto,umask=0 0 0"
Para usar el dispositivo el superusuario "root" ha de cargar el módulo que lo gestiona: "modprobe usb-storage".
Cualquier usuario lo puede montar con: "mount /mnt/usbflash". Una vez montado se utiliza como si de un disquete se tratara.
¡OJO! Para evitar daños antes de desconectarlo has de hacer: "umount /mnt/usbflash". Al finalizar con este comando te aseguras que el dispositivo no está en uso, pudiéndolo desconectar de forma segura.
Comentarios
debianhead (Anónimo 07/12/2004 - 15:10)
Hola, pues muy bueno tu blog, en especial este tutor, porfin pude bajar mis fotos de la camara :)
muchas gracias y felicidades.
…de nada. (Anónimo 23/12/2004 - 15:17)
Bueno, lo tengo algo abandonado por la "exigida" dedicación a otros quehaceres. Pero este tipo de comentarios me sirven de aliento para seguir con él y me hacen plantearme el dedicar unos 15min. al día para ir modelando nuevos contenidos.
Gracias a ti.
Sincronización en la grabación de datos (Anónimo 07/02/2005 - 15:28)
Yo utilizo la opción "sync" de mount para montar mi memoria USB:
user,sync,noauto…
Sin esta opción, las transferencias de datos hacia la memoria pasan por algún "buffer" intermedio, encargándose el sistema operativo del trasbase de datos entre este "buffer" y la memoria como en segundo plano. De este modo, si el movimiento de datos lo hacemos, por ejemplo, con "konqueror" veremos que el diálogo de progreso de la copia/movimiento de ficheros finaliza muy rápidamente. Y sin embargo la luz que pueda tener la memoria seguirá indicando actividad.
Con esta opción habilitada, por otro lado, uno va viendo, al hacer la transferencia de datos hacia la memoria, la velocidad real de grabación de la misma en el mismo diálogo de progreso.
Se consigue que no sea tan crítico extraer la memoria USB sin haberla desmontado, por lo menos en cuanto a la integridad de la información almacenada. Aunque también aconsejo realizar el desmontado siempre antes de extraer la memoria.
Muchas gracias (Anónimo 08/02/2005 - 12:38)
…por compartir este detalle CON importancia ;-) … y por animarte a ser uno de nosotros.
Bienvenido.
duda (Anonymous 02/10/2007 - 20:21)
HOLA QUE TAL A TODOS. TENGO UN PROBLEMA Y NO SE COMO RESOLVERLO, BUENO SE TRATA DE LA COMPU, LO QUE PASA QUE TENGO LA MEMORIA USB, Y LA COMPU TIENE LA ENTRADA PERO NO LA RECONOCE COMO CONFIGURO LA COMPU PARA QUE LEA LA MEMORIA? ESTA ES LANIXY TENIA WINDOWS MILLENIUM Y LE CAMBIE A WINDOWS XP, NO SE SI ESO AFECTA. BUENO GRACIAS Y ESPERO SU PRONTA RESPUESTA.
USB en Windows XP (Godo 05/10/2007 - 18:51)
Hola. Es muy extraño lo que te está pasando. El Windows XP es uno de los sistemas operativos mejores de Microsoft (para mi gusto incluso mejor que Windows Vista, incluso), y suele traer ya implementados los controladores de los puertos USB. Si tienes Internet te aconsejo que hagas lo siguiente:
- Conéctate a Internet.
- Conecta la memoria USB al puerto.
- Espera un ratito y, si el ordenador no detecta dicha memoria sigue con el siguiente paso.
- Abre windows —> panel de control —> agregar nuevo hardware.
- Realiza cada uno de los pasos que te vaya mostrando el asistente.
- Si no encuentra los drivers te preguntará si quieres que los busque en "localizaciones específicos", entre ellos Internet. Selecciona esta opción y prosigue
Tras realizar estos pasos estoy casi seguro de que Windows XP detectará la memoria. Si aún así sigue sin detectarla intenta esto otro:
- Abre el Internet Explorer.
- Menú herramientas —> WindowsUpdate.
- Instala todas las actualizaciones disponibles.
Y como última opción, ¡Pásate a GNU/Linux!
¡Suerte!
pregunta (Anonymous 11/03/2009 - 14:20)
hola lo que pasa es que tengo una usb y cuando le meto los archivos quedan defectuosos
S.O.S (Anonymous 11/03/2009 - 14:30)
porfa alguien que me ayude con mi usb
Desconectar hardware con seguridad (Godo 11/03/2009 - 17:50)
Me da la impresión de que utilizas Windows y no estás "desconectando el hardware con seguridad" y no dejas tiempo para que se copien tus archivos. Has de buscar en la barra de inicio del windows, al lado derecho, cerca del reloj, un icono con una flechita verde, pulsar con el ratón y elegir "desconectar hardware con seguridad".
Si utilizas GNU/Linux puedes ver que aparece un icono en el escritorio (depende de la distribución que uses), pulsas sobre él con el botón derecho del ratón y le das a la opción de desmontar.
Cuanto terminen las acciones descritas en los párrafos anteriores te aparecerá un mensaje indicándote que "ahora puedes desconectar tu usb". Si lo desconectas antes de realizar las acciones que te indico puede que no le de tiempo a copiar los archivos al usb y te aparezcan defectuosos. Si estás haciendo este proceso, y aún así te aparecen defectuosos o tienes un virus o se te ha estropeado el usb: un servicio técnico te ayudará.
Gracias.
Salud.
sobre desconectar USB forma segura (carlos fernando 26/03/2009 - 20:25)
hola en mi laptop tuve un problema en el lado derecho de mi pantalla y no puedo ver la parte donde se ubica el icono con una flechita verde, se que se puede colocar en el escritorio como un icono u otro programa, quisiera saber si alguien sabe como hacerlo o donde ubicarlo para ponerlo en mi escritorio, y poder desconectar mi memoria USB, gracias. escribanme aqui
calinsc@hotmail.com carlos fernando
avisenme por fa para poder ingresar de nuevo aqui si encuentro la solucion para ponerla tambien, gracias
Memorias USB desinstaladas (Marriola 27/07/2009 - 04:28)
Los moscas IT de mi trabajo desinstalaron en masa el acceso a las memorias USB, quiero volver a utilizarlos, como lo hago por favor?. Uso Windows XP. Gracias anticipadas
