Tuxjm el sitio de jmedina

Category: escritorio (page 1 of 3)

Como convertir en VirtualBox un disco VDI dynamic a VDI fixed

Introducción

Tengo una máquina virtual que cree para realizar algunas pruebas de integración con una red y sistemas homogeneos, está VM la cree usando un disco duro virtual dinámico, lo cual para las pruebas fue bien, sin embargo, la VM la estoy usando cada vez más y noto que está algo lenta.

Usando programas de línea de comandos realizaremos la conversión del disco duro virtual de la VM de la variante Dynamic a Fixed.

Otras configuraciones las realizaremos usando el programa VirtualBox, desde el cual se gestionan las máquinas virtuales.

Preparativos

Lo primero que debemos hacer es localizar el archivo del disco duro virtual. En mi caso tuve que entrar al modo gráfico, ver las configuraciones de la VM, ir a la sección de Almacenamiento y dar clic sobre el disco duro virtual, ahí viene la ruta.

En este caso el directorio es ~/VirtualBox VMs/JMW7. Veamos el archivo de disco virtual origen:

# ls -lh
...
...
...
-rw------- 1 jmedina jmedina 21G jun 17 15:53 JMW7-disk0.vdi

El archivo JMW7-disk0.vdi mide 21GB.

Veamos el tipo de archivo:

# file JMW7-disk0.vdi
JMW7-disk0.vdi: VDI Image version 1.1 (<<< Oracle VM VirtualBox Disk Image >>>), 26843545600 bytes

Es importante señalar que vamos a necesitar suficiente espacio en disco para colocar el nuevo archivo de la máquina virtual, en este caso requerimos más de 30GB disponibles.

Procedimiento

Usando el programa VBoxManage y la opción clonehd, realizamos la conversión:

# VBoxManage clonehd JMW7-disk0.vdi JMW7-disk0-fixed.vdi --format VDI --variant Fixed
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 4cb335c3-b35f-4013-a8d9-205094e54372

Ahora veamos el resultado del archivo convertido:

# ls -lh JMW7-disk0-fixed.vdi
-rw------- 1 root root 26G jun 17 16:21 JMW7-disk0-fixed.vdi

El nuevo disco mide 26GB.

Ahora que la máquina virtual JMW7 use este disco tenemos que realizar los siguientes pasos:

– Renombramos el disco dinamico:

# mv JMW7-disk0.vdi JMW7-disk0-old.vdi

– Quitar disco de la VM.

– Quitar el disco desde el administrador de medios.

– Renombrar disco nuevo:

# mv JMW7-disk0-fixed.vdi JMW7-disk0.vdi

– Agregar el disco nuevo a la VM y arrancarla.

Referencias

VBoxManager clonehd:
http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevdi

Como instalar las herramientas de desarrollo en sistemas GNU/Linux

Si te encuentras en la situación en la que tienes que instalar algún programa desde las fuentes, tendrás que tener instalados los programas y herramientas para compilar e instalar programas desde las fuentes o incluso para programar.

En lugar de tener que instalar programa por programa, uno a uno, mejor instalaremos los grupos de paquetes que ya proveen los sistemas de gestión de paquetes de las diferentes distribuciones.

En sistmas RHEL o CentOS instalamos el grupo de paquetes Development Tools:

# yum groupinstall "Development Tools"

En sistemas Ubuntu instalamos el metapaquete build-essential:

# apt-get install build-essential

Espero que este tipo les sea de utilidad.

Como usar un disco duro externo USB en sistemas GNU/Linux como medio de almacenamiento adicional basado en LVM

Introducción

Actualmente uso una Laptop con dos discos duros internos, un disco es SSD de 32 GB que uso para almacenar el sistema operativo Kubuntu 14.04, y un disco SATA de 500 GB que uso para almacenar datos personales. El disco de datos ya esta llegando al 80% de su capacidad máxima, por lo que es buen tiempo de mover datos a un medio externo.

Para un proyecto de trabajo requiero tener un disco duro externo para almacenar los datos del proyecto, principalmente almacenare las configuraciones y discos duros virtuales de un entorno de máquinas virtuales que uso para laboratorios de estudio e investigación. Para esto quiero usar un disco duro USB externo, prepararlo e intercambiar los accesos del disco local al externo.

Objetivos

