Social Icons

sábado, 21 de julio de 2012

Cambiar/Recuperar contraseña de Ubuntu en caso de olvido

Introducción

Puede ocurrir que olvidemos nuestra contraseña de Ubuntu en alguno de nuestros equipos. Recuperar la contraseña "es imposible", pero lo que sí podemos hacer es cambiarla sin disponer de la antigua.

Muchos creerán que ésto representa una debilidad en la seguridad de Ubuntu. En efecto, si alguien tiene acceso físico no autorizado a nuestro equipo y no tenemos codificado nuestra "Carperta Personal", podría conocer su contenido cambiando el password de acceso a nuestra cuenta. Podemos reponer la contraseña en caso de olvido, y lo puede hacer cualquiera aún no estando autorizado a acceder al equipo pero con acceso físico al mismo.

Para redactar este post nos hemos basado en Ubuntu 12.04, aunque creemos que sería válido esencialmente para Ubuntu 11.10 y los anteriores.

A qué NO está dedicado este post

Este post no está dedicado a enseñar a cambiar la contraseña de un usuario que recuerda o conoce la existente, pues tal labor es tan sencilla como usar la orden passwd. En efecto, abrimos la terminal o consola (Ctrl + Alt + t) y el ella escribimos:

passwd

y se genera el siguiente diálogo

Cambiando la contraseña de mi_usuario.
(actual) contraseña de UNIX: 

si escribimos la contraseña, que la conocemos y no la hemos olvidado, entonces tras intro el sistema responde (¡ojo! la contraseña se está escribiendo y guardando, aunque nosotros no vemos aparecer caracteres en la línea de la terminal; ¡qué esto no despiste al lector!):

Introduzca la nueva contraseña de UNIX:

introducimos la nueva contraseña e intro. El sistema responde:

Vuelva a escribir la nueva contraseña de UNIX:

y volvemos a escribir la nueva contraseña;  tras intro, si está bien escrita, se nos dice:

passwd: contraseña actualizada correctamente

y hemos acabado de actualizar o cambiar la contraseña. Pero qué pasa cuando no recordamos la contraseña antigua; este proceso es inviable como cualquier persona sensata entenderá. Para recuperar el control de nuestra máquina se precisa en tal caso seguir otro procedimiento, que es el siguiente ...

Procedimiento

-) Arrancamos el equipo y mantenemos pulsadas las dos tecla de "Mayúscula" hasta que aparezca la pantalla violeta de los modos de arranque; han sido reportados casos en los que esto no ha funcionado satisfactoriamente, pero en todos ellos la solución ha sido entrar en el setup de la bios a la hora de arrancar de la forma habitual de la máquina, no hacer nada y salir sin guardar cambios e inmediatamente pulsar las dos teclas de "Mayúscula" como se ha dicho antes ... esto debería bastar para que apareciera la pantalla violeta de los modos de arranque.

En Ubuntu 14.04.01 LTS dicha pantalla muestra una opción que es:

Opciones avanzadas para Ubuntu

descendemos con la "flecha hacia abajo" hasta esta opción (recuérdese que ahora obviamente no funciona el ratón) que aparecerá en blanco y un asterisco al comienzo

*Opciones avanzadas para Ubuntu

Hecho esto, pulsamos la "flecha hacia la derecha" del teclado y aparecerá la opción:

Ubuntu, with Linux 3.13.0-43-generic (recovery mode)

como antes, con "flecha hacia abajo" bajamos hacia ella y cuando quede iluminada aparecerá algo así como:

* Ubuntu, with Linux 3.13.0-43-generic (recovery mode)

pulsamos "intro" y entraremos en la pantalla distinta en la que una de las opciones es "root". Bajamos hasta ella hasta que quede su fila en naranja y pulsamos intro (también podemos dar al tabulador hasta que que <Aceptar> quede en naranja y entonces pulsamos "intro". El efecto será que en la parte baja de la consola quedará un mensaje del tipo:

root@mi_usuario-nombre_del_equipo:~#

y es en dicha línea donde operaremos como se indica más abajo (la numeración 3.13.0-43 puede cambiar en el transcurso del tiempo).


&&&&&&&&&&&& sólo para usuarios con versiones antiguas de Ubuntu &&&&&&&&&&&

Para versiones más antiguas de Ubuntu, en la primera pantalla (tras aquello de arrancar con las mayúsculas pulsadas) una de las líneas ---la segunda--- podría ser algo así como:

                         Ubuntu, con Linux 3.2.0-23-generic-pae (modo recuperación)

Marcamos esa línea y pulsamos "intro". Ocasionalmente la numeración "3.3.0-23" puede ser otra; lo importante es seleccionar la línea que incluya la expresión "modo recuperación".


-) Tras un proceso automático estaremos en el "Menú de recuperación (estado del sistema de archivos: solo". Seleccionaremos la opción:

           root          Pasar a un intérprete de órdenes como administrador

