Instalar y configurar GRUB2 en Slackware 14.0 (EFI)

En una publicación anterior he descrito como instalé Slackware en mi laptop con el asqueroso Windows 8 (hardware UEFI). En este proceso utilicé el GRUB de Ubuntu (por flojera) para decidir con cual sistema operativo iniciar, pero como casi no uso esta distro decidí buscar como instalar GRUB en Slackware y usarlo para este propósito, de esta manera sería independiente de Ubuntu.

Como usuario de Slackware estoy familiarizado con LILO y mi primera experiencia usando y configurando GRUB fue en los pocos días que usé Ubuntu, no es complicado pero tampoco es tan simple como con LILO a mi parecer. Pero en fin es a lo que me vi obligado con el nuevo hardware UEFI.

Mi desición más obvia con gusto sería dejar solo Slackware en el equipo, pero como tengo que sacar para la comida usando ArcGIS, Office, AutoCAD y demás cosas, decidí dejar el Windows 8 instalado en el equipo. Además pagué por la licencia cuando comp

Instalando GRUB2

La instalación de grub la hice de la siguiente manera: usé sbopkg para instalar todas las dependencias y luego instalé grub con el SlackBuild de la manera tradicional. Las dependencias quedaron con solo hacer:

# sbopkg -i "gnu-unifont os-prober locale-gettext help2man"

Y luego descargué el SlackBuild de grub y lo edité para agregar:

--with-platform=efi \

en la parte de ./configure.

Preparando todo

Para continuar seguí las instrucciones de instalación y configuración de grub publicadas en la documentación de Slackware aquí. Estas instrucciones son para instalar grub como cargador de arranque en hardware UEFI, que es precisamente lo que quiero hacer. Consisten básicamente en lo siguiente:

  • Instalar Grub2-efi en una memoria USB
  • Una vez que funcione el arranque desde la memoria USB instalar Grub2-efi en el disco duro
  • Modificar el menú de arranque UEFI

Instalar Grub2-efi en una memoria USB

Una vez instalado el paquete de grub en Slackware 14.0, hay que montar la memoria USB en el directorio /boot/efi (si es necesario hay que crearlo primero), luego ejecutar:

# mount /dev/sdb1 -t vfat /boot/efi (donde sdb1 es mi USB, se puede identificar con fdisk -l)
# modprobe dm-mod
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug
# mkdir -p /boot/grub/locale
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Luego configurar grub.cfg haciendo:

# grub-mkconfig -o /boot/grub/grub.cfg

Este proceso debió haber creado un archivo en la memoria con la siguiente ruta:

/EFI/grub/grubx64.efi.

Instalar Grub2-efi en el disco duro

La partición efi, sda1 en mi caso, debe montarse en el disco duro (yo hice un directorio llamado ~/efi y la monté aquí para no desmontar la memoria USB todavía). La partición tendrá una estructura como esta:

/EFI/Boot/bootx64.efi

En la mía también hay /EFI/Microsoft/Boot y el archivo efi de arranque de Windows es bootmgr.efi. Elegí la manera segura que es crear un directorio llamado /EFI/Linux/ y copiar aquí el archivo llamado grubx64.EFI desde la memoria USB.

Modificar el menú de arranque UEFI

Modificar el menú de arranque nos permite conservar Windows 8. El primer paso es descargar efibootmgr desde http://linux.dell.com/efibootmgr/.

Descomprimirlo, entrar al directorio creado y ejecutar make:

# make

Copiar src/efibootmgr/efibootmgr en /usr/sbin y cambiar el propietario (con chown) a root.

# chown root /usr/bin/efibootmgr

Desmontar la memoria y montar la partición efi (la mia es sda1) del disco duro en /boot/efi:

# mount /dev/sda1 -t vfat /boot/efi 
# modprobe efivars
# efibootmgr -c -g -d /dev/sda -p 1 -w -L "Linux" -l '\EFI\Linux\grubx64.EFI' 

Al reinicar apareció e grub de Slackware y no el de Ubuntu.

Pequeño inconveniente

Resta decir que al parecer Ubuntu reemplazó el archivo EFI de Windows (bootmgr.efi) por el suyo por que cuando seleccioné la opción para iniciar Windows en el menú grub de Slackware, me apareció el menú de grub de Ubuntu. Sin embargo existe un respaldo llamado bkpbootmgfw.efi que es el arrancador EFI de Windows real. Para solucionar esto, primero encontré el UUID de la partición FAT32 donde se encuentra este archivo UEFI:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bkpbootmgfw.efi 
6C27-EC36
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bkpbootmgfw.efi 
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1

Y edité el archivo /etc/grub.d/40_custom para agregar:

menuentry "Microsoft Windows 8 x86_64 UEFI-GPT" {
        insmod part_gpt
        insmod fat
        insmod search_fs_uuid
        insmod chain
        search --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 6C27-EC36
        chainloader /efi/Microsoft/Boot/bkpbootmgfw.efi
}

Finalmente actualizar el archivo /boot/grub/grub.cfg:

# grub-mkconfig -o /boot/grub/grub.cfg

Hibernación

Para habilitar el inicio desde hibernación edité el archivo /boot/grub/grub.cfg, colocando en la entrada del menú de Slackware:

linux /boot/vmlinuz... root=... resume=/dev/sda9 quiet ro

Donde sda9 es mi partición SWAP de 8 GB, el doble que la RAM. Todo funciona perfecto ahora.

¡Saludos!

Fuentes:

SlackBuilds.org
SlackDocs
Arch Wiki

ffmpeg: Instalación en Slackware 14.0

ffmpeg-logo

Ya antes he escrito una entrada sobre la instalación de ffmpeg, algunas de las formas de usarlo y resolver algunos problemas aquí. Ahora voy a colocar la forma en la que lo acabo de instalar en mi nuevo sistema: Slackware 14.0 de 64 bits.

FFmpeg es una colección de software libre que puede grabar, convertir (transcodificar) y hacer streaming de audio y vídeo. Incluye libavcodec, una biblioteca de códecs. FFmpeg está desarrollado en GNU/Linux, pero puede ser compilado en la mayoría de los sistemas operativos, incluyendo Windows.

Primero les muestro un pequeño esquema de los requerimientos de esta aplicación:

+ffmpeg
 |
 +-Requirements
 | |
 | +-lame
 | +-x264
 |
 +-Optional
   |
   +-libass
   +-libbluray
   +-celt
   +-libdc1394
   +-faac
   | |
   | +-libmp4v2
   |
   +-frei0r
   +-gsm
   +-openjpeg
   +-lame *
   +-OpenAL
   +-opencore-amr
   +-rtmpdump
   +-schroedinger
   | |
   | +-orc
   |
   +-speex
   +-libvpx
   +-x264 *
   +-xvidcore

Se incluyen algunas dependencias opcionales, sin embargo no consideré las dependencias opcionales de estas para no hacer más largo el asunto. Algunas dependencias (*) están repetidas.

Primero para instalar las dependencias hay que ejecutar como root:

# sbopkg -i "libass libbluray celt libdc1394 libmp4v2 faac frei0r gsm openjpeg lame OpenAL opencore-amr rtmpdump orc schroedinger speex libvpx x264 xvidcore"

Entrar en una root shell “real” (el guión al final es necesario):

$ su -

Una vez entrada la contraseña de superusuario proceder a instalar ffmpeg:

# sbopkg -i ffmpeg:ASS="yes":BLURAY="yes":CELT="yes":DC1394="yes":FAAC="yes":FREI0R="yes":GSM="yes":JP2="yes":LAME="yes":OPENAL="yes":OPENCORE="yes":OPENSSL="yes":RTMP="yes":SCHROEDINGER="yes":SPEEX="yes":VPX="yes":X264="yes":XVID="yes"

Con esto tendremos el paquete de ffmpeg instalado y listo para correr ;) .

Fuentes:

SlackBuilds
Wikipedia

Slackware: Continuar sesión después de hibernar el equipo usando GRUB

En mi equipo con Windows 8, Ubuntu 13.04 y Slackware 14.0, uso GRUB como gestor de arranque pues no he podido configurarlo para usar elilo, por ahora. Y es que elilo me gusta por que me parece muy sencillo de usar y muy similar al clásico LILO al que estoy acostumbrado en Slackware, pero que por desgracia no funciona con hardware basado en EFI (como mi laptop).

La mayor parte del tiempo que uso la computadora uso Slackware y hasta ahora solo he usado Ubuntu para configuración del arranque pues me resulta más fácil. Windows ha estado inactivo por un buen rato.

Pues bien como tengo Ubuntu el gestor de arranque que me instaló y me ha estado funcionando es GRUB… pero tenía un pequeño problema con él: no podía continuar una sesión al hibernar el equipo. Así cada vez que cerraba la tapa de la laptop y el equipo se ponía en hibernación (configurado desde el panel de KDE) al abrirlo de nuevo y seleccionar Slackware, este iniciaba una sesión nueva y no con la configuración anterior como es deseable.

Después de algunos días de búsqueda por la web encontré la solución, o parte de ella. Lo que tuve que hacer fue lo siguiente:

Iniciar Ubuntu y abrir el siguiente archivo:

sudo nano /etc/default/grub

Editar la siguiente línea para que quede así:

GRUB_CMDLINE_LINUX="resume=/dev/sda9"

Donde sda9 es mi partición swap que pensando en esto hice de 8GB desde un inicio, ya que la RAM de mi equipo es de 4GB.

Finalmente ejecuté en el terminal lo siguiente:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Este comando genera un nuevo archivo y reemplaza el que originalmente está en /boot. Lo abrí con un editor, busqué la entrada del menú para Ubuntu y la comparé con la de Slackware, encontré una línea interesante:

Para Ubuntu:

linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=8dc436fa-d205-4c9e-987d-ad97753e6b62 ro resume=/dev/sda9  quiet splash $vt_handoff

Para Slackware:

linux /boot/vmlinuz root=/dev/sda10

Así que lo único que hice fue modicar la línea de Slackware para que quedara así:

linux /boot/vmlinuz root=/dev/sda10 resume=/dev/sda9 quiet

No es la gran ciencia y el cambio no es permanente pues al actualizar el archivo de nuevo esto se borrará, o al menos es lo que dicen en los foros.

Fuentes:


superuser.com

Portátil Nuevo: EFI, Windows 8, Ubuntu y Slackware

Por un lado contento de mi nueva portátil, una ASUS-X401A y por otro la pesadilla de todo un fin de semana. Esta nueva laptop que ahora tengo en mis manos me ha traído muchos problemas a la hora de querer instalar mi distribución de Linux favorita: Slackware 14.0.