En este articulo voy a describir como preparar un disco duro USB externo para utilizarlo como medio de almacenamiento adicional a mi Laptop y sincronizar datos de diferentes volúmenes. Describiremos procedimientos a detalle usando diferentes programas en la línea de comandos y además mostramos las referencias a documentación del sistema acerca de los diferentes programas utilizados.

El articulo lo dividimos en las siguientes secciones:

  • Requerimientos de sistema
  • Conociendo el disco duro externo
  • Revisando el disco vía SMART
  • Particionando el disco
  • Configurando los volúmenes lógicos LVM
  • Creando los sistemas de archivos en los volúmenes lógicos LVM
  • Montando temporalmente los sistemas de archivos de los volúmenes lógicos LVM
  • Asignando permisos
  • Sincronizando los archivos
  • Intercambiamos acceso a datos desde el disco externo
  • Conclusiones
  • Referencias

Requerimientos de sistema

Antes de empezar a particionar y crear sistemas de archivos, he definido los siguientes requerimientos de sistema:

  • Los datos del disco deben de estar disponibles para cualquier equipo GNU/Linux reciente.
  • Usar el tipo de tabla de particiones GPT para soporte de particiones mayor a 4TB.
  • En lugar de usar particiones nativas voy a usar volúmenes lógicos LVM para mayor control.
  • Los sistemas de archivos será ext4 y btrfs, no requiero acceso a clientes Windows.
  • Sincronizar de forma intacta los datos del volumen local al volumen del disco duro externo.
  • En un futuro debería de poder conectar el disco a un equipo Raspberry PI para convertirlo en NAS.

Teniendo bien definidos los requerimientos veamos como realizar nuestro objetivo.

Conociendo el disco duro externo

Tengo el siguiente disco duro externo, el cual es un disco SATA de 320 GB, a continuación muestro la información del disco usando diferentes herramientas de línea de comandos.

Veamos la información de los discos SATA usando el comando lsscsi(8):

# lsscsi
[0:0:0:0] disk ATA ST500LM012 HN-M5 2AR1 /dev/sda
[1:0:0:0] disk ATA SanDisk SSD U100 10.5 /dev/sdb
[2:0:0:0] cd/dvd MATSHITA DVD-RAM UJ8C2 S 1.00 /dev/sr0
[6:0:0:0] disk TOSHIBA MK3276GSX GS00 /dev/sdc

El disco es un TOSHIBA modelo MK3276GSX GS00, y el sistema lo identifica como /dev/sdc.

Ahora veamos la información de capacidades y particiones con el comando fdisk(8):

# fdisk -l /dev/sdc

Disco /dev/sdc: 320.1 GB, 320072933376 bytes

255 cabezas, 63 sectores/pista, 38913 cilindros, 625142448 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00000000
El disco /dev/sdc no contiene una tabla de particiones válida

En la salida del comando fdisk podemos ver la cantidad de cabezas, sectores, pistas, cilindros, ver las unidades y el detalle de la tabla de particiones y las particiones.

El disco duro está vacío, no tiene ninguna tabla de particiones, por lo que está bueno para iniciar desde el principio a preparar este disco.

Revisando el disco vía SMART

Es importante revisar la buena salud del disco duro, y estarlo revisando periodicamente para asegurarnos que almacenamos nuestra información en un medio confiable, para esto, usaremos las herramientas smartmontools para revisar la información S.M.A.R.T del disco.

Primero instalamos las herramientas:

# apt-get install smartmontools

Ahora ejecutamos el comando smartctl con la opción -i para ver la información general:

# smartctl  -i /dev/sdc
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-32-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     ST31000524AS
Serial Number:    5VP8BVRV
LU WWN Device Id: 5 000c50 03809a021
Firmware Version: JC45
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Tue Jan  8 14:29:00 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Ahora ejecutamos un test de saludo general:

# smartctl -H /dev/sdc
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-32-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Como se puede ver en la última línea, el disco paso las pruebas sin errores.

Y en caso de que queramos estar completamente seguros de que el disco duro tiene una buena salud, podemos ejecutar un test completo:

# smartctl -a /dev/sdc

O también podemos ejecutar un test corto:

# smartctl -t short /dev/sdc

Si quiere ver el estado del test, cuando éste aun está en ejecución:

# smartctl -l selftest /dev/sdc

Particionando el disco

