Archivo para septiembre de 2007

Pequeños apuntes de Linux

Unos pequeños apuntes para recordar sobre Linux gracias a Mundo Geek (por cierto, un blog que me gusta mucho por sus pequeños pero útiles mini-tutoriales como estos):

Papelera en consola

Cuando trabajas con un terminal de forma asidua (y lo hago bastante) el comando rm da miedo. Sí, porque generalmente no pregunta lo que quieres borrar y tampoco hay un modo sencillo para recuperar los datos borrados (quizás hasta sea por seguridad).

Mi solución pachanguera fue crear en su momento un script llamado trash que sustituía a rm y que, simplemente, movía los archivos indicados al directorio que le hubieras configurado (en mi caso fue $HOME/trash aunque bien se podía haber usado el de Gnome, $HOME/.Trash).

Pero ahora, desde Mundo Geek me entero de que hay una librería llamada libtrash que hace esto por mí y encima sin cambiar de comando. Para instalarla (en Ubuntu) basta usar apt-get:

diego@dbox:~:$ sudo apt-get install libtrash

Y para que la librería se cargue de forma automática al abrir la consola y que se fije como papelera el directorio de Gnome antes nombrado, $HOME/.Trash, se ponen estas dos líneas en la propia consola para añadir las líneas de configuración a sus correspondientes archivos:

diego@dbox:~:$ echo “export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4″ >> ~/.bashrc
diego@dbox:~:$ echo “TRASH_CAN = .Trash” > ~/.libtrash

A ver si gracias a esto no cometemos imprudencias con el diablo personificado en el comando rm. Pero tampoco hay que olvidar que la papelera de Gnome se llena y hay que vaciarla de vez en cuando ;) .

Número de líneas de código

¿Nunca habéis tenido curiosidad por contar las líneas de código de vuestras aplicaciones? Yo sí, por lo que hace tiempo hice un programa en Delphi (lenguaje que he abandonado por causas laborales, pero bien que mola y rápido de desarrollo que es) donde se arrastraban los archivos y de decía el número de líneas. Simplemente eso.

Pero desde Linux tenemos un comando, sloccount, que nos sirve, no sólo para calcular el número de líneas, sino que también discrimina por lenguajes de programación añadiendo información adicional como la estimación de personas por año, recursos según el modelo COCOMO, etc.

Por cierto, SLOC viene de Source Lines Of Code.

Para instalarlo, como siempre:

diego@dbox:~:$ sudo apt-get install sloccount

Y para contar las líneas (reales) de cualquiera de vuestros proyectos, basta lanzar el comando indicándole el directorio donde tiene que empezar a contar. Para los proyectos propios (pequeños suelen ser) es, más bien, informativo. Pero estoy seguro de que para proyectos grandes es una información más que útil.

Por cierto, también podéis revisar los comandos básicos de Linux que tengo recopilados por aquí al lado.

Neumáticos

Interesante artículo del blog Circula Seguro donde muestran como leer la información que lleva un neumático. Y, como no, ahora que estoy puesto en esto por causas laborales, pues ahí van el Índice de Carga y el Código de Velocidad:

(más…)

Juez y parte

Ya han retirado el logo de Madrid 2016 que me gustaba… Si es que no se puede ser juez y parte…

El serio problema de…

…la falta de informáticos en Asturias. Lo que me he reído yo hoy.

Aunque yo diría que es el serio problema de los informáticos en España. Y, por supuesto, estoy de acuerdo con los comentarios de Barrapunto en el que el problema no es la escasez de informáticos. El problema es la escasez de empresarios que nos paguen el sueldo de un Ingeniero Informático.

Porque es muy fácil coger becarios valiéndose de la necesidad de independencia económica de los mismos para que saquen las castañas del fuego y luego echarlos a los cuatro días por cuatro duros y encima con la culpa de que el proyecto ha salido mal a cuestas. Para que, si, por un casual, se hubieran esforzado (que entiendo perfectamente que pasen de todo y de todos), en su currículum y/o vida laboral conste ese proyecto como mal hecho.

La verdad es que no pasa sólo en el ámbito de los informáticos. Ahora, en España es época de vendimia y ¿dónde se van los vendimiadores españoles? A Francia. ¿Es necesario decir el por qué? ¿Y quién viene a España a vendimiar?

Pues eso. En ningún sitio falta gente para trabajar. De hecho es lo que sobra. Lo que falta son ganas de pagar lo que corresponde. ¿Cómo es sino la ingente cantidad de beneficios de las empresas actualmente? A costa de los curritos mileuristas. ¿Alguien tiene alguna duda?

La cuestión ahora es ponerle solución. Y ese sí que es un verdadero problema.

El virus de la imagen

¡Qué cachondos estos programadores de virus! Si es que son la máquina.

El virus de la imagen del messenger (de los muchos que hay, ha habido y habrá) es de los más cachondos. Se instala en el ordenador y si tienes el messenger arrancado, de vez en cuando envía un mensaje con adjunto (él mismo) del tipo “te acuerdas cuando tenías el pelo así?. Eso es lo que he recibido de un contacto.