y pulsaremos "intro".

&&&&&&&&&&&& fin de la indicación para versiones antiguas &&&&&&&&&&&&&&&&&

-) Suponemos estar en la consola del administrador, se reconoce por el símbolo "#". En ella ejecutamos la orden:

mount -rw -o remount /

Esto hace que la partición "/" sea montada de nuevo con permisos de lectura y escritura. La idea nos la ha proporcionado uno de nuestros lectores, D. Alfredo Severo, que recibe nuestro agradecimiento.

-) Ejecutamos la orden:

passwd mi_usuario

donde "mi_usuario" es el login de nuestra cuenta con poderes de administrador; a la que queremos cambiar el password. Aparece el siguiente diálogo:

Introduzca la contraseña de UNIX:

es ese momento en el que escribimos la nueva contraseña, y no debe preocuparnos que no aparezca indicio de escritura pues sí que está siendo escrita aunque no lo veamos. Reconfirmamos la contraseña tras pulsar "intro" y aparecer:

Vuelva a escribir la nueva contraseña de UNIX:

pulsamos "intro" y si no nos hemos equivocado reescribiendo la contraseña, saldrá un mensaje de éxito:

passwd: contraseña actualizada correctamente

-) Echamos abajo el sistema escribiendo la orden:

shutdown -r now

y pulsando "intro".

Esperamos y el proceso de arranque continuará como normalmente. Al arrancar de nuevo,  el proceso se para, sólo por esta vez, en la pantalla de "GNU GRUB versión 1.99-21ubuntu3.1". Para que continúe bastará con pulsar "intro" y arrancaremos por defecto con la opción "Ubuntu, con Linux 3.2.0-23-generic-pae" (o lo análogo en cada caso). Ahora la contraseña de nuestra cuenta será la nueva, o sea, la actualizada; no la hemos recuperado, pero hemos podido cambiarla sin conocer la antigua.

Y ... esto es todo por hoy.

lunes, 16 de julio de 2012

Instalar gyazo

Introducción

Hace poco quisimos instalar la aplicación "gyazo" la cual nos permite recortar una parte de nuestro escritorio para subirlo a la web y así compartirlo con gente através de internet. Pero al intentar descargarlo, encontramos que nos llevaba a una página escrita en japonés en la cual no entendiamos mucho. Tras indagar y hacer algunas pruebas encontramos como instalarlo y hoy queremos dejarles una explicación clara de como se hace.

Software necesario

Para usar la aplicación necesitaremos de tres utilidades:

1- Ruby que para instalarlo solo habremos de escribir en la terminal

sudo apt-get install ruby

2-Xclip para el cual solo tecleamos en la termina

sudo apt-get install xclip

3-Por último necesitamos instalar imagemagick el cual se instala con la orden

sudo apt-get install imagemagick


A continuación ejecutamos el editor de texto que queramos, en nuestro caso emacs, y copiamos el siguiente código que es el que se sirive en la web oficial. Tras copiarlo guardamos el archivo con el nombre que queramos, pero con la terminación .rb


Ejecución del programa

Una vez hecho, en la terminal, vamos a la carpeta donde está el archivo que hemos creado y copiamos lo siguiente

chmod +x nombre de nuestro archivo.rb

Con esto le cambiaremos los permisos para que lo pueda ejecutar y simplemente para 
arrancar la aplicación escribiremos en la terminal (estando en la carpeta donde esta el archivo)

./nombredelarchivo.rb

Y ... esto es todo por hoy.




domingo, 20 de mayo de 2012

Firmar con Ubuntu aportaciones a grupos de investigación desde la página sica2.cica.es

Introducción

Recientemente hemos ayudado a un investigador a firmar aportaciones desde la página del CICA al efecto. Como verán el proceso no es nada trivial. Por tanto, hemos estimado conveniente ayudar desde aquí a los lectores que tenga una necesidad parecida y hayan creído en Linux, en particular en Ubuntu, como única herramienta de trabajo.

Habilitación de la lectura del dni electrónico (dnie)

Éste será el primer paso que demos: hacer que nuestro Ubuntu sea capaz de autenticarnos y firmar desde nuestro dni electrónico. 

