SVN in-place import

Directamente del FAQ de SVN. Yo me iba siempre por el camino “difícil” (copiar, importar, rm, checkout), pero una búsqueda en Google me llevó a la respuesta:

svn mkdir file:///root/svn-repository/etc \
         -m "Make a directory in the repository to correspond to /etc"
cd /etc
svn checkout file:///root/svn-repository/etc .
svn add apache samba alsa X11
svn commit -m "Initial version of my config files"

Nada del otro mundo, lo sé, pero hace la tarea un poco más fácil.

Cambiar el nivel de brillo desde línea de comando en Linux

Debido a que uso XMonad, siempre busco la forma de realizar tareas con el teclado.  Cuando hablé de ese administrador de ventanas también puse un par de scripts que uso para escribir información miscelánea en la “barra” que creo con dzen2. Pero hay algo que todavía no logro desde la línea de comandos: cambiar el nivel de brillo de la pantalla.

Bueno, en realidad no es que no haya podido, solamente que el método que uso no es definitivamente el mejor: cambiar directamente el archivo /sys/class/backlight/acpi_video0/brightness con el nivel de brillo deseado (que sin mal no recuerdo va de 0 a 20) con el comando:

echo 10 > /sys/class/acpi_video0/brightness

(para un valor de 10, por ejemplo. La ubicación del archivo puede variar dependiendo de la distribución.)

El problema de este método es que, para que funcione, hay que hacer una de 2 cosas:

  • chmod para que cualquier usuario pueda modificarlo, o
  • ejecutar el comando como root

Para muchos, quizá no importe el hecho de tener que ser root para ejecutar un comando, pero hay que recordar que se recomienda no ejecutar nada como súper usuario para evitar posibles agujeros de seguridad. Y tener el archivo con permisos 777 tampoco es la meta.

Estuve revisando, y encontré que xrandr tiene la propiedad Backlight, la cual controla el nivel de brillo en la pantalla. Según xrandr –prop los valores válidos están en el rango 0-9, así que intenté un xrandr –set Backlight 5, pero no pasó nada.

Como tengo gnome-power-manager en .xsession y las hotkeys de la laptop para ajustar el brillo funcionan, pensé que mi problema estaría resuelto, pero no contaba con que al usarlas, el valor que cambia es el mismo que xrandr reporta, por lo que, como ya podrán imaginar, no pasó nada. Y lo mismo pasó con xbacklight, el cual reporta un cambio al usar xbacklight -10%, pero en realidad no sucede nada.

Cierto es que podría hacer un script para modificar el brillo y podría ligarlo a la combinación de teclas Mod4 + left/right, pero termino en lo mismo de arriba: si no lo ejecuto como root, sencillamente no va a funcionar.

De momento, lo que hago siempre que entro en Linux (en XMonad) es ejecutar el comando ya mencionado (echo del valor al archivo) como root. Da flojera, sí, pero es la única solución que ha funcionado hasta el momento.

XMonad

Cuando recién comencé a usar Linux, no tenía ninguna preferencia por algún administrador de ventanas. Por supuesto, en ese entonces solamente conocía lo que venía por default (Gnome o KDE), pero las distribuciones que usaba por lo general dejaban a Gnome por default. Luego conocí XFCE, fluxbox y algunas otras, ampliando así la selección.

Por influencia de un amigo, comencé a usar administradores de ventanas por mosaico. Estos se basan en dividir la pantalla en partes que son ocupadas por los programas; las partes no se enciman, sino que la pantalla se va “partiendo” cada que un programa se inicia en modo gráfico. Administradores como Gnome, KDE, XFCE, el mismo Windows de Microsoft y OSX de Apple usan la pantalla como una pila de coordenadas, en donde se van poniendo las ventanas que se requieran. Creo que sobra decir que, a diferencia de Windows y OSX, el entorno gráfico de Linux (X) es simplemente otro programa (no un sistema operativo), por lo que no hay un administrador de ventanas “preferido” para X, y en una misma computadora se pueden tener tantos como se quiera. Por ejemplo, mi computadora de escritorio tiene Gnome y dwm; mi laptop “inmortal” (que ya no está conmigo) tenía XMonad y XFCE; en el trabajo uso XMonad y Gnome.

Primero comencé con Ion2. Sinceramente no entendía todavía los beneficios de un administrador de ventanas por mosaico, y ciertamente la transición de Gnome o similares a uno de ellos no es instantánea y toma un poco de tiempo acostumbrarse. Terminé por casi no usarlo, pero despertó mi curiosidad.

Luego seguí con dwm, y a éste fue el primero que le saqué provecho. Quizá sea gracias al lado geek, pero me atrapó el hecho de que, para personalizarlo, tienes que meterte a editar directamente el código fuente del archivo de configuración (el cual está en C), y puedes redirigir la salida de otros programas para mostrar diferentes estatus de la computadora (como fecha y hora, memoria usada, título de la “ventana” actual, etc.). Duré un tiempo con dwm, pero poco a poco fue cayendo de mi gracia debido a que la documentación era muy poca, y la comunidad era muy elitista, por lo que no respondían a cualquier pregunta, y sin documentación, muchas veces había que adivinar qué hacía cada función. Al final, lo dejé porque no pude echar a andarlo con soporte para UTF-8, y como el idioma japonés es el que tengo por default en todas las computadoras que uso, sí era algo que me importaba. Dicho sea de paso, desde que llegué a Japón no me hago la idea de tener Linux sin soporte para japonés desde que lo instalo.

La idea de dwm era buena, pero la falta de ayuda y documentación, aunado con lo del UTF-8, hicieron que buscara más alternativas. Fue entonces cuando el mismo amigo que me presentó Ion2 me dijo sobre XMonad.

XMonad es otro administrador de ventanas por mosaico. Originalmente es un clon de dwm, pero está escrito en Haskell, un lenguaje de programación funcional; además, es más amigable y más “extensible” que el original.

El concepto es el mismo: la pantalla va siendo dividida en mosaicos como vaya siendo necesario. La forma en que se divide se decide dependiendo del layout que haya sido escogido. Se pueden tener además escritorios virtuales, y cada uno puede tener un layout diferente. Cada layout define además un área maestra en la pantalla donde se pone cada nueva ventana que aparece; el área maestra es normalmente más grande ya que se basa en la idea de que en esta ventana en donde se trabaja o se realiza la actividad más importante. Lógicamente se puede cambiar libremente la ventana que ocupa esa área.

Como ejemplos de layout, aquí 2 imágenes.

Continue reading “XMonad”