Y, la verdad, tuve el pelo de distinta forma a como lo llevo ahora y por un momento me hizo dudar… pero claro ¿de dónde sacaría ese contacto esas fotos? Ahí ya nada. Por supuesto que me bajé el archivo IMG-0012.zip y lo abrí… pero claro, no ejecuté su maravilloso mira-que-puta-mierda-de-fotos.com. Porque no, señores, eso NO es un enlace a una página web, eso es un archivo ejecutable1.

Qué cachondo el virus. Si es que se vale de la incultura informática de los pobres usuarios que no tienen ni idea en la era de Internet de qué coño es un .com. Viva la ingeniería social.

El caso es que no sólo hace eso. Cuando al amigo le abres los ojos y le dices: «Hey, estás infectado» es cuando empieza el soporte técnico gratuito. Y mediante el Messenger le dices: «Borra el archivo C:\WINDOWS\IMG-0012.zip», y se lo dices, y otra vez… y otra… y no lo vé. Pues sí, el cachondo del virus sabe cuando dicen su nombre y directamente no lo muestra en pantalla (¡ole ese programador!). De todas formas aunque borres dicho archivo, lógicamente, vuelve a aparecer.

Así que ya saben ustedes, búsquense un buen antivirus, aunque sea online, desinféctense y tengan cuidado para la próxima vez si alguien les envía las fotos de cuando tenían 4 años en la playa de Torrevieja.

1 Recordemos: Los archivos ejecutables en Windows son: *.exe (normales de toda la vida), *.com (ejecutables antiguos de la línea de comandos), *.bat (archivos de procesos por lotes que pueden tener dentro otro tipo de ejecutables) y *.pif (enlaces directos a programas de MS-DOS desde Windows 3.1).

Increíble… o no tanto

Estos estadounidenses HIJOS DE PUTA matan a un tío de tres tiros porque se levantó a increpar a un policía, lo graban en vídeo viéndose perfectamente ¡¡¡y le ponen pitidos para que no se oigan los tacos!!!

PUTOS HIPÓCRITAS DE MIERDA.

Nacionalismo

El nacionalismo es una enfermedad que se cura viajando.

Pío Baroja (1872 – 1956), escritor español de la Generación del 98.

Mis plugins imprescindibles en Firefox

En mis Firefoxes (porque tengo más de uno, en el ordenador de sobremesa, en el portátil, en el trabajo,… y a todos los amigos y conocidos que he convencido) tengo una serie de plugins que son imprescindibles:

  • Web Developer Toolbar: Imprescindible si eres desarrollador Web y/o maquetador.
  • HTML Validator: Igual que la anterior. Imprescindible para desarrollar. Además de esta estoy enganchado, todo lo que desarrollo tiene que tener la marquita verde.
  • Tab Mix Plus: Mil veces mejor para la gestión de solapas que el que trae el Firefox.
  • Locationbar2: Interesante ya que hace sensible al ratón la URL de la página.
  • Forecastfox: Para ver la meteorología del lugar donde selecciones.
  • Download Statusbar: Interesante barra de progreso de las descargas.
  • FlashGot: Para enviar a tu gestor de descargas favorito cualquier enlace.

Y un poco menos ensenciales pero que también ayudan:

  • Greasemonkey: Para ejecutar tus propios javascript en las páginas que selecciones.
  • MeasureIt: Para medir lo que sale en pantalla (útil para desarrollo) aunque Web Developer también lo tiene.
  • ColorZilla: Para ver el color de las diferentes partes de una página Web (útil para desarrollo).
  • Fast Video Download: Para descargar vídeos incrustados en páginas (como Youtube). Este es el primero que encontré que funciona casi sin problemas. No es que sea esencial…
  • del.icio.us Bookmarks: Si usas del.icio.us esta extensión es estupenda.

Tengo alguna más por ahí instalada que sirvió en su momento pero que luego deseché como Stylish, OpenBook, VideoDownloader,… y ese es el problema, que pones y pones extensiones gracias a la potencia y configuración de Firefox que llega un momento en que te pasas. Luego va lento y le echas la culpa al chisme. Y no. Hay que quitar las que sobren.

Espero que alguna de estas os resulte útil.

Los grandes también se equivocan

Parece mentira que un grande como es Google (por no decir el más grande en Internet) tenga en su página principal (que es la más visitada de todo el mundo) 11 errores de (X)HTML y 163 advertencias:

Búsqueda de 'beosman' en Google y sus errores

Ahora queda pensar si en algún momento rectificarán y harán su página más accesible porque así ya lleva bastante tiempo y parece que o nadie se ha dado cuenta o nadie quiere darse cuenta.

The Cyborg Name Decoder

La chorrada del día desde arturogoga, decodifica tu nombre cyborg:

Cyborg Name Decoder BEOSMAN

Cyborg Name Decoder BEOSMAN