Para crear las particiones en el disco usaremos el programa parted(8), el cual nos permitirá crear una tabla de particiones de tipo GUID Partition Table o GPT, el cual no tiene el limitante de 15 números de particiones.

# parted /dev/sdc

(parted) print
Error: /dev/sdc: etiqueta de disco no reconocida

(parted) mklabel gpt

(parted) print
Modelo: TOSHIBA MK3276GSX (scsi)
Disco /dev/sdc: 320GB
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones. gpt

Numero Inicio Fin Tamaño Sistema de archivos Nombre Banderas

(parted) mkpart primary 0% 100%

(parted) print
Modelo: TOSHIBA MK3276GSX (scsi)
Disco /dev/sdc: 320GB
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones. gpt

Numero Inicio Fin Tamaño Sistema de archivos Nombre Banderas
1 1049kB 320GB 320GB ext3 primary

(parted) set 1 lvm on

(parted) print
Modelo: TOSHIBA MK3276GSX (scsi)
Disco /dev/sdc: 320GB
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones. gpt

Numero Inicio Fin Tamaño Sistema de archivos Nombre Banderas
1 1049kB 320GB 320GB ext3 primary lvm

(parted) quit

El dispositivo ya tiene una tabla de particiones, ahora procederemos a configurar los volúmenes lógicos LVM.

Configurando los volúmenes lógicos LVM

Instalamos las herramientas para administrar volúmenes lógicos LVM:

# aptitutde install lvm2

Ahora, con el programa pvcreate(8) convertimos la partición /dev/sdc1 en un dispositivo físico o PV:

# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created

Con el programa pvdisplay(8) vemos los detalles del dispositivo físico:

# pvdisplay /dev/sdc1
"/dev/sdc1" is a new physical volume of "298,09 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 298,09 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 3nkpbK-yJB5-4Ejj-baB9-LUId-dUfW-fOut7M

Con el programa pvs(8) podemos ver un listado más simple de los dispositivos físicos:

# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 jmdata lvm2 a-- 465,76g 45,76g
/dev/sdc1 lvm2 a-- 298,09g 298,09g

Ahora, con el programa vgcreate(8) creamos un grupo de volúmenes o VG y le asignamos el dispositivo físico /dev/sdc1:

# vgcreate vgedata /dev/sdc1
Volume group "vgedata" successfully created

Con el comando vgdisplay(8) vemos la información del volume group vgedata:

# vgdisplay vgedata
--- Volume group ---
VG Name vgedata
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 298,09 GiB
PE Size 4,00 MiB
Total PE 76310
Alloc PE / Size 0 / 0
Free PE / Size 76310 / 298,09 GiB
VG UUID BrYvOz-TrNi-qljU-7WOf-JYSt-QoVL-ZN5tx3

Con el comando vgs(8) podemos ver un listado más sencillo de los volume groups, y sus capacidades:

# vgs
VG #PV #LV #SN Attr VSize VFree
jmdata 1 2 0 wz--n- 465,76g 45,76g
vgedata 1 0 0 wz--n- 298,09g 298,09g

Y por último crearemos un par de volúmenes lógicos sobre el VG vgedata.

Con el comando lvcreate(8) creamos un LV de 200 GB llamado velab:

# lvcreate -L 200GB vgedata -n velab
Logical volume "velab" created

Y otro de 50GB llamado vebackup:

# lvcreate -L 50GB vgedata -n vebackup
Logical volume "vebackup" created

Con el comando lvdisplay(8) mostramos la información del volumen lógico:

# lvdisplay /dev/vgedata/velab
--- Logical volume ---
LV Path /dev/vgedata/velab
LV Name velab
VG Name vgedata
LV UUID MNUXi9-hFf2-0fak-1LlB-41xQ-W0go-ifw2C6
LV Write Access read/write
LV Creation host, time jmubook, 2014-05-17 20:01:45 -0500
LV Status available
# open 0
LV Size 200,00 GiB
Current LE 51200
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2

También la información del volumen vebackup:

# lvdisplay /dev/vgedata/vebackup
--- Logical volume ---
LV Path /dev/vgedata/vebackup
LV Name vebackup
VG Name vgedata
LV UUID RvGFWi-Fb8B-UZCo-cCwV-4NMa-nW0R-sIsvrk
LV Write Access read/write
LV Creation host, time jmubook, 2014-05-18 01:07:07 -0500
LV Status available
# open 0
LV Size 50,00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:3