Estudiado el problema y leídas las instrucciones que da el Ministerio del Interior, hemos visto que no podemos mejorar lar excelente información que dan en BITPLANET. Allí figuran magistralmente escritas las certeras instrucciones que hemos probado para las instalaciones de 32 y 64 bits ... y funcionan a las mil maravillas. No obstante es preciso subrayar las siguientes observaciones:
  • El lector de tarjetas que hemos usados es el que la Universidad de Granada ha provisto a sus funcionarios: USB smart card reader Gemalto. Nos ha valido el mismo driver que a  BITPLANET,  el cual se instala con la orden:
    sudo apt-get install libacr38u
  • Usaremos Firefox y no otro navegador.
  • Debemos tener el certificado de nuestro dnie en vigor. Si esto no fuera así, basta con acudir, provistos de tarjeta del dnie y su password, a cualquier oficina en las que se expide el dni, y en una de esas máquinas (parecida al cajero automático) proceder a actualizar los certificados del dnie. Es un sencillo procedimiento que no requiere asistencia de funcionario y que dura unos 3 minutos.
  • Debemos hacer la prueba de verificación de nuestra instalación en la página recomendada por BITPLANET para así estar seguros antes de proseguir.
  • Si no tiene la última Ubuntu, es decir la Ubuntu 12.04, no se preocupe porque también hay instrucciones para las anteriores.
El lector de pdf para Firefox

En el proceso necesitaremos tener Adobe Reader incrustrado en nuestro Firefox. Para ello bajaremos Adobe Reader de la página de descarga, rellenando la ficha con los datos siguientes:

Paso 1: Linux
Paso 2: Spanish
Paso 3: Reader 8.1.7 Spanish for Linux (.deb)

y luego pulsamos en "Descargar ahora" .  Como resultado bajará, digamos a

/home/mi_usuario/Descargas 

el fichero:

AdobeReader_esp-8.1.7-1.i386.deb

que instalaremos con la orden:

sudo dpkg -i AdobeReader_esp-8.1.7-1.i386.deb

seguidamente abriremos la aplicación recién instalada para aceptar la licencia; esto se hace abriendo el selector de aplicaciones con Super+a, escribiendo en la ventana "acroread" y haciendo clic sobre el icono "Adobe Reader" luego pulsaremos "Aceptar" en la ventana que emerge para el "Acuerdo de licencia", seguidamente cerraremos la aplicación.

Después es necesario poner a disposición de Firefox el Adobe Reader recién instalado, para ello haremos:

sudo apt-get install mozplugger

Vincular Java a Firefox

Hemos sabido ---¡no pregunten cómo!--- que la versión de Java que se instala con nuestras instrucciones dadas aquí no es lo suficientemente moderna como para servirnos.

En la prueba que hemos hecho no habíamos ejecutado la orden:

sudo apt-get install openjdk-7-jre openjdk-7-jdk icedtea-7-plugin

pero si ustedes la hubieran ejecutado creemos que bastaría, por precaución, con desinstalar temporalmente el paquete icedtea-7-plugin, lo cual llevaremos a cabo con la orden:

sudo apt-get --purge remove icedtea-7-plugin

De todas formas, podemos saber la versión de java que tenemos desde la terminal (Ctrl+t) con las órdenes:

java -version

javac -version

Si  resulta que tenemos una superior o igual a la 6u31, restaría ver si está vinculada a nuestro navegador visitando la página de prueba de instalación de Java. Si el resultado de ambas pruebas es satisfactorio, no hay nada que hacer en este apartado; pero si alguno falla habría que proceder como indicamos más abajo en la parte o partes que corresponda.

Ahora debemos instalar la versión de Java necesaria. Para ello bajamos desde la página de Oracle el paquete de Java SE Development Kit 6 Update 31 (no olvidemos activar el radiobotón "Accept License Agreement"). Si tenemos un Ubuntu de 64 bits bajaremos jdk-6u31-linux-x64.bin
y si tenemos el de 32 bits bajaremos jdk-6u31-linux-i586.bin.

Encontraremos el inconveniente de que este fichero binario, que no es más que un directorio comprimido, baja sin permiso de ejecución y será necesario dárselo. Supongamos que ha bajado a /home/mi_usuario/Descargas. Abriremos una terminal y ejecutaremos 

cd /home/mi_usuario/Descargas

y seguidamente, caso de tener el jdk-6u31-linux-i586.bin, ejecutamos:

chmod -R 764 jdk-6u31-linux-i586.bin