Y no tanto el portátil como tal ha sido el causante de mis dolores de cabeza, sino el ya por muchos conocido EFI y el arranque controlado seguro del nuevo Windows 8 de Microsoft. Así que me he puesto a investigar acerca de EFI, UEFI y algunas cosas de como afecta esto al arranque en distribuciones de Linux.

Antes de comenzar a escribir la manera en la que instalé esta distribución quiero aclarar que Slackware es capaz de instalarse y correr en hardware basado en UEFI sin problemas desde hace algún tiempo.

Cabe señalar también que yo no había tenido experiencias con EFI, grub, elilo ni Ubuntu antes por lo tanto no esperes ver algo muy avanzado en esto.

Configurar el arranque e instalar Ubuntu

Lo primero que necesité fue tener otra distribución de Linux y decidí instalar y probar Ubuntu, así que instalé la versión 12.04 sin problemas (ya se que hay una nueva versión pero esto fue antes de que se liberara). Para instalar Ubuntu descargué la imagen ISO desde el sitio oficial y la metí a una memoria USB e 4G no con Universal USB Installer, para la instalación en el equipo hace falta hacer ninguna maniobra especial, solo tuve que hacer que la maquina arranque desde la memoria USB en la que tenía instalado el sistema.

Para ello hay que entrar en la configuración del arranque y por lo menos en este modelo de portátil se entra de manera especial indicándole a Windows que uno desea reiniciar y configurar el arranque. Para ello hay que entrar a la Charm bar o barra de botones de acceso de Windows 8 (la que aparece al colocar el puntero del ratón en el lado derecho de la pantalla) e ir a Configuración luego a General y Configurar arranque.

El equipo se reiniciará y entraremos en la configuración del arranque. Ya estando aquí desactivamos el arranque seguro y el arranque rápido.

Elegimos iniciar desde la memoria USB y entraremos a Ubuntu, lo instalamos sin problema. Para ello hay muchas guias por la web y no pretendo hacer otra.

Problema de Arranque de Windows 8

Una vez instalado Ubuntu todo marchaba bien, al encender el equipo se mostraba la típica pantalla de GRUB en el que mostraban las siguientes opciones:

Ubuntu
Opciones avanzadas para Ubuntu
Windows Recovery Environment (loader) (en /dev/sda2)
Windows 8 (loader) (en /dev/sda4)
System setup

Al iniciar Ubuntu todo bien, pero al iniciar Windows 8 (en /dev/sda4) se mostraba en la pantalla el siguiente error:

error: no se encuentra la orden <drivemap>
error: invalid EFI file path.

Pulse una tecla para continuar...

Después de intentar algunas cosas sin éxito alguno y hacer una búsqueda por la web encontré la respuesta en el foro de Ubuntu-es. La solución es muy sencilla y sin complicaciones, solo basta con abrir un terminal y ejecutar:

# sudo su
# add-apt-repository ppa:yannubuntu/boot-repair
# apt-get update
# apt-get install -y boot-repair
# boot-repair

Una vez iniciada la aplicación pulsar en el botón “Recommended repair” ó “Reparación recomendada”. Terminado su trabajo, cerrar la aplicación y reiniciar:

# reboot

Esto agregará dos entradas más al menú de GRUB. Para entrar sin problema a Windows 8 yo selecciono la primera opción:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader

Estas fueron unas horas más a las pocas de mi vida en la que he usado Ubuntu. Agregaré que me parece una distribución sin complicaciones y fácil de utilizar, tal vez hasta la deje instalada en mi equipo pues me gustó bastante que reconociera y funcionarán sin más el Touchpad del equipo y las funciones de la tecla “Fn”, cosas que en Slackware aún ando viendo como configurar bien. Ahora comprendo mejor porqué tiene tanta fama y mucha gente la prefiere.

Instalando Slackware

Para instalar Slackware 14.0 (64 bits) seguí la guia llamada Installing Slackware of UEFI-based hardware y decidí crear un medio de instalación con una memoria USB, en primera por que el equipo no cuenta con un lector de CD o DVD y en segunda por que me facilitaría crear una esquema de particiones tipo GPT (GUID Partition Table) para poner el bootader requerido (compatible con hardware UEFI).

En mi caso usé una memoria USB de 16G, en la que hice una partición de 50M para colocar el bootloader y los archivos necesarios (se explica más adelante) y el resto para colocar los archivos del ISO del DVD de Slackware, usando simplemente descomprimir y copiar. Precisamente para hacer todo este proceso instalé Ubuntu en la laptop. OK usando entonces Ubuntu hacemos lo siguiente:

Primero con fdisk identificar el disco duro del equipo y la memoria USB, en este caso sda resultó ser el disco duro y sdb la USB, todo como era de esperarse.

$ sudo su
# fdisk -l

Aparecerá un mensaje diciendo que fdisk no soporta GPT y que usemos GNU Parted.

AVISO: GPT (Tabla de partición GUID) detectado en '/dev/sda'! La utilidad fdisk no soporta GPT. Use GNU Parted.

Bien, lo importante sería algo como esto:

Disco /dev/sda: 500.1 GB, 500107862016 bytes
...
más cosas
...
Disco /dev/sdb: 15.6 GB, 15606349824 bytes
...

Bien ahora usamos gdisk para particionar la USB:

# gdisk /dev/sdb

Me apareció lo siguiente:

GPT fdisk (gdisk) version 0.8.5

Partition table scan:
..MBR: MBR only
..BSD: not present
..APM: not present
..GPT: not present

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************

Warning! Secondary partition table overlaps the last partition by 33 blocks!
You will need to delete this partition or resize it in another utility.

