Este blog tiene la idea de acercar un poco el tema de las herramientas computacionales, usando preferencialemente Linux, y traducir a "cristiano" todos esos programas, software y otras palabras raras que usan los que saben de computación y aquellos que dicen saber también. Por eso aquí va un filtro con cosas útiles e intentado ser claro, cualquier cosa... por mail, msn, comentarios, etc como quieran, manden preguntas, felicitaciones, reclamos, inquietudes, etc. etc.
Buscar aquí
30 octubre 2013
usar el punto . en búsquedas con grep
Grep es una gran herramienta para buscar, pero usar un punto . dentro del texto, lo torna problemático, pues lo considera como un reemplazo para cualquier carácter y si queremos buscar todos los archivos o palabras en un archivo donde hay un listado de archivos y se busca una extensión o tipo de archivos en particular, si usamos:
find /home/katador > archivosenhome
y ahora quiero buscar todos los archivos con extensión java dentro de archivosenhome... si uso:
grep .java archivosenhome
va a mostrar un listado gigantesco donde txt no necesariamente es la extensión, sino dentro del nombre...
/home/arturo/eclipsework/mytracker/src/com/example/mytracker/MainActivity.java
/home/arturo/eclipsework/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
/home/arturo/.eclipse/org.eclipse.platform_4.2.0_793567567/configuration/org.eclipse.osgi/bundles/450/1/.cp/images/topiclabel/ov_javadev48.gif
Como ven... muestra todo tipo de cosas... ahora si yo quiero sólo, pero sólo los archivos .java ejecuto:
grep "\.java" archivosenhome
las "" indican que sea ese texto y el \ es para "escapar" el punto e indicar que es un caracter más, no para que lo use como reemplazante. OJO que con esto mostrará todas las líneas que terminan con .java
Finalmente, si quiero buscar un texto que está en cualquier parte incluyendo el punto, se debe:
grep "\."texto archivosenhome
con esto, mostrará todas las líneas que tienen .texto en cualquier lugar.
Otra opción es utilizar la opción -F en grep, y el comportamiento es igual que la segunda opción, sería usar un:
grep -F .texto archivosenhome
Esto también fue probado en HPUX y funciona igual que lo descrito.
28 octubre 2013
¿Dónde está el ícono para conectarme a una red Wifi o de cable?
Muchas veces de seguro, ha pasado que por algún desconocido motivo este ícono:

se desaparece sin más ni más y no podemos realizar ninguna conexión de red. Este ícono, es el applet de NetworkManager, un servicio que viene en linux y que ayuda a manejar las conexiones de red facilmente y para recuperarlo hay dos opciones:
Para levantar el applet a mano, es simple, se abre una terminal y ejecutamos el comando:
nm-applet&
Tras la ejecución se verá inmediatamente el ícono en el área de notificación y debiera funcionar normalmente.
Para ejecutar las mismas tareas vía línea de comando se debe utilizar nm-cli, que es un comando que nos ayuda a ejecutar acciones sobre NetworkManager vía línea de comando.
Primero, es necesario saber como se llama la conexión que queremos utilizar, para ello, ejecutamos nmcli con los siguientes parámetros para listar las conexiones disponibles:
[katador@laptop3 ~]$ nmcli con list
NAME UUID TYPE TIMESTAMP-REAL
ArtAP e1bd410a-8ac9-427d-bae2-0229682c4181 802-11-wireless Thu 12 Sep 2013 03:40:58 PM CLST
GUEST-TM a6b68d82-17a9-4645-b30c-ebc431f7ddf7 802-11-wireless Fri 27 Sep 2013 04:36:02 PM CLST
System p4p1 1d265048-8f7f-40b4-b27d-b68db9821698 802-3-ethernet Tue 22 Oct 2013 10:25:53 PM CLST
VPN1 8f119f52-386a-4f05-a632-0aa6d9e24480 vpn never
En este caso ArtAP, es una red Wifi de mi telefono celular y GUEST-TM es una wifi de oficina. La de cable es System p4p1, y es la que me interesa habilitar, entonces, debemos ejecutar nmcli de la siguiente forma:
[katador@laptop3 ~]$ nmcli con up id "System p4p1"
con esto, realizo la conexión de cable, para una wifi es igual.
Es importante notar que las conexiones que se ven en el listado que entrega nmcli, son las que están previamente guardadas en la applet, no las nuevas o "desconocidas".
Actualización: en fedora 20, viene separado en el paquete network-manager-applet
se desaparece sin más ni más y no podemos realizar ninguna conexión de red. Este ícono, es el applet de NetworkManager, un servicio que viene en linux y que ayuda a manejar las conexiones de red facilmente y para recuperarlo hay dos opciones:
- Levantar el applet (ícono) a mano.
- Realizar la operación a mano, vía línea de comando.
Para levantar el applet a mano, es simple, se abre una terminal y ejecutamos el comando:
nm-applet&
Tras la ejecución se verá inmediatamente el ícono en el área de notificación y debiera funcionar normalmente.
Para ejecutar las mismas tareas vía línea de comando se debe utilizar nm-cli, que es un comando que nos ayuda a ejecutar acciones sobre NetworkManager vía línea de comando.
Primero, es necesario saber como se llama la conexión que queremos utilizar, para ello, ejecutamos nmcli con los siguientes parámetros para listar las conexiones disponibles:
[katador@laptop3 ~]$ nmcli con list
NAME UUID TYPE TIMESTAMP-REAL
ArtAP e1bd410a-8ac9-427d-bae2-0229682c4181 802-11-wireless Thu 12 Sep 2013 03:40:58 PM CLST
GUEST-TM a6b68d82-17a9-4645-b30c-ebc431f7ddf7 802-11-wireless Fri 27 Sep 2013 04:36:02 PM CLST
System p4p1 1d265048-8f7f-40b4-b27d-b68db9821698 802-3-ethernet Tue 22 Oct 2013 10:25:53 PM CLST
VPN1 8f119f52-386a-4f05-a632-0aa6d9e24480 vpn never
En este caso ArtAP, es una red Wifi de mi telefono celular y GUEST-TM es una wifi de oficina. La de cable es System p4p1, y es la que me interesa habilitar, entonces, debemos ejecutar nmcli de la siguiente forma:
[katador@laptop3 ~]$ nmcli con up id "System p4p1"
con esto, realizo la conexión de cable, para una wifi es igual.
Es importante notar que las conexiones que se ven en el listado que entrega nmcli, son las que están previamente guardadas en la applet, no las nuevas o "desconocidas".
Actualización: en fedora 20, viene separado en el paquete network-manager-applet
23 octubre 2013
buscar programas con yum
Generalmente estamos acostumbrados a buscar sólo una palabra con yum, pero también podemos usar dos o más, así, si buscamos por ejemplo:
yum search window manager
nos mostrará todos los programas que tengan ambas palabras, no necesariamente juntas, ahora si nos interesa que estén juntas, hay que usar
yum search "window manager"
y así se obtiene, una lista donde ambas palabras están así, juntas...
yum search window manager
nos mostrará todos los programas que tengan ambas palabras, no necesariamente juntas, ahora si nos interesa que estén juntas, hay que usar
yum search "window manager"
y así se obtiene, una lista donde ambas palabras están así, juntas...
10 junio 2013
Manejar una pantalla extra en X
Cuando se usa un laptop, se suele hacer necesario un monitor extra, y muchas veces al usar linux el botón de cambio de pantalla no funciona expandiendo el escritorio, sólo lo duplica o traspasa de una pantalla a otra. Una solución, es utilizar el comando xrandr, que ayuda de manera muy simple a la manipulación de X y monitores.
Primero, xrandr así, sin parametros, entrega la información de los monitores conectados. Así, si no existe ningún monitor extra conectado, arrojará algo como esto:
[ktdr@note3 ~]$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
1366x768 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 120.1 60.0 59.9
960x720 120.0
928x696 120.1
896x672 120.0
800x600 120.0 60.3 59.9 56.2
848x480 59.7
700x525 120.0
720x480 59.7
640x512 120.0
640x480 120.0 59.9 59.4
512x384 120.0
400x300 120.6 112.7
320x240 120.1
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
Lo importante de aquí, es:
[ktdr@note3 ~]$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 connected (normal left inverted right x axis y axis)
1360x768 60.0 +
1280x768 59.9
1280x720 60.0
1024x768 60.0
800x600 60.3
640x480 60.0
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
1366x768 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 120.1 60.0 59.9
960x720 120.0
928x696 120.1
896x672 120.0
800x600 120.0 60.3 59.9 56.2
848x480 59.7
700x525 120.0
720x480 59.7
640x512 120.0
640x480 120.0 59.9 59.4
512x384 120.0
400x300 120.6 112.7
320x240 120.1
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
Se puede ver que VGA-0 está conectado e indica la resolución actual (también con el *).
Ahora, para hacer una extensión del escritorio se utiliza un comando como:
xrandr --output VGA-0 --right-of LVDS --auto
Aquí, se indica que la salida de VGA-0 va a la derecha de LVDS (la pantalla del laptop) y el --auto, seleccionará la mejor resolución.
Un detalle importante, es que si se suspende o hiberna el laptop podría aparecer con un escritorio más grande que la pantalla, para eso sólo es necesario ejecutar:
xrandr --output VGA-0 --auto
con esto, se detecta que no está conectado y se ajusta automaticamente el tamaño del escritorio.
Primero, xrandr así, sin parametros, entrega la información de los monitores conectados. Así, si no existe ningún monitor extra conectado, arrojará algo como esto:
[ktdr@note3 ~]$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
1366x768 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 120.1 60.0 59.9
960x720 120.0
928x696 120.1
896x672 120.0
800x600 120.0 60.3 59.9 56.2
848x480 59.7
700x525 120.0
720x480 59.7
640x512 120.0
640x480 120.0 59.9 59.4
512x384 120.0
400x300 120.6 112.7
320x240 120.1
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
Lo importante de aquí, es:
- La resolución utilizada actualmente (la que tiene el *),
- Los nombres de los monitores, es muy importante, pues estos nombres se usan con el comando.
[ktdr@note3 ~]$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 connected (normal left inverted right x axis y axis)
1360x768 60.0 +
1280x768 59.9
1280x720 60.0
1024x768 60.0
800x600 60.3
640x480 60.0
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
1366x768 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 120.1 60.0 59.9
960x720 120.0
928x696 120.1
896x672 120.0
800x600 120.0 60.3 59.9 56.2
848x480 59.7
700x525 120.0
720x480 59.7
640x512 120.0
640x480 120.0 59.9 59.4
512x384 120.0
400x300 120.6 112.7
320x240 120.1
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
Se puede ver que VGA-0 está conectado e indica la resolución actual (también con el *).
Ahora, para hacer una extensión del escritorio se utiliza un comando como:
xrandr --output VGA-0 --right-of LVDS --auto
Aquí, se indica que la salida de VGA-0 va a la derecha de LVDS (la pantalla del laptop) y el --auto, seleccionará la mejor resolución.
Un detalle importante, es que si se suspende o hiberna el laptop podría aparecer con un escritorio más grande que la pantalla, para eso sólo es necesario ejecutar:
xrandr --output VGA-0 --auto
con esto, se detecta que no está conectado y se ajusta automaticamente el tamaño del escritorio.
30 mayo 2013
Cambiar la version de java con alternatives???
Un clásico problema es que Linux trae instalado el java de OpenJDK y por razones de compatibilidad con varios programas, necesito instalar la maquina virtual de Oracle (SUN). Ahora si se intenta hacer un remove de OpenJDK, se borrará libreoffice y otros tantos programas, por eso, usar alternatives es una buena opción.
Primero, si se ve la versión actual de java veremos:
[root@laptop ~]# java -version
java version "1.7.0_b147-icedtea"
OpenJDK Runtime Environment (fedora-2.1.fc17.6-x86_64)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode
Después instalar la maquina virtual que queremos de Oracle -SUN-.
Si queremos saber dónde está instalada esta versión de java o cuales están instaladas es fácil ejecutar
[root@laptop ~]#alternatives --display java
Esto arroja un listado largo con todas las versiones instaladas y posibles de utilizar.
Ahora hay que "instalar" esta nueva máquina a alternatives y se hace así:
[root@laptop ~]#alternatives --install "/usr/bin/java" java /usr/java/jre1.7.0_21/bin/java 100
- "/usr/bin/java", es el nombre del programa que se pone en /usr/bin
- java, es el nombre de la agrupación en alternatives.
- /usr/java/jre1.7.0_21/bin/java, es la ruta completa al binario de java.
- 100, es la prioridad que le daremos a esto... da igual el número.
[root@laptop ~]# java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Para instalar una nueva versión JDK completa, se puede usar el comando:
alternatives --install "/usr/bin/java" java /usr/java/jdk1.8.0_202/jre/bin/java 100 \
--slave /usr/bin/keytool keytool /usr/java/jdk1.8.0_202/bin/keytool \
--slave /usr/bin/orbd orbd /usr/java/jdk1.8.0_202/bin/orbd \
--slave /usr/bin/pack200 pack200 /usr/java/jdk1.8.0_202/bin/pack200 \
--slave /usr/bin/rmid rmid /usr/java/jdk1.8.0_202/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/jdk1.8.0_202/bin/rmiregistry \
--slave /usr/bin/servertool servertool /usr/java/jdk1.8.0_202/bin/servertool \
--slave /usr/bin/tnameserv tnameserv /usr/java/jdk1.8.0_202/bin/tnameserv \
--slave /usr/bin/unpack200 unpack200 /usr/java/jdk1.8.0_202/bin/unpack200 \
--slave /usr/bin/javac javac /usr/java/jdk1.8.0_202/bin/javac
Ahora, le indicaremos a alternatives que la versión que nos interesa es la que acabamos de instalar, entonces:
[root@laptop ~]# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 /usr/java/jre1.7.0_21/bin/java
Enter to keep the current selection[+], or type selection number: 2
20 marzo 2013
Problemas con la redirección de X
Si se tiene un servidor remoto y se quiere abrir una aplicación gráfica, suele ser mucho más facil hacer una redirección usando ssh. ¿Qué significa esto? usar el canal de ssh para traer a la consola local la ventana, sin tener que pedir acceso a la máquina o instalar un VNC por ejemplo, etc...
Algunos sistemas operativos como HPUX, es necesario configurar la variable DISPLAY para indicarle que siga usando la consola del sistema operativo remoto -que esta siendo redirigida por ssh-, para verificar se puede usar:
echo $DISPLAY
esto debiera arrojar la IP de la maquina que estamos usando:0.0 sí es asi, entonces hay que corregirlo y usar:
export DISPLAY=localhost:10.0
con esto, si ejecutan por ejemplo xterm, se lanzará rapidamente la aplicación.
Hay otras aplicaciones más problematicas, por ejemplo este error:
X Error of failed request: BadFont (invalid Font parameter)
Major opcode of failed request: 55 (X_CreateGC)
Resource id in failed request: 0x0
Serial number of failed request: 79
Current serial number in output stream: 94
hay que hacer lo siguiente:
- instalar en el sistema los paquetes:
xorg-x11-fonts-ISO8859-1-75dpi.noarch esto va en relación a las configuraciones de las variables de ambiente que siguen, también puede ser recomendable instalar:
xorg-x11-fonts-75dpi
xorg-x11-fonst-misc
- probablemente si en este punto ejecutan la aplicación nuevamente vean un mensaje como:
Could not find MESSAGE Catalog. Please check NLSPATH and LANG variables
- en este caso, en la sesión de UX deben asignar valor a las variables de ambiente LANG Y NLSPATH, como por ejemplo:
export LANG=es_CL.iso88591
es para usar idioma español Chile con formato iso88591, para ver los disponibles pueden listar lo existente en /usr/lib/nls/msg/ y usar el nombre del directorio para LANG
- asignar valor a la variable NLSPATH, pues esta debe apuntar a todo esta un catalogo:
export NLSPATH=/usr/lib/nls/msg/es_CL.iso88591/mesg.cat
ahora volver a ejecutar la aplicación y debiera correr sin ningún problema.
Se debe tener presente que la definición de estas variables es temporal y si se quieren hacer de manera permanente se deben agregar al archivo de profile del usuario.
Otro error común es:
X11 forwarding request failed on channel 0
este es mostrado cuando se ingresa desde un linux usando ssh -X para ello es necesario instalar el paquete xorg-x11-xauth y al reintentar es exitoso.
Algunos sistemas operativos como HPUX, es necesario configurar la variable DISPLAY para indicarle que siga usando la consola del sistema operativo remoto -que esta siendo redirigida por ssh-, para verificar se puede usar:
echo $DISPLAY
esto debiera arrojar la IP de la maquina que estamos usando:0.0 sí es asi, entonces hay que corregirlo y usar:
export DISPLAY=localhost:10.0
con esto, si ejecutan por ejemplo xterm, se lanzará rapidamente la aplicación.
Hay otras aplicaciones más problematicas, por ejemplo este error:
X Error of failed request: BadFont (invalid Font parameter)
Major opcode of failed request: 55 (X_CreateGC)
Resource id in failed request: 0x0
Serial number of failed request: 79
Current serial number in output stream: 94
hay que hacer lo siguiente:
- instalar en el sistema los paquetes:
xorg-x11-fonts-ISO8859-1-75dpi.noarch esto va en relación a las configuraciones de las variables de ambiente que siguen, también puede ser recomendable instalar:
xorg-x11-fonts-75dpi
xorg-x11-fonst-misc
- probablemente si en este punto ejecutan la aplicación nuevamente vean un mensaje como:
Could not find MESSAGE Catalog. Please check NLSPATH and LANG variables
- en este caso, en la sesión de UX deben asignar valor a las variables de ambiente LANG Y NLSPATH, como por ejemplo:
export LANG=es_CL.iso88591
es para usar idioma español Chile con formato iso88591, para ver los disponibles pueden listar lo existente en /usr/lib/nls/msg/ y usar el nombre del directorio para LANG
- asignar valor a la variable NLSPATH, pues esta debe apuntar a todo esta un catalogo:
export NLSPATH=/usr/lib/nls/msg/es_CL.iso88591/mesg.cat
ahora volver a ejecutar la aplicación y debiera correr sin ningún problema.
Se debe tener presente que la definición de estas variables es temporal y si se quieren hacer de manera permanente se deben agregar al archivo de profile del usuario.
Otro error común es:
X11 forwarding request failed on channel 0
este es mostrado cuando se ingresa desde un linux usando ssh -X para ello es necesario instalar el paquete xorg-x11-xauth y al reintentar es exitoso.
12 febrero 2013
Estado de parches y paquetes instalados en HPUX
En HP UX, existe un campo de estado que permite ver el estado de instalación del paquete o parche. Para esto se utiliza la herramienta swlist que permite obtener la información a través de list,
swlists -l
para parches que se debe usar patch y para paquetes fileset.
Entonces para conocer el estado de los parches se puede usar:
swlist -l patches -a patch_state
y para paquetes
swlist -l fileset -a state
y ahi se podrá revisar si está en estado installed, configured o corrupt.
swlists -l
para parches que se debe usar patch y para paquetes fileset.
Entonces para conocer el estado de los parches se puede usar:
swlist -l patches -a patch_state
y para paquetes
swlist -l fileset -a state
y ahi se podrá revisar si está en estado installed, configured o corrupt.
08 enero 2013
Utilizar el histórico de comandos en HP UX
En general todos los unix tienen el comando history, que permite acceder a un listado de los comandos ejecutados anteriormente, con la facilidad de agregar un -N donde N es la cantidad de líneas que se quieren ver, entonces sería algo como:
history -20
también para llamar el último comando se puede utilizar !! (dos signos de exclamación) que ejecutará el último comando.
Existe la opción de "navegar" en el histórico, línea a línea utilizando vi. Hay que considerar que por defecto HP UX utiliza ksh (Korn) como shell, entonces hay que ejecutar
ksh -o vi
Ahora se presiona la tecla ESCAPE + K y comenzarán a ver los comandos antiguos. Si es necesario editar el comando, se deben utilizar las teclas de VI:
- L para mover a la derecha
- H para mover a la izquierda
- I para insertar texto
- a para agregar texto en el espacio siguiente al donde está localizado el cursor.
- A para agregar texto al final de la línea.
y enter para ejecutar el comando.
history -20
también para llamar el último comando se puede utilizar !! (dos signos de exclamación) que ejecutará el último comando.
Existe la opción de "navegar" en el histórico, línea a línea utilizando vi. Hay que considerar que por defecto HP UX utiliza ksh (Korn) como shell, entonces hay que ejecutar
ksh -o vi
Ahora se presiona la tecla ESCAPE + K y comenzarán a ver los comandos antiguos. Si es necesario editar el comando, se deben utilizar las teclas de VI:
- L para mover a la derecha
- H para mover a la izquierda
- I para insertar texto
- a para agregar texto en el espacio siguiente al donde está localizado el cursor.
- A para agregar texto al final de la línea.
y enter para ejecutar el comando.
Suscribirse a:
Entradas (Atom)