y caso de tener el jdk-6u31-linux-x64.bin, ejecutamos:

chmod -R 764 jdk-6u31-linux-x64.bin

Una vez tengamos dado el permiso, haremos lo siguiente (para fijar ideas suponemos que tenemos el paquete jdk-6u31-linux-i586.bin y si fuera el otro haríamos los cambios pertinentes, observar que jdk1.6.0_31/ es el directorio que se produce al descomprimir el .bin y tiene el mismo nombre en el caso de 64 bits):

cd /home/mi_usuario/Descargas
./jdk-6u31-linux-i586.bin
   (cuidado porque en un momento dado habrá que pulsar "enter" para poder continuar)
sudo mv jdk1.6.0_31/ /usr/bin

Aquí no ha acabado la cosa, pues ahora hay que hacer que Firefox reconozca la versión de Java recién "instalado". Para ello iremos al lugar donde tenemos instalado el directorio "plugins" de Firefox, en nuestro caso:

cd /usr/lib/mozilla/plugins

y haremos el nexo simbólico siguiente:

sudo ln -s /usr/bin/jdk1.6.0_31/jre/lib/i386/libnpjp2.so

Ahora reiniciamos nuestro Firefox si lo tenemos abierto, o sencillamente lo abrimos si no lo tenemos, y hacemos la prueba de instalación de Java. Debe salir un mensaje de éxito incluyendo el texto:

Su versión de Java: Version 6 Update 31

Con esto parece que podremos hacer nuestra gestión de introducción y/o validación de trabajos en el CICA a fin de tener los contenidos de los grupos actualizados.


Si tienen alguna duda o comentario, intentaremos ayudarles.

Y, al fin, ... esto es todo por hoy.

domingo, 29 de abril de 2012

Instalación estándar de Ubuntu 12.04 LTS y una adecuación para uso científico

Hemos instalado en nuestras computadoras habituales la nueva versión de Ubuntu, es decir, Ubuntu 12.04 LTS de nombre "Precise Pangolin". Esta vez hemos probado las versiones de 32 y 64 bits y todo parece funcionar.

No encontramos, por ahora, nada nuevo que añadir a nuestro anterior post con el mismo nombre para Ubuntu 11.04. Por tanto, remitimos a nuestros lectores a dicho post y les recomendamos que lo sigan


Como única observación diremos que la instalación de Google Earth ha funcionado en unos equipos y en otros no, por lo que damos la información sin garantía y trataremos de afinar sus términos en el transcurso de las siguientes semanas.

Y ... esto es todo por hoy,

domingo, 15 de abril de 2012

Convertir un pdf en otro más ligero con Ghostscript

Introducción

Este post contiene una explicación de éste otro que nos ha parecido interesante. Tiene por objeto indicar un procedimiento aceptablemente fiable ---aunque no totalmente--- para aligerar el peso de ficheros .pdf pesados, bien porque nuestro escaner los genera de esa forma o porque los hemos recibido así en un correo.

Los .pdf pesados pueden ser interesantes para ser usados en  reconocimiento de caracteres (OCR), pero molestan a la hora de ser enviados por correo o bien si tenemos poco espacio en disco o cuenta de correo.

Para llevar a cabo la operación debemos tener instalado en nuestro Ubuntu los paquetes Ghotscript y Gsfonts. Si no estuvieran, ejecutaríamos la siguiente orden de consola:

$ sudo apt-get install ghostscript gsfonts


El mencionado post indica que para aligerar el tamaño del pdf basta ejecutar la siguiente orden, que es una única línea:

$ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE 
-dQUIET -dBATCH -sOutputFile=pdfReducido.pdf pdfOriginal.pdf

Donde pdfReducido.pdf será sustituido por el nombre que se le  quiera dar al fichero resultante del proceso, y pdfOriginal.pdf será el nombre del archivo pdf de origen.


Nosotros vamos a explicar aquí qué es lo que hace esta orden.

Opciones de gs (Ghostscript)


Vamos a analizar las siguientes opciones:


-dNOPAUSE 
indica que no habrá pausa después de la página.


-dBATCH 
indica que saldremos después de la última página.


-sDEVICE=<nombredeldispositivo>
sirve para seleccionar el dispositivo y las posibilidades para  nombredeldispositivo son en una cantidad formidable. Para verlas se puede hacer


$ gs --help


una de las posibilidades es pdfwrite que será usada muy frecuentemente.


-sQUIET 
indica que han de ser emitidos un menor número de mensajes. Es equivalente a escribir -q.