Para D.I.E.G.O. también hay: Digital Individual Engineered for Galactic Observation.

Final de vacaciones

Mañana empieza de nuevo la monotonía diaria rota durante quince días por unas merecidas vacaciones. Esperemos que no sea duro aunque empiezo como los niños en el colegio, ansioso por ver a los compañeros aunque sin ganas de hacer exámenes.

Y esperemos, también, que la sequía bloggeriana sea menor a partir de ahora.

Gestión remota de usuarios en Ubuntu

En alguna que otra ocasión he accedido a mi sistema de forma remota y me he encontrado a alguien que no quería que estuviese dentro del mismo, por lo que me hubiera gustado echarlo desconectarlo de una forma, más o menos, elegante (vamos, sin matar todos sus procesos de golpe, o reiniciar las X o reiniciar el sistema).

En Windows (si, en Windows) es más fácil: basta abrir el administrador de tareas, ir a la solapa de usuarios, seleccionar al intruso y darle a desconectar.

Pero parece que eso en Linux no es posible más que de una forma un poco ruda:

diego@dbox:~:$ sudo skill -STOP -u <usuario>

Un pequeño problema es que el manual de skill dice que este comando está obsoleto por lo que, quizás, esto deje de funcionar en siguientes versiones. Aunque también es cierto que se podría usar el comando kill con la señal STOP o KILL junto con el PID del la shell o de las X del usuario en cuestión. Un poco más complicado y rudo aunque efectivo igualmente.

Para sacar los usuarios que hay en el sistema se puede usar el comando w o el comando ps aux con lo que saldrán todos los procesos del sistema con su correspondiente usuario y los PID’s de las sesiones de los mismos.

Una vez desconectado un usuario, para que no vuelta a entrar en el sistema, se utiliza el comando usermod para modificar su configuración (en este caso su contraseña anteponiendo un ! en el archivo /etc/shadow) bloqueando o desbloqueando su cuenta de usuario de la siguiente forma:

diego@dbox:~:$ sudo usermod -L <usuario>

Para volver a habilitar su cuenta de usuario se utiliza el comando:

diego@dbox:~:$ sudo usermod -U <usuario>

Pero claro, no se puede echar a un usuario así como así, sin, al menos, advertirlo, por lo que para enviar un mensaje a un usuario (a su shell o a sus X).

Para enviar un mensaje a un usuario que esté loggeado en un terminal (tty*) se puede utilizar el comando write de la siguiente forma:

diego@dbox:~:$ write <usuario> [nombre tty]

Pero para que funcione el comando write, el usuario debe estar en un terminal y, además, tiene que tener activados los mensajes (se activan y desactivan mediante el comando mesg) por lo que, en el caso de estar el usuario en una sesión de X, no vería dicho mensaje.

Pero para enviar un mensaje a una sesión X (ya sea de Gnome o de KDE) es bastante más complicado. En principio hay que usar una aplicación que presente mensajes en pantalla al estilo popup. Aquí se puede usar zenity (una reescritura de gdialog) para Gnome o kdialog para KDE con sus correspondientes parámetros.

Pero zenity (hablaremos de zenity ya que yo uso Gnome) está destinado para hacer scripts y mejorar su usabilidad por lo que los mensajes que se muestran al usuario tienen que estar en un script lanzado por él mismo con lo que si nosotros estamos en una sesión ssh y queremos mostrar un mensaje a otro usuario conectado no podemos hacerlo directamente.

Para ello hay que loggearse como dicho usuario (se supone que tenemos privilegios de root) y luego ya podemos lanzar el mensaje, más o menos de la siguiente forma:

diego@dbox:~:$ w
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
diego pts/0 dbox2 16:28 0.00s 0.00s 0.00s w
marta :0 – 15:25 ?xdm? 0.00s 0.00s x-session-manager
diego@dbox:~:$ zenity ––info ––text “Hola” ––display :0
Xlib: Connection to “:0.0″ refused by server
Xlib: No protocol specified
diego@dbox:~:$ su marta
Password:
marta@dbox:/home/diego:$ zenity ––info ––text “Hola” ––display :0
marta@dbox:/home/diego:$ exit
diego@dbox:~:$

La ejecución de zenity es síncrona, es decir, hasta que no se acepte o cancele el mensaje, el terminal permanecerá bloqueado.

Pero gracias a esto, también podríamos hacer un pseudochat entre usuarios, usando la opción ––entry en lugar de ––info con lo que el usuario que recibe el mensaje puede escribirnos una respuesta que será impresa en pantalla (escrita en stdout) cuando el usuario acepte el mensaje.

Ventana emergente de Zenity pidiendo texto de entrada

A partir de ahora hay que llevarlo a cabo (todavía no he tenido la oportunidad de probarlo en un entorno real) y, quizás, hacer un pequeño script que permita enviar mensajes en un sólo paso, sin la necesidad de cambiar de usuario manualmente, ni poniendo tanto parámetro en zenity, etc.

Seguiremos informando…