Con el comando lvs(8) podemos ver un listado de los volúmenes lógicos en el VG vgedata:

# lvs vgedata
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
vebackup vgedata -wi-a---- 50,00g
velab vgedata -wi-ao--- 200,00g

Por último mostramos un listado del VG vgedata para ver que se refleja el uso:

# vgs vgedata
VG #PV #LV #SN Attr VSize VFree
vgedata 1 2 0 wz--n- 298,09g 48,09g

También se ve reflejado en la salida de pvs:

# pvs /dev/sdc1
PV VG Fmt Attr PSize PFree
/dev/sdc1 vgedata lvm2 a-- 298,09g 48,09g

A continuación crearemos un sistema de archivos sobre el recién volumen lógico.

Creando los sistemas de archivos en los volúmenes lógicos LVM

Con el programa mkfs.ext4(8) crearemos los sistema de archivos ext4 sobre los volumen lógicos velab y vebackup:

# mkfs.ext4 -L velab -m 1 /dev/vgedata/velab
mke2fs 1.42.9 (4-Feb-2014)
Etiqueta del sistema de ficheros=velab
OS type: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428800 blocks
524288 blocks (1.00%) reserved for the super user
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=4294967296
1600 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: hecho
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Y también creamos el sistema de archivos para el volumen vebackup:

# mkfs.ext4 -L vebackup -m 1 /dev/vgedata/vebackup
mke2fs 1.42.9 (4-Feb-2014)
Etiqueta del sistema de ficheros=vebackup
OS type: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
131072 blocks (1.00%) reserved for the super user
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=4294967296
400 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424

Allocating group tables: hecho
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: 0/hecho

Usamos el comando blkid(8) para ver los dispositivos de bloque:

# blkid
/dev/sda1: UUID="5SgakS-YpVQ-7mgA-esNg-s2Ml-z5Fk-g254cI" TYPE="LVM2_member"
/dev/sdb1: UUID="e24f9b67-c130-4f18-82e8-3ac2ec6336a7" TYPE="ext4"
/dev/sdb2: UUID="8eb3deac-e519-4bb0-b482-e1d0ae855947" TYPE="swap"
/dev/sdb5: UUID="2731afeb-8f9e-4bbe-8125-e1d1784cd272" TYPE="ext4"
/dev/sdb6: UUID="3987f2c1-f73f-46ab-bda5-a101d84d686c" TYPE="ext4"
/dev/mapper/jmdata-jmhome: UUID="4c9d2c65-380c-494a-a6f4-052a4e76c49e" TYPE="ext4"
/dev/mapper/jmdata-jmvlabs: UUID="5374d4bd-b90b-41ab-90c3-2fe860825abf" TYPE="ext4"
/dev/sdc1: UUID="3nkpbK-yJB5-4Ejj-baB9-LUId-dUfW-fOut7M" TYPE="LVM2_member"
/dev/mapper/vgedata-velab: LABEL="velab" UUID="24cfeffa-f2eb-4835-a1f8-baf6af5c0730" TYPE="ext4"
/dev/mapper/vgedata-vebackup: LABEL="vebackup" UUID="65c886ec-a1e8-4a36-bcf9-01e4db1fb81c" TYPE="ext4"

Continuamos con los montajes y permisos.

Montando temporalmente los sistemas de archivos de los volúmenes lógicos LVM

Creamos un punto de montaje temporal para el volumen velab:

# mkdir /media/labs

Con el comando mount(8) montamos el volumen:

# mount /dev/vgelab/velab /media/labs

Ahora seguiremos con la asignación de privilegios y sincronización de datos.

Asignando permisos

Asociamos el dueño y grupo al directorio:

# chown -R jmedina:jmedina /media/labs

Y cambio los permisos de acceso:

# chmod 770 /media/labs

Validamos la asignación de permisos:

# ls -ld /media/labs
drwxrwx--- 8 jmedina jmedina 4096 may 17 17:39 /media/labs

Sincronizando los archivos

Como definimos en los objetivos, necesitamos hacer una sincronización intacta de los archivos en el disco de datos hacía el disco externo.

Usando el comando lsof validamos que no haya procesos accediendo a los archivos del directorio origen:

# lsof /labs

En caso de que aparezcan archivos abiertos, identificar los procesos y terminarlos.

Ahora que el sistema de archivos está montado, usamos el programa rsync(1) para sincronizar los archivos que queramos mover:

# rsync -avP /labs/ /media/labs/

Si ya no se van a copiar o crear nuevos archivos desmontamos el volúmen:

# umount /media/labs

Ahora que los datos están sincronizados

Intercambiamos acceso a datos desde el disco externo

Desmontamos la partición o volumen actual:

# umount /labs

Desactivamos el montaje anterior de /labs y configuramos el montaje no automático en fstab(5):

# vim /etc/fstab
...
...
...
# Disco externo USB
#/dev/jmdata/jmvlabs /labs ext4 defaults,noatime 0 2
/dev/vgedata/velab /labs ext4 noauto,defaults,noatime,nodiratime 0 2

Montamos el volúmen:

# mount /labs

Vemos su uso:

# df -h
---
---
---
/dev/mapper/vgedata-velab 197G 95G 100G 49% /labs

En caso de que se vaya a desconectar, validamos con lsof(8) que no haya procesos ocupando los archivos, y entonces de forma segura desmontamos el volumen:

# umount /labs

Notas sobre la conexión y desconexión del disco externo y volúmenes lógicos LVM

Cuando conectamos el disco duro a el equipo, el sistema automáticamente tratara de detectar los volúmenes físicos LVM, activarlo, lo mismo para los grupos de volúmenes y los volúmenes lógicos.

Si al conectar el disco no están disponibles los volúmenes lógicos entonces ejecute:

# vgimport -a

y

# vgchange -a y /dev/vgedata

Sin embargo, cuando desconectamos el disco debemos de avisar al sistema que los volúmenes lógicos del disco externo ya no existen, de lo contrario, al volver a conectar el disco habrá un conflicto, para evitarlo es importante que, después de desmontar los sistemas de archivos, desactivemos los volúmenes del disco externo:

# vgchange -a -n /dev/vgedata

Y también:

# vgexport -a

Con esto el sistema desactivará los volúmenes lógicos del volume group especificado.

Conclusiones

Después de haber terminado con el procedimiento anterior resumido que hemos logrado lo siguiente:

  • Identificado el disco duro y sus capacidades con los programas lsscsi y fdisk.
  • Particionado un disco duro usando el tipo GPT y partición tipo LVM con el programa parted
  • Creado volúmenes físicos PV, grupos de volumen VG, y volúmenes lógivos LV basados en LVM.
  • Creado sistemas de archivos ext4 sobre volúmenes lógicos LVM.
  • Montado sistemas de archivos temporalmente con el programa mount y definiendolos en fstab.
  • Configurado permisos a directorios con los programas chown y chmod.
  • Sincronizado intacto de archivos usando el programa rsync.
  • Intercambiar el acceso a los datos hacía el volumen del disco duro externo.

Espero que el articulo les sea de utilidad, si alguien encuentra algún error o mala referencia no dude en enviarme un mensaje
y lo corregiré.

Referencias

Como ejecutar un programa automáticamente al inicio de KDE

En el mundo de Linux y el shell bash es bien sabido que que es posible ejecutar programas al inicio de sesión a través de los archivos .bash*, para login-shells se usa .bash_profile y para non-login shells se usa .bashrc.

En el mundo de Linux y el shell bash es bien sabido que que es posible ejecutar programas al inicio de sesión a través de los archivos .bash*, para login-shells se usa .bash_profile y para non-login shells se usa .bashrc.

Pero para ejecutar algún programa gráfico al inicio de sesión en KDE es otra cosa, para eso se recomienda crear un script o enlazarlos en el directorio ~/.kde/Autostart.

En mi caso quiero ejecutar un programa llamado setxkbmap, para hacerlo realice el siguiente procedimient:

– Crear script mapxkeyb.sh en ~/bin:

#!/bin/bash

#
# script: mapxkeyb.sh
#

# main
setxkbmap es

– Darle permisos de ejecución:

$ chmod ~/bin/mapxkeyb.sh

– Crear enlace simbólico en dir Autostart:

$ cd ~/.kde/Autostart
$ ln -s ~/bin/mapxkeyb.sh

Y listo, reinicie mi sesión y el programa se ejecuto correctamente.

ACTUALIZACION:

He encontrado que también llendo al Preferencias del Sistema=>Administración del Sistema=>Arranque y Apagado y en el menú Autoarranque podemos hacerlo mismo y de una forma más flexible ya que permite definir la etapa de ejecución, aquí un screenshot:

Referencias:

Autostart en LXDE:
http://wiki.lxde.org/en/Autostart
HOWTO: Auto launch programs/scripts on LXDE startup:
http://linux.koolsolutions.com/2009/09/01/howto-auto-launch-programsscripts-on-lxde-startup/

Como deshabilitar el mouse Touchpad en Ubuntu

Cuando trabajamos en alguna laptop por default se habilita el mouse touchpad, hay quienes les gusta usarlo, y hay quienes prefieren usar un mouse externo USB.

En algunos casos he visto que el mouse touchpad es muy sensible e interfiere cuando tecleamos, se brinca el puntero a lugares que no queremos.

Para deshabilitar el mouse touchpad de una laptop se puede usar una tecla especial si es que la soporta, si no lo tiene, entonce podemos deshabilitarlo temporalmente usando el comando synclient, por ejemplo:

$ synclient TouchpadOff=1

Para volver a habilitarlo cambie el valor a 0.

NOTA: Esto solo aplica para mouse touchpad de tipo synaptics.

También se puede usar el comando xinput.

Referencias:

http://askubuntu.com/questions/65951/how-to-disable-touchpad
http://askubuntu.com/questions/161532/how-to-permanently-disable-touchpad-in-12-04
http://www.addictivetips.com/ubuntu-linux-tips/automatically-disable-touchpad-when-mouse-is-connected-ubuntu/

Creando Mapas Mentales en GNU/Linux

En los últimos años he estado investigando nuevas formas de aprendizaje que me permitan organizar de forma eficiente y efectiva mis ideas, pensamientos y nuevos conocimientos adquiridos. Pues hace tiempo encontre los Mapas Mentales, les dejo la definición del autor Tony Buzan:

Un Mapa Mentalm es un método d e análisis que permite organizar con facilidad los pensamientos y utilizar al máximo las capacidades mentales.

Para mostrar como son los mapas mentales, una imagen vale más que mil palabras:

Los mapas mentales te pueden servidor para:

  • Potenciar la creatividad
  • Potenciar la creatividad
  • Potenciar la creatividad
  • Ahorrar tiempo
  • Solucionar problemas
  • Concentrarse
  • Organizar más eñcientemente los pensamientos
  • Aclarar las ideas
  • Aprobar los exámenes con mejores resultados
  • Estudiar más rápida y eficientemente
  • Recordar mejor
  • Tener una visión global de las cosas
  • Planificar
  • Comunicar
  • Sobrevivir
  • Y muchas mas…

Con solo ver algunas de las en las que podemos mejorar usando este método creo que vale la pena darle una estudiada, al final del articulo les dejo algunas referencias que les pueden servir para conocer más de los mapas mentales, pero creo que no hay mejor referencia que el libro “Cómo crear Mapas Mentales” de Tony Buzan.

Los mapas mentales los podemos crear a mano con lapiz, colores y papel o usando algún programa informatico. En el mundo del software libre especialmente en sistemas GNU/Linux tenemos a disposición dos programas para crear mapas mentales el primero es FreeMind y FreePlane ambos programas estan hechos en java por lo cual también pueden ser usados en otros sistemas operativos como MS Windows (para aquellos que no pueden usar otro sistema en el trabajo pero quieren aprender a crear mapas mentales).

En lo personal prefiero FreePlane y más porque ya viene incluido en los repositorios de mi distribución GNU/Linux preferida, Kubuntu, para instalarlo es tan simple como ejecutar los siguientes comandos:

$ sudo apt-get update && sudo apt-get install freeplane

Y listo puedes ir al menu Aplicaciones=>Oficina y dar clic sobre el ícono de Freeplane y empezar a crear mapas mentales.

Al final solo puedo decir que los mapas mentales me han cambiado mi vida y la forma de pensar, se los recomiendo a todos.

Les dejo las siguientes ligas de referencia en donde pueden encontrar más información acerca de los mapas mentales.

http://es.wikipedia.org/wiki/Mapa_mental

http://www.monografias.com/trabajos15/mapas-mentales/mapas-mentales.shtml

http://el50.com/2007/08/14/mapas-mentales-una-forma-de-organizar-y-estimular-las-ideas/

http://sociologiac.net/2008/09/02/11-aplicaciones-gratuitas-para-crear-mapas-mentales/