-dCompatibilityLevel=<1.x> 
entre las posibilidades para x tenemos:
  • 2 crearemos ficheros pdf que pueden ser abiertos con Acrobat Reader 3 o posterior.
  • 4 crearemos ficheros pdf que pueden ser abiertos con Acrobat Reader 5 o posterior 
-dPDFSETTINGS=<opcion> 
entre las posibilidades de  opcion tenemos las siguientes:
  • /screen selecciona una salida a baja resolución
  • /ebook selecciona una salida a resolución media
  • /prepress 
  • /default selecciona salida destinada a ser útiles en una amplia variedad de usos, posiblemente a expensas de un gran tamaño en el archivo de salida.
Parece que también podría ser usado, en su lugar, -r<res> donde res es la resolución especificada en pixels/pulgada.


-sOutputFile=<nombreFichero>
nombreFichero será el nombre del fichero de salida.


-dAutoRotatePages=<opcion>
entre las posibilidades de  opcion tenemos las siguientes:
  • /PageByPage 
  •  /All  
Esto rotará en modo auto las páginas en horizontal cuando sea necesario.


Referencias


Para aprender más recomendamos la página de Visión General de Ghostscript. Recomendamos muy especialmente visitar dentro de ella la que explicar el uso de ps2pdf y la de uso de Ghostscript. Estas direcciones las hemos encontrado sugeridas en esta página con el título Creating a free PDFWriter using Ghostscript.


En este lugar, un reciente post nos informan de como llevar a cabo esta tarea más cómodamente usando un script hecho al efecto.


Y ... esto es todo por hoy.

sábado, 14 de abril de 2012

Adecuar Emacs/Auctex para usar Pdflatex y Evince por defecto

Introducción
Por alguna razón que desconocemos,  nuestro dúo preferido  para editar ficheros LaTeX ---emacs y auxtex--- no viene preconfigurado en Ubuntu para usar por defecto el formato pdflatex y el visor Evince. Por una parte creemos desfasado  compilar con Latex para crear un .dvi y por otra, la mayoría de visores no actualizan automáticamente un .pdf si éste ha sido modificado; no es el caso de Evince. Por tanto, queremos que al compilar los .tex desde emacs+auctex actúe pdflatex y que bajo demanda se habra el .pdf generado mediante Evince ... y por suerte emacs es muy configurable.

Suponemos ya instalado en nuestro Ubuntu emacs, texlive y auctex; si no es así, ejecútese la siguiente orden de consola:

sudo apt-get install emacs texlive auctex

Este post ha sido elaborado en colaboración con nuestro seguidor D. Alberto Rodríguez, que recibe nuestro agradecimiento.

Procedimiento

Seguiremos los siguientes pasos:
  • Abrimos cualquier fichero .tex que tengamos a mano.
  • Pulsamos en "LaTeX" del menú contextual de emacs.
  • Posicionamos el cursor en "Customize AUCTeX" y pulsamos en "Extend this Menu".
  • Volvemos a pulsar en "LaTeX" y poner el cursor sobre "Customize AUCTeX" ... ahora aparecerá un menú más amplio, como era de esperar.
  • Nos posicionaremos sobre "Tex Command" y luego sobre "Tex Pdf Mode..." del submenú; haremos clic y veremos que se abre una nueva página. Se trata de operar sobre ella.
  • Veremos el apartado "Tex Pdf Mode" y debe estar en "off (nill)". Esto debe cambiar y para ello pulsamos sobre la tecla "Toggle" y ahora aparecerá a "on (non-nill)". Es necesario guardar lo hecho, por lo que pulsaremos sobre el botón "Save for future sessions". Con esto AUCTeX compilará ahora los .tex con pdflatex y generará ficheros .pdf. Pulsamos sobre el botón "Exit".
  • Seguidamente pulsamos de nuevo sobre "Latex" y pulsamos  sobre "Customize AUCTeX > Tex Command > Tex View > Tex View...". Vamos a "Tex Source Correlate Method" y:                       
    • Pulsamos en el botón "Value Menu" y seleccionamos "synctex". Pulsamos en el botón "State" y marcamos "Save for Future Sessions".
    • Pulsamos en "Value Menu" de la sección "Tex Source Correlate Start Server" y marcamos "Always". Pulsamos en el botón "State" y marcamos "Save for Future Sessions".
    • Pulsamos en "Toggle" de la sección "Tex Source Correlate Mode".  Pulsamos en el botón "State" y marcamos "Save for Future Sessions".
         Pulsamos sobre el botón "Exit".       
  • Para seleccionar a Evince o Okular  como visor predeterminado de pdf:
    • Pulsamos de nuevo sobre "Latex" y pulsamos  sobre "Customize AUCTeX > Tex Command > Tex View > Tex View Program List..." y pulsamos sobre el botón "INS" y rellenamos el formulario como sigue:
      • en "Name:" escribimos:  Evince.
      • si no vemos junto a "Value Menu" la palabra "Command:", pulsamos en dicho botón y seleccionamos "Command".
      • En "Command:" escribimos: evince --page-index=%(outpage) %o
      • Pulsamos en "State" y seleccionamos "Save for Future Sessions".
      • Pulsamos sobre el botón "Exit".
    • Pulsamos de nuevo sobre "Latex" y pulsamos  sobre "Customize AUCTeX > Tex Command > Tex View > Tex View Program Selection.." y pulsamos sobre el botón "INS" y rellenamos el formulario como sigue:
      • Pulsamos sobre el primer botón de "Value Menu" y seleccionamos "Single predicate"
      • Pulsamos en el  botón "Value Menu" contiguo y seleccionamos "output-pdf".
      • En "Viewer" pulsamos su botón correspondiente de "Value Menu" y seleccionamos "Evince".
      • Pulsamos en "State" y seleccionamos "Save for Future Sessions".
      • Pulsamos sobre el botón "Exit".  