Una vez que hemos leido la agradable bienvenida nos pedirá un comando, solo para estar seguros de lo que hacemos veremos la ayuda ingresando un signo de interrogación:

Command (? for help): ?

Bien esta es la ayuda:

b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Ahora borraremos la partición de la memoria USB para crear otras dos, primero vemos la tabla de particiones existente.

Command (? for help): p
Disk /dev/sdb: 30481152 sectors, 14.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F50E7F58-6AD1-4CFB-9E7D-2A62CBFF20F4
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30481118
Partitions will be aligned on 128-sector boundaries
Total free space is 8030 sectors (3.9 MiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            8064        30481151   14.5 GiB    0700  Microsoft basic data

Ahora si borramos las particiones que existan, como solo hay una no nos preguntara cual y usará 1 por defecto:

Command (? for help): d
Using 1

Para crear una nueva partición usamos el comando “n”, damos [Enter] para aceptar el número de partición y el primer sector, luego escribimos “+50M” para crear una partición. Si deseas más espacio este es el número a modificar. Finalmente cuando nos pida un código colocamos ef00, esto es lo más importante. He aquí lo que yo hice:

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-30481118, default = 128) or {+-}size{KMGTP}: 
Last sector (128-30481118, default = 30481118) or {+-}size{KMGTP}: +50M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI System'

Creamos una nueva partición con todo el espacio restante, dando [Enter] a todo y al final colocamos el código 0700 para seleccionar ‘Microsoft basic data’.

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-30481118, default = 102528) or {+-}size{KMGTP}: 
Last sector (102528-30481118, default = 30481118) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 0700
Changed type of partition to 'Microsoft basic data'

Mi memoria USB quedó particionada así:

Number  Start (sector)    End (sector)  Size       Code  Name
   1             128          102527   50.0 MiB    EF00  EFI System
   2          102528        30481118   14.5 GiB    0700  Microsoft basic data

Ahora toca formatear las particiones creadas en la memoria USB con mkfs. La primera con código ef00 se formateará en FAT32 y se colocará en ella el bootloader elilo así como los archivos bzImage e initrd.img del kernel huge obtenidos directamente del DVD de instalación de Slackware. Esto se hace de la siguiente manera:

Primero formatear en FAT32 (obligatorio):

# mkfs.vfat -F32 /dev/sdb1

Montar la partición y crear los directorios apropiados:

# mount -t vfat /dev/sdb1 /home/ecoslacker/efi/
# cd efi/
# mkdir ./EFI
# mkdir EFI/BOOT

Yo decidí montar la partición en mi directorio personal por comodidad, sin embargo se puede hacer en cualquier lugar. Dejo las rutas completas esperando que sea de ayuda y suponiendo que sabrás como hacerlo en tu sistema.

Luego colocar elilo, bzImage e initrd.img:

# cp /home/ecoslacker/Descargas/elilo-3.14-all/elilo-3.14-x86_64.efi /home/ecoslacker/efi/EFI/BOOT/BOOTX64.EFI
# cp /media/ecoslacker/Data/slackware64-14.0-install-dvd/kernels/huge.s/bzImage /home/ecoslacker/efi/EFI/BOOT/
# cp /media/ecoslacker/Data/slackware64-14.0-install-dvd/isolinux/initrd.img /home/ecoslacker/efi/EFI/BOOT/

Hay que crear un archivo llamado elilo.conf en la partición de la memoria USB:

/home/ecoslacker/efi/EFI/BOOT/
nano elilo.conf

Y colocar el siguiente contenido:

prompt
timeout=50
default=install

image=bzImage
  label=install
  initrd=initrd.img
  append="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s"

Una vez hecho esto dar formato de EXT3 a la otra partición de la memoria USB (/dev/sdb2 en mi caso) y copiar los archivos de la ISO del DVD de instalación de Slackware (descomprimir y copiar). Lo que más importa del formato de la partición es que sea reconocido por el kernel así que puede ser otro, yo elegí este formato y para ello usé GParted, que por cierto tardó un poco.

Reiniciar y bootear desde la memoria USB. Para ello usé la última opción del menú de GRUB (System setup), entré a la configuración y seleccioné la memoria USB para iniciar.

Veremos una pantalla familiar…

Ahora iniciar y cuando el instalador nos pida un medio de instalación seleccionamos la opción de usar una partición del sistema, en mi caso es /dev/sdb2 y luego pedirá un directorio, en el que hay que introducir slackware64. Con esto podemos hacer la instalación como normalmente la hacemos. Eso si hay que estar concientes de saltarse la instalación de LILO, pues no lo estaremos usando.

Una vez instalado Slackware restan un par de cosas por hacer antes de reiniciar. Hay que montar la partición local donde se encuentra la configuración de EFI y configurar el arranque de Slackware:

# mkdir /mnt/sda1
# mount -t vfat /dev/sda1 /mnt/sda1
# mkdir /mnt/sda1/EFI/slackware

Montar también la partición con la configuración EFI de la memoria USB que usamos para bootear Slackware, si es que no la hemos montado:

# mkdir /root/sdb1
# mount -t vfat /dev/sdb1 /root/sdb1

Copiar los archivos de la memoria a la partición local:

# cp /root/sdb1/EFI/BOOT/BOOTX64.EFI /mnt/sda1/EFI/slackware
# cp /root/sdb1/EFI/BOOT/bzimage /mnt/sda1/EFI/slackware
# cp /root/sdb1/EFI/BOOT/elilo.conf /mnt/sda1/EFI/slackware
# cp /root/sdb1/EFI/BOOT/initrd.img /mnt/sda1/EFI/slackware