Como aplicar un parche a kmess 2.0.6.1 y crear el paquete .deb en Ubuntu

Desde hace un par de días he tenido problemas cuando me conecto a la red MSN live desde el programa kmess en mis equipos con Kubuntu 10.04 y 11.10 que usan la versión 2.0.6.1, al parecer Microsoft otra ves hizo cambios en su protocolo o servidores y ahora no puedo ver mi lista de contactos, se conecta bien pero no veo los contactos :S.

Buscando en los reportes de bugs en los foros de kmess encontre el siguiente post Connection problem to wlm, en el publican un parche y algunos paques para diferentes versiones de Ubuntu y arquitecturas.

Aquí les traigo una forma fácil y rápida de bajar el paquete de las fuentes de kubuntu 2.6.0.1, aplicarle el parche arriba mencionado y construir el paquete binario con el parche.

NOTA: Este procedimiento se recomienda se use temporalmente esperando que pronto se publique un paquete oficial en los repositorios.

Instalamos las dependencias de compilación de kmess y el paquete devscripts:

$ sudo apt-get build-dep kmess && sudo apt-get --no-install-recommends install devscripts

Descargamos las fuentes del paquete kmess en un lugar temporal, por ejemplo:

$ mkdir -p ~/Downloads/src; cd ~/Downloads/src

$ sudo apt-get source kmess

NOTA: Requiere que tenga habilitado los depositos de paquetes deb-src en el archivo sources.list.

$ cd kmess-2.0.6.1

Descargamos y aplicamos el parche:

$ sudo wget http://lekensteyn.nl/files/kmess/follow-location-redirects.patch

$ sudo patch -p1 < follow-location-redirects.patch

Construimos el paquete:

$ sudo debuild -b -uc -us

Instalamos la nueva versión:

$ cd ..

$ ls -ltr

$ sudo dpkg -i kmess_2.0.6.1-1build1_amd64.deb

$ dpkg -l kmess

Ahora conectese y ahora si podrá ver sus contactos :).

Si quieren más información de como construir paquetes en Debian y Ubuntu les recomiendo las siguientes referencias:

Debian New Maintainers’ Guide:

Habilitando el plugin sun java en el navegador firefox en Ubuntu

Desde Ubuntu 10.04 se movieron los paquetes sun-java desde el repositorio multiverse al repositorio partner, por lo tanto, si requiere del soporte de sun java jre o del plugin para el navegador firefox tendrá que habilitar el repositorio partner:

$sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

Ahora actualice la lista de paquetes y repositorios e instale los paquetes:
$ sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin

Recuerde reiniciar su navegador para que los cambios tomen efecto. Para verificar que plugins tiene habilitados escriba en la barra de dirección: about:plugins.

Espero que este tip les sea de utilidad.

Habilitando el plugin sun java en el navegador chromium en Ubuntu

Hace ya un par de meses que vengo usando el navegador Chromium para todo, algo que no había hecho es agregar el soporte del plugin java, no hasta que tuve que entrar a una de esas paginas feas de gobierno y me doy cuenta que no tengo el plugin.

Para verificar que plugins tiene habilitados escriba en la barra de dirección: about:plugins.

Bueno pues aquí les dejo los pasos para habilitar el soporte, la configuración la hago sobre Ubuntu 10.04 amd64, con el siguiente sosftware: sun-java6-jre versión 6.20dlj-0ubuntu1.9.10 y chromium-browser versión 8.0.552.224~r68599-0ubuntu0.10.04.1.

Básicamente hay que crear un enlace simbólico en el directorio de plugins de chromium:

$ sudo ln -s /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/libnpjp2.so /usr/lib/chromium-browser/plugins/

Y listo, reinicia tu navegador y ve a about:plugins para probar.

Espero que les sea de utilidad.

Configuración de Canal Bonding modo Active-Backup en Ubuntu Server

Aquí les dejo un documento que describe la implementación de un canal bonding (Port Trunking) en modo Active-Backup para ofrecer tolerancía de fallas a nivel red en un sistema Ubuntu Server.

Este documento ha sido probado en Ubuntu Server LTS 8.04 y Ubuntu Server Karmic 9.10.

Para ver el documento en línea vaya al URL: .

Saludos.

Olderposts

Copyright © 2019 Tuxjm el sitio de jmedina

Theme by Anders NorenUp ↑