Ahora cerramos emacs y si volvemos a abrir con él algún .tex, veremos que funciona como deseábamos. 

Como complemento y en relación con ello, les recomendamos leer este post nuestro.

Para los que prefiren Okular

Si alguno de los lectores prefiere Okular en lugar de Evince, como visor de pdf,  puede seguir las indicaciones  que encontrará aquí.

Y ... esto es todo por hoy.

martes, 7 de febrero de 2012

Mi Primera Clase de Emacs

Introducción

Wikipedia dice que EMACS es un acrónimo de Editor MACroS para el TECO. Fue escrito en 1975 por Richard Stallman junto con Guy Steele. Fue inspirado por las ideas de TECMAC y TMACS, un par de editores TECO-macro escritos por  Guy Steele, Dave Moon, Richard Greenblatt, Charles Frankston y otros. Se han lanzado muchas versiones de EMACS hasta el momento, pero actualmente hay dos que son usadas comúnmente: GNU Emacs, iniciado por Richard Stallman en 1984, y XEmacs, una bifurcación de GNU Emacs, que fue iniciado en 1991. Ambos usan una extensión de lenguaje muy poderosa, Emacs Lisp, que permite manejar tareas distintas, desde escribir y compilar programas hasta navegar en Internet. GNU Emacs es mantenido por el Proyecto GNU Emacs.

Por nuestra parte, en este blog ha sido elogiado mucho ---aunque no suficiente--- el valor de la gran herramienta que es emacs. Y si observan, nos hemos esforzado por decir cómo se complementa emacs para cada lenguaje que ha ido apareciendo. Nos comprometemos a seguir haciéndolo.

Para la edición de este post nos hemos convertido en reporteros y hemos visitado  a tres de los usuarios que lo han sido de Linux desde que este sistema se popularizara a principio de los 90. Les hemos observado trabajar con emacs ---todos usan GNU Emacs, por cierto. El culmen de la espectacularidad llegó cuando les vimos escribir sus trabajos a LaTeX: marcaban párrafos, cortaban y pegaban, añadían líneas en blanco, marcaban columnas, las cortaban y guardaban en registros, pasaban a mayúsculas párrafos completos, traían la consola a su GNU Emacs, consultaban el correo ... En algunos momentos creímos estar ante pianistas o ... abaquistas. ¿Es que la maestría incluye al arte? ¿Cuál es la fina línea que separa a ambos?

Hemos de transmitir la extrañeza con la que estos hombres observan las reticencias de las  nuevas generaciones a usar emacs; se muestran perplejos de cómo los estudiantes van coleccionando "editores" de propósito específico a medida que van tocando lenguajes.

De nuestras observaciones surgen estos contenidos. Es nuestra la mayor parte de la explicación sobre configuración de la instalación, excepto lo referido a .emacs. 

Instalación en Ubuntu

Lo hemos dicho antes, en Ubuntu 11.10 la instalación de emacs es con

sudo apt-get install emacs

una vez hecho ésto personalizaremos nuestro GNU Emacs en varios aspectos. 

El tamaño de la pantalla