Resta modificar el archivo elilo.conf…

# nano /mnt/sda1/EFI/slackware/elilo.conf

…para que contenga lo siguiente:

prompt
timeout=50
default=huge

image=bzImage
  label=huge
  read-only
  root=/dev/sda10

Al reiniciar, el sistema me seguía reconociendo GRUB en vez de elilo. Por pereza y falta de tiempo decidí dejar GRUB, así que para agregar la entrada de Slackware simplemente hice lo mismo que describí más arriba: entrar a Ubuntu y ejecutar boot-repair.

Ahora mi portátil tiene tres sistemas para iniciar: Windows 8, Ubuntu y Slackware, aunque lo que uso la mayoría del tiempo es Slackware obviamente.

¡Larga vida a Slackware!

Fuentes:

Installing Slackware of UEFI-based hardware
Ubuntu-es
elilo
Arch Wiki: UEFI
Gentoo Wiki: UEFI

KDE: Cambiar incremento de volumen de KMix

Hace tiempo que vi este tip en el blog de Eric Hameleers y hoy lo comparto con ustedes.

Para aquellos que usen KDE, como yo, seguro que les resulta molesto que al subir o bajar el volumen del sistema por medio de KMix mediante la rueda del ratón, este se modifique a intervalos muy altos. A mí me pasa que con dos o tres movimientos de la rueda del ratón, el volumen se sube desde no escucharse hasta el 100%. Un comportamiento similar pasa al bajar el volumen, estándo al 100% y querer bajarlo un poco este se baja tanto que apenas se escucha. Pues bien, usa solución a esta situación molesta es cambiar el intervalo en el que se cambia el volumen, en este caso configuaremos el sistema para un intervalo de 2.5%. Hacemos lo siguiente:

Salir de KMix, dando clic derecho en el ícono de la bandeja del sistema y luego en Salir.

Abrir archivo de configuración, con cualquiere editor de texto, yo elegí vim:

$ vim .kde/share/config/kmixrc

En la sección [Global] agregar la siguiente línea, un ejemplo es como se observa en la figura:

VolumePercentajeStep=2.5

incremento-volume-kde

Guardar (en vim es de la siguiente manera: Esc, :w, :q) e iniciar KMix para ver los resultados, una forma es pulsando Alt + F2 y escribir “kmix”. También es posible hacerlo mediante el menú de inicio K. Desde ahora tendremos un intervalo de ajuste de volumen más fino.

¡Saludos Slackers!

Fuente:

Alien Pastures

Close Windows, open doors.

Close Windows, open doors.

Close Windows, open doors.

Actualizando KDE 4.10.2 en Slackware 14.0

Pues eso, hoy he actualizado mi KDE a la versión 4.10.2 con los paquetes de AlienBob (Eric Hameleers). El procedimiento para actualizar él mismo lo describe detalladamente en el archivo README. Sin embargo escribiré como hice para actualizar mi sistema de KDE 4.10.1 a 4.10.2.

La nueva versión no incluye ninguna característica nueva, únicamente correcciones de algunos errores (bugfixes) y actualizaciones de traducción.

NOTA: Estos paquetes son para actualizar desde Slackware 14.0, para la versión -current Patrick ya ha hecho las actualizaciones correspondientes.

Descargar los paquetes

Si queremos podemos descargar el código fuente de cada paquete, compilarlo y crear los paquetes nosotros mismos, necesitaríamos hacer mas o menos lo siguiente:

# rsync -av rsync://alien.slackbook.org/alien/ktown/source/4.10.2 .

Compilar usando el SlackBuild para KDE:

# cd 4.10.2/kde
# ./KDE.SlackBuild

Como Eric menciona el punto al final es parte del comando de descarga.

También se tiene la opción de descargar e instalar los paquetes ya compilados por AlienBob, que es lo que los mortales como yo queremos hacer. El método que coloco aquí es un poco diferente a lo que Eric recomienda, sin embargo no es nada del otro mundo.

Antes de empezar hice un directorio en /home, asegurándome primero que tuviera el espacio suficiente, para colocar los paquetes por descargar.

$ mkdir kde
$ cd kde

Lo segundo que hice fue descargar los paquetes desde un mirror, ojo solo descargué los de 32 bits:

$ rsync -av --exclude=x86_64 rsync://taper.alienbase.nl/mirrors/alien-kde/14.0/4.10.2 .

Otra vez, el punto al final es parte del comando de descarga. Ahora hay que descargar los paquetes de idiomas, esto para actualizar los paquetes en español de KDE y Calligra. Yo lo hice de la siguiente manera:

$ rsync -av rsync://taper.alienbase.nl/mirrors/alien-kde/14.0/4.10.2/x86_64/kdei/ .

Como se me olvidó crear un directorio para alojar estos paquetes los moví después:

$ mkdir x86_64
$ mkdir x86_64/kdei
$ mv *.lst x86_64/kdei/
$ mv *.meta x86_64/kdei/
$ mv *.txt x86_64/kdei/
$ mv *.txz x86_64/kdei/
$ mv *.txz.asc x86_64/kdei/
$ mv *.txz.md5 x86_64/kdei/

Bueno ahora si, de ahora en adelante hay que asegurarnos de no estar ejecutando KDE o incluso X. Así que nos vamos a hacer las cosas como los hombres, en modo texto:

# init 3

Una vez que estamos fuera de un entorno gráfico vamos a actualizar los paquetes, como yo lo estoy haciendo desde un sistema con KDE 4.10.1 no es necesario actualizar mas que los paquetes del directorio kde. Sin embargo si lo estás haciendo desde un 4.8.5 la lista de comandos completa es:

# upgradepkg --reinstall --install-new x86/deps/*.t?z
# upgradepkg --reinstall --install-new x86/kde/*.t?z
# removepkg kdegames
# removepkg kdemultimedia
# removepkg ksecrets
# removepkg printer-applet

Actualizar los paquetes de idioma español:

# upgradepkg x86_64/kdei/*.t?z

Asegurarnos de no olvidar los archivos de configuración (*.new) y usar slackpkg para decidir que hacer con ellos, la desición es conforme la configuración del sistema de cada usuario, así que te toca decidir:

# find /etc/ -name "*.new"
# slackpkg new-config

En mi caso decidí sobre escribir la configuración, pues no me afecta en nada. Finalmente reiniciamos el sistema y listo.

kde-4.10.2-desktop-01

Fuentes:

KDE 4.10.2 para Slackware 14
README

Configurar la lista negra de slackpkg

La mayoría (sino es que todos) los que usamos Slackware Linux usamos slackpkg para administrar nuestra distribución, ya sea que la usemos para actualizar a la versión current o para actualizar los paquetes de la distribución estable que van liberándose.

Actualmente yo uso slackpkg para actualizar algunas aplicaciones de Slackware 14.0, como Firefox por ejemplo que cada tercer día tiene una nueva versión. Sin embargo, cuando quiero actualizar con slackpkg me aparecen paquetes que no deseo tocar, como por ejemplo los paquetes de KDE 4.10 y sus dependencias precompilados que instalé del sitio de AlienBob.

Actualizando con slackpkg

Como se puede ver en la parte baja de la imagen anterior, tengo un paquete de PyQt compilado por “alien”, al que el sistema me recomienda remplazarlo por el actual en el árbol de Slackware 14 (que por cierto es una versión más antigua).

Una forma de evitar que paquetes de terceros aparezcan en la lista de actualización de slackpkg es ponerlos en la lista negra y la aplicación los omitirá. Así solo se nos presentaran los paquetes oficiales de Slackware.

La lista negra se encuentra en este archivo:

# vim /etc/slackpkg/blacklist

Poner los paquetes en la lista negra es tan simple como agregar las líneas:

# This one will blacklist all AlienBob packages
[0-9]+alien

Lista negra slackpkg

Solo resta guardar y cerrar el archivo. Como ven también se pueden poner en la lista negra los paquetes del kernel y de SlackBuilds.org, como no tengo problema con ambos pues no los toqué, en caso de que uses Slackware -current puede que debas considerar poner los paquetes del kernel en la lista negra. Hecho esto aparecerán solo los paquetes oficiales de Slackware para actualizar:

# slackpkg update
# slackpkg upgrade-all

Actualizando con slackpkg

La lista negra ha cumplido su función. Ahora slackpkg buscará las versiones más recientes de los paquetes propios del sistema y omitirá checar los de “alien”. Lo mismo puede hacerse con otros paquetes como los de SlackBuilds.org.

Saludos

Konqueror: descubriendo al conquistador

Conociendo a Konqueror:

konqueror-01

Konqueror es uno de los manejadores de archivos más avanzados para KDE. Gracias a las tecnologías subyacentes de KDE puede accesar transparentemente a servidores FTP y SFTP, archivos zip (y otros archivos comprimidos), directorios compartidos (con Windows) de smb e incluso navegar y ripear CDs de audio.

Como navegador web, Konqueror es alimentado por el motor de renderizado de KHTML (y opcionalmente WebKit) lo que significa que soporta los últimos estándares de la web como HTML5, Javascript, CSS3 y otros.

Además como visor universal, Konqueror hacer uso de las últimas tecnologías de KDE para proveerte de un visor de PDF, visor de imágenes, cliente FTP, editor de texto, hojas de cálculo, editor de documentos, cliente SVN y más, sin nesecidad de abrir una aplicación separada.

Finalmente Konqueror es una aplicación personalizable que viene con un conjunto de plugins tales como un bloqueador de publicidad, traductor automático de páginas web, cambiador de user agent (identificador), creación automática de galerías de imágenes, panel con shell de comandos y más. De hecho es una de las aplicaciones disponibles más personalizables.

El nombre “Konqueror”, es una palabra para jugar con los nombres de otros navegadores, para mostrar su superioridad. Después del Navegador y del Explorador (Navigator and the Explorer) viene el Conquistador (obvio Konqueror), se escribe con la K para mostrar que es parte de KDE. El cambio del nombre también se aleja de “kfm” (el manejador de archivos de KDE, predecesor de Konqueror) el cual solo representa el manejador de archivos y no el navegador web.

Contexto

Konqueror es uno de mis navegadores favoritos. De hecho solo uso Firefox y Konqueror, y siempre trato de darle la oportunidad a este último. ¿Por qué? Bueno uso KDE ¿Y eso qué? Bueno quieran o no, Konqueror tiene mejor integración al entorno de escritorio que Firefox. Y no me refiero solo a la apariencia, sino a mucho más que eso.