Lo primero es darle el tamaño que más nos guste a la ventana de trabajo de emacs; si tenemos un netbook o un notebook, esta operación será obligatoria. Para ello instalaremos "alacarte", herramienta para retocar los lanzadores de las aplicaciones, de uso peligroso y algo tosco (en este otro post indicamos una forma más conveniente para sustituir lo que se dice en esta sección "El tamaño de la pantalla", recomendamos vivamente seguir esa otra información):

sudo apt-get install alacarte

Una vez instalado alacarte:

sudo alacarte

seguidamente, en el apartado "Programación", se hace clico sobre "GNU Emacs 23" con lo que se sombrea, luego pulsamos "Propiedades" y añadimos en la casilla "Comando" y al final

-geometry 110x40

Nos ha quedado entonces en la casilla comando: 

/usr/bin/emacs23 %F -geometry 110x40

seguidamente "cerrar" y "cerrar".

Pero como también podríamos haber lanzado emacs desde la teminal, como superusuario por ejemplo, debemos modificar el fichero .bashrc (/home/mi_usuario/.bashrc) si queremos tener el efecto deseado; esto sería añadiendo al final del mismo lo siguiente:

alias emacs23='emacs23 -geometry 110x40'
alias emacs='emacs23 -geometry 110x40'

Por supuesto que los valores 110 y 40 son los apropiados a nuestro notebook; cada cual debe elegir sus valores.

El icono en la barra lateral de lanzadores

Lo segundo es poner un icono en la barra lateral de lanzadores de Unity; para ello haremos Super + a ("Super" es la tecla que en los teclados suele estar entre el Ctrl y el Alt) y escribimos en la barra "emacs"; aparece entonces su icono y haciendo clic sobre él, se abre y aparece el icono en la barra. 

Haremos clic derecho sobre el icono y pondremos un tic sobre "Mantener en el lanzador".

Opciones

Como tenemos el icono en la barra de lanzadores hacemos clic sobre él y lanzamos nuestro emacs. Pulsamos "Options" y deben de quedar con un tic las siguientes entradas de la lista:

Active Region Highlighting
Paren Match Highlighting
Case-Insensitive Search
Blinking Cursor

Entraremos en Show/Hide y procuraremos poner tic en al menos:

Tool-bar
Menu-bar
Tooltips
Size Indication
Line Numbers
Column Numbers

Si se quiere un menú de navegación, pondríamos tic también sobre Speedbar y ... en general sobre todo lo que queda, pues todo es interesante.

Seguidamente vamos al sistema de codificación:

Options -> Mule (Multilingual Environment) -> Set Language Environment -> UTF-8

Finalmente seleccionamos la fuente por defecto. Nos gusta mucho lo que viene por defecto, no obstante puede que el tamaño de la letra sea demasiado pequeño; por ello seleccionaremos un tamaño algo más grande:

Options -> Set Default Font...

y sobre la caja que se abre seleccionamos fuente, estilo y tamaño. Nos gusta:

Monospace, Regular, 10

seguidamente pulsamos "Aceptar" ... y hecho todo esto, pulsamos ---no olvidarlo nunca--- "Save Options". Con todo lo dicho, tendremos bastante adecuado nuestro emacs.

El fichero .emacs

La modificaciones al tomar opciones son guardadas en un fichero de configuración, el fichero .emacs. Nosotros podemos tocar en él para completarlo a nuestro gusto. Por ejemplo, si queremos que cada vez que abramos un fichero con nuestro emacs, la línea del cursor quede resaltada o iluminada, editaremos con el propio emacs nuestro .emacs (su localización es /home/nuestro_usuario/.emacs) e introduciremos estas líneas:


;;Activa el iluminado de la linea del cursor
(global-hl-line-mode 1)

Manuales

Siempre recomendamos leer manuales pequeños al principio y para ello nada mejor que el pequeño gran manual de D. Hector Mora; este manual nos llevará al final del uso básico de emacs sin ratón, como debe ser. El manual de referencia es el que brinda la homepage for GNU Emacs.

El lector puede sondear la red para consultar la enormidad de manuales y minimanuales sobre emacs.

Uso Básico

Nosotros dejamos aquí el uso básico sin ratón recogido de los usuarios.

Hay que saber que:
  • Muchos, al hacer estos manuales, escriben C en lugar de Ctrl y M en lugar de Alt. Nosotros preferimos Ctrl y Alt.
  • <break> no es tecla, quiere decir en nuestro lenguaje que quitamos las manos del teclado, o sencillamente que no pulsamos tecla alguna durante un instante. Por ejemplo, Ctrl+x <break> 5 2  quiere decir que pulsamos Ctrl+x, dejamos de pulsar cualquier tecla, pulsamos 5 y luego pulsamos 2.
  • Ctrl+ significa que mantenemos pulsada la tecla Ctrl y luego pulsamos las siguientes teclas en secuencia, hasta encontrar un <break>, momento en que no estaremos pulsando ninguna tecla. Por ejemplo, Ctrl+x f significa que manteniendo siempre pulsada la tecla Ctrl pulsamos primero x, soltamos la tecla de x y luego pulsamos la de f. Ctrl+x f es sinónimo de Ctrl+x <break> Ctrl+f pero preferimos la primera por ser más económica en tiempo y esfuerzo.
  • A veces tenemos que pulsar una tecla que no parece estar reflejada en la secuencia. Por ejemplo, Alt+% nos exige hacer Alt+shift+5.
  • Es preciso estar muy atento a la línea que hay dentro de la caja inferior en la pantalla de emacs. Esa línea es llamada "mini-buffer" y le precede la "línea de modo". Por ellas es por donde se comunica emacs con nosotros ... y nosotros con él.
¡Los atajos!

Ctrl+a             - lleva el cursor al comienzo de la línea (vale incluso marcando)
Ctrl+e             - lleva el cursor al final de la línea (vale incluso marcando)
Ctrl+g            - iterrumpe una orden en curso, es equivalente a ESC pulsado
                         en secuencia cuantas veces sea necesario. Ctrl+g puede 
                         tener efecto más rápido que ESC, aunque a veces
                         es también necesario pulsarlo varias veces.
Ctrl+o           - coloca una línea en blanco bajo la línea en la que está situado el
                        cursor

Ctrl+s            - busca un carácter o secuencia de caracteres
Ctrl+x f         - carga un fichero
Ctrl+x s         - graba el fichero
Ctrl+x w        - guarda el fichero abierto, pero con otro nombre si se quiere
Ctrl+y            - copia lo que hay en el buffer de memoria

Ctrl+espaciadora   - señala el comienzo de un bloque a marcar.
                                Con las flechas nos movemos hasta el final
                                del bloque deseado. Veremos que se ha sombreado.
Ctrl+w                   - corta el bloque marcado
Alt+w                    - copia el bloque marcado

Ctrl+x <break> 2   - parte la ventana actual en dos secciones una sobre la otra
Ctrl+x <break> 3   - parte la ventana actual en dos secciones una a la derecha
                                 de la otra

Ctrl+x <break> 1   - deja una parte de la ventana, si estuviera partida en secciones. La
                                 ventana que queda es aquella en la que está el cursor
                                 cuando se ejecuta la orden
Ctrl+x <break> o       - mueve el cursor de una sección de la ventana a la otra,
                                     cuando la ventana está partida en dos secciones
Ctrl+x <break> 5 2    - abre una nueva ventana

Ctrl+x <break> u       - deshace lo último que hemos hecho en una sección de ventana

Alt+%    - busca y reemplaza (esto es, Alt+shift+5, las tres a la vez)
Alt+q     - reordena el texto del párrafo o entorno justificándolo
Alt+!     - aparece la línea de órdenes de la consola dispuesta para que ejecutemos
               alguna orden. Esto es Alt+shift+1, todo a la vez.

Alt-x <break> hl <break> Tabulador <break> intro   - resalta la línea del cursor, si es que no
                                                                                      hemos decidido hacer este cambio
                                                                                      permanente tocando al .emacs como
                                                                                      decíamos antes.

Atajos bajo auctex en ficheros .tex

Para escribir ficheros .tex con emacs, instalaremos el paquete que adecua el menú de emacs a LaTeX:

sudo apt-get install auctex

y se tiene cargado un fichero .tex entonces 

Ctrl+c t p - hace que el resultado de la compilación sea un .pdf 
                  en lugar de un .dvi. Es un commutador, si está puesto
                  lo quita y si está quitado, lo pone.
Ctrl+c t i - la compilación entra en modo interactivo. Sirve para depurar
                 errores y también es un commutador. Muestra el contenido del
                 fichero .log a medida que éste se va haciendo.
Ctrl+c c   - compila el fichero 

Ctrl+c <break> ;     - comenta el bloque previamente marcado, si no está comentado,
                                 y lo descomenta si lo está.

Ctrl+c e       - introduce en el texto un entorno de latex por seleccionar

Y ... esto es todo por hoy.