Al ser usuario de KDE me gusta tener los efectos de escritorio activados, algunos para que la cosa no se vea tan seca y no tantos para que no se pierda la formalidad. Es que uso mi laptop en el trabajo también. Además tengo configurado Konqueror como mi manejador de archivos para cuando conecto un dispositivo USB y como mi navegador para abrir sitios web cuando doy clic sobre un enlace, digamos en KMail. En pocas palabras, tengo la configuración estándar, jeje.

Me gusta tener también activada la búsqueda y el escritorio semántico Nepomuk, y para terminar mencionaré que uso dos Actividades principales, una para el escritorio en mi trabajo y otra para cuando soy un usuario malportado. En fin uso todo el paquete KDE, aunque mi máquina no sea de muchos recursos, sino fuera así no valdría la pena tenerlo y yo creo que estaría usando Gnome o Xfce.

Ventajas de Konqueror

En fin todo esto ¿Para qué? Bueno, Konqueror se integra a la perfección con mis Actividades. Cuando tengo mi Actividad de trabajo activada, los directorios y los sitios web que he visitado usando Konqueror, no se “mezclan” con los de mi Actividad de usuario malportado. De tal manera que al cambiar entre actividades puedo tener Konqueror ejecutándose en ambas y las configuraciones son diferentes. Cosa que por ejemplo Firefox no hace ya que al cambiar entre actividades los sitios web son los mismos, de hecho la misma aplicación sigue abierta en las dos Actividades.

Gracias a su funcionalidad como navegador web y de archivos a la vez, con Konqueror puedo estar navegando en la web en una pestaña y en otra abrir mi carpeta personal o la de descargas y navegar entre mis archivos, sin la necesidad de abrir otra aplicación como Dolphin por ejemplo.

Y como ya comente anteriormente, tiene otros programas “integrados”, de esta forma al navegar por un directorio y dar clic en un PDF este se abre en la misma aplicación, lo mismo pasa con las imágenes y otros archivos. Esto puede resultar tanto productivo como molesto, de cualquier manera se puede configurar haciendo clic derecho sobre los archivos y eligiendo la aplicación a utilizar para ese tipo de archivos en particular.

Tiene posibilidad de integrar el manejador de descargas KGet, el cual puede abrir todos los links de un sitio web para descargar. Me explico, digamos que estamos en un sitio web, abrimos KGet y le decimos que nos muestre los links para descargar por ejemplo todas las imágenes del sitio, o todos los videos. Solo hay que seleccionarlos y empezar a descargar sin más. Esto es similar a lo que el plugin DownThemAll hace en Firefox, hace tiempo lo utilizaba mucho no se si aún está vigente. Además KGet como manejador de descargas nos permite hacer lo típico: pausar y reanudar descargas (las que lo permitan), entre otras cosas.

Como ya mencioné antes, usa KHTML que en mi opinión no es muy bueno, pero es posible usarlo con WebKit, para esto solo hay que ir al menú:

Preferencias > Configurar Konqueror… > Motor predeterminado del navegador web y seleccionar WebKit.

konqueror-02

Para ver videos u otro contenido no hay problema, Konqueror soporta diversos complementos y entre ellos algunos complementos de Mozilla o Netscape. Para activarlos solo hay que ir a:

Preferencias > Configurar Konqueror… > (Navegador de árbol) Complementos > (Pestaña) Complementos

konqueror-03

En esta parte aparece una lista de directorios donde Konqueror escaneará en busca de complementos. Se pueden agregar o quitar algunos en los que de entrada se sepa que hay o no hay complementos, según corresponda. Al dar clic en el botón Buscar nuevos complementos aparecerán los encontrados en el listado de directorios. En mi caso Konqueror encontró complementos de IcedTea (que habilita Java), Flash Player y botones de Skype (ni idea de porqué). Con estos complementos los sitios con Java así como los de videos en Flash funcionan (casi) sin problemas.

Accesos rápidos ¿Ventaja o desventaja?

Continuando con sus propiedades como navegador web, es posible usar accesos rápidos para algunos sitios web. Por ejemplo, si uno escribe en la barra de direcciones “google.com”, como nos mandará al sitio del buscador Google. Sin embargo, si escribimos la palabra “hola”, Konqueror nos mandará a una página de error, esto por que como es obvio no le estamos dando una dirección completa. Pero como ya nos acostumbramos a que en Firefox o Chrome al colocar una o varias palabras en la barra de direcciones el navegador nos mande a una página de búsqueda de Google, esto nos parece extraño ¿o no?

Bueno Konqueror tiene una forma diferente de hacer lo mismo y se llaman accesos rápidos. Estos permiten accesar a un sitio web usando apenas una o dos letras que son reconocidas por el navegador y nos manda a un sitio determinado. Por ejemplo escribir:

gg:hola

Nos mandará a una página de búsqueda de Google con resultados de la palabra “hola” ¿Por qué? bueno pues por que “gg” es el acceso rápido para el sitio http://www.google.com. ¿Que tal, sorprendidos?

Pues claro que no, los otros navegadores lo hacen sin tanto rollo.

Los accesos rápidos se configuran en: Preferencias > Configurar Konqueror… > (Navegador de árbol) Accesos rápidos para web

konqueror-04

Desventajas del Conquistador

Firefox lo supera como navegador web y personalmente Konqueror me causa conflictos en sitios como Twitter, WordPress.com y Mega. Dolphin lo supera como navegador de archivos ya que es mucho más práctico, configurable y estable. No se integra como me gustaría con KTorrent para manejar enlaces magnet.

Bastó un par de líneas.

Conclusiones

Finalmente resta decir que Konqueror es una muy buena apuesta de los desarrolladores de KDE, en mi opinión. Es muy funcional y tiene objetivos y metas muy ambiciosas, y por lo tanto muy buenas. Pero le falta ese algo que aún nos deja con mal sabor de boca después de usarlo un rato. En mi opinión le falta meter un poco de esfuerzo a Konqueror para mejorarlo, o bien ponerle todo lo bueno que tiene de navegador web a Dolphin, o integrar Dolphin como la parte del manejador de archivos. No se, pero algo le falta.

Konqueror se defiende, pero la verdad no he visto cambios sustanciales en su funcionalidad o rendimiento de una versión a otra en KDE si hay mejoras pero no como en otras aplicaciones ¿Será que ya los desarrolladores lo abandonaron y nadie me dijo? ¿O están poniendo sus esfuerzos en otra cosa?

Yo lo uso mucho, pero me descepciona a menudo, a veces con errores tan simples como seleccionar cosas que no debería o cerrarse sin explicación aparente. Para mí es inevitable tener que abrir Firefox para realizar cosas que no puedo hacer con Konqueror. No por nada existen proyectos basados en Qt, que aunque muy buenos, aún están en pleno desarrollo como reqonk o Qupzilla y prometen ser una alternativa para KDE.

¿Ustedes qué opinan?

Eric 4.5.9: IDE para desarrollo en Python

La historia

Hace apenas un día actualicé el entorno de escritorio de Slackware 14.0. Lo hice con los paquetes de AlienBob de KDE 4.10.1, la instalación es relativamente sencilla siguiendo las instrucciones que tan amablemente AlienBob escribe para cada actualización de este tipo. Actualizar provocó que al ejecutar programas que dependen de QScintilla (o Python) como QGIS y Eric IDE tuvieran problemas para ejecutarse, se generaba un error como el siguiente:

RuntimeError: the sip module implements API v9.0 to v9.1 but the PyQt4.Qsci module requires API v8.

Esto ya me había pasado al actualizar a KDE 4.10 y lo solucioné recompilando QScintilla (por recomendación de AlienBob y Willy Sudiarto). Y ya con esto tuve que recompilar las aplicaciones que tenían problemas.

Instalando Eric

Bueno, dicho lo anterior, si tenía que reinstalar Eric IDE decidí curiosear y ver si había una versión más reciente. Encontré que la versión 4.5.9 estaba disponible, en SlackBuilds se tiene una versión más vieja la 4.5.6. Además existe la posibilidad de ponerla en español.

Lo primero que hay que hacer es descargar los archivos de código fuente siguientes desde el sitio oficial del proyecto:

  • eric4-4.5.9.tar.gz
  • eric4-i18n-es-4.5.9.tar.gz

El primero es el archivo del código fuente del programa y el segundo los paquetes para instalarlo en nuestro querido idioma español. Teniendo estos archivos hay que descargar solo el SlackBuild, es decir solo el archivo llamado eric.tar.gz.

Una vez descargado el archivo hay que descomprimirlo, posteriormente hay que copiar los dos archivos fuentes al directorio creado:

$ tar -xvzf eric.tar.gz
$ mv eric4-4.5.9.tar.gz eric
$ mv eric4-i18n-es-4.5.9.tar.gz eric

Luego hay que editar el SlackBuild y configurarlo para la versión y el idioma que deseamos:

$ nano eric.SlackBuild

Solo dos líneas hay que modificar y deben quedar así:

VERSION=${VERSION:-4.5.9}
LANGUAGE=${LANGUAGE:-es}

Finalmente hay que ejecutar el script e instalar el paquete generado:

# sh eric.SlackBuild
# installpkg /tmp/eric-4.5.9-i486-1_SBo.tgz

Ahora ya tenemos Eric instalado.

Características de Eric

Hay muchos editores o entornos de desarrollo especiales para Python, o incluso algunos que son para otros lenguajes pero que se pueden adaptar para soportar Python. Sin embargo he encontrado Eric muy funcional y me ha agradado. Creo que todos los que usamos Python empezamos y hemos utilizado IDLE, es un editor que no le pide nada a ningún otro pero al igual que vi, vim, nano o incluso kwrite… solo es un editor, y cualquiera de ellos me empezó a resultar incómodo al manejar un proyecto relativamente grande, pues había que tener bastantes ventanas abiertas. Es por ello que empecé a buscar alternativas y encontré varias, pero después de probar algunas, me gustó y me quedé con la opción de Eric. En primera (y no por ello más importante) está escrito en Qt y se integra bien con KDE, soporta Ruby aunque no lo uso para este lenguaje, es fácil de aprender, de usar y configurar.

Es importante mencionar que no incluye un diseñador para GUI pero incluye soporte básico para wxPython por medio de plugins y me parece, con la libertad a equivocarme, que también para QtDesigner.

Algunas de las características que me gustan y uso de Eric son:

  • El editor usa QScintilla
  • Número ilimitado de editores
  • Apariencia personalizable
  • Resaltado de sintaxis
  • Autocompletado de código (palabras reservadas, variables, comillas, paréntesis)
  • Resaltado de errores
  • Shell de Python incluida (con resaltado de sintaxis y autocompletado)
  • Debbuger integrado
  • Facilidad de integración con PyQt
  • Navegador web integrado
  • Ayuda de otros elementos integrada (como PyQt)

He aquí una vista de este editor.

eric

Saludos.



Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 52 seguidores

%d bloggers like this: