5 métodos para obtener ayuda sobre comandos GNU/Linux
Hice una traducción del artículo 5 Methods to get Help on Linux Commands, publicado en The Geek Stuff, porque me pareció demasiado interesante.
Cuántas veces nos ha pasado que leemos alguna guía o tutorial sobre algún tema de GNU/Linux y nos encontramos con que los autores (me incluyo xD) no explican qué hacen los comandos utilizados en dicha guía. Claro, siempre existe la posibilidad de preguntarle a San Google, pero también podemos utilizar la consola para obtener información sobre algún comando que desconocemos. Yo, hasta antes de leer este artículo, conocía sólo dos formas de obtener información de comandos (aparte de recurrir a Google), una a través de -h y la otra mediante man. Sin embargo, por lo menos, existen otros tres métodos que nos brindarán información sobre un comando determinado en GNU/Linux. A continuación muestro la traducción del artículo, antes nombrado, donde se habla acerca de esos métodos.
Antes de partir a Google para obtener ayuda sobre un comando Unix en particular, intenta los siguientes métodos, los cuales te darán una ayuda general sobre comandos Unix.
Usando apropos para buscar páginas man.
Usa apropos para buscar páginas man de comandos Unix válidos sobre una funcionalidad específica:
$ apropos -r REGEXdeCOMANDOUNIX o descripción
Si alguien sabe qué diablos significa REGEX que deje un comentario por favor, estaré muy agradecido
Acerca del comando apropos, tomado desde la página man:
apropos busca un conjunto de archivos de base de datos que contienen breves descripciones de comandos de sistema. Usa palabras claves y muestra el resultado en una salida estándar
El siguiente ejemplo muestra todos los comandos disponibles relacionados con grep:
$ apropos grep
egrep (1) - print lines matching a pattern
fgrep (1) - print lines matching a pattern
git-grep (1) - Print lines matching a pattern
grep (1) - print lines matching a pattern
grep (1p) - search a file for a pattern
lzegrep (1) - search compressed files for a regular expression
lzfgrep (1) - search compressed files for a regular expression
lzgrep (1) - search compressed files for a regular expression
msggrep (1) - pattern matching on message catalog
pcregrep (1) - a grep with Perl-compatible regular expressions.
pgrep (1) - look up or signal processes based on name and other attributes
xzegrep (1) - search compressed files for a regular expression
xzfgrep (1) - search compressed files for a regular expression
xzgrep (1) - search compressed files for a regular expression
zgrep (1) - search possibly compressed files for a regular expression
zipgrep (1) - search files in a ZIP archive for lines matching a pattern
Lee la página man.
Este es el método fácil y más efectivo para obtener ayuda rápido sobre algún comando Unix. He visto a mucha gente (especialmente newbies) aburrida de leer páginas man.
Si bien las páginas man de Unix no pueden tener gran cantidad de ejemplos prácticos, explica todas las opciones disponibles para un comando en forma detallada.
$ man COMANDOUNIX
$ man tar
Si no conoces el nombre exacto del comando para una funcionalidad específica, usa la opción man -k para localizar el comando.
$ man -k REGEX or UNIXCOMMAND
$ man -k compression
7z (1) - A file archiver with highest compression ratio
7za (1) - A file archiver with highest compression ratio
7zr (1) - A file archiver with highest compression ratio
archive_util (3) - libarchive utility functions
archive_read (3) - functions for reading streaming archives
archive_write (3) - functions for creating archives
Compress::Raw::Bzip2 (3perl) - Low-Level Interface to bzip2 compression library
Compress::Raw::Zlib (3perl) - Low-Level Interface to zlib compression library
Compress::Zlib (3perl) - Interface to zlib compression library
gnutls_compression_get (3) - Returns the currently used compression algorithm.
gnutls_compression_get_id (3) - Returns the gnutls id of the specified in string algorithm
gnutls_compression_get_name (3) - Returns a string with the name of the specified compression algorithm
gnutls_compression_list (3) - Get a list of supported compression methods
gnutls_compression_set_priority (3) - Sets the priority on the compression algorithms supported by gnutls.
SSL_COMP_add_compression_method (3) - handle SSL/TLS integrated compression methods
Muestra una línea de descripción acerca de un comando.
Para mostrar una línea de descripción acerca de un comando, puedes usar el comando whatis.
$ whatis COMANDOUNIX
Acerca del comando whatis, tomado desde la página man:
whatis busca un conjunto de archivos de base de datos que contiene breves descripciones de comandos de sistema. Usa palabras claves y muestra el resultado en una salida estándar. Sólo las coincidencias de una palabra completa son mostradas.
El siguiente ejemplo muestra una línea con información de alto nivel acerca del comando 7z:
$ whatis 7z
7z (1) - A file archiver with highest compression ratio
Usa la opción -h o –help del comando.
A veces puedes conocer la funcionalidad de un comando muy bien, pero no puedes recolectar todas las opciones disponibles para un comando específico. Usa la opción -h del comando para revisar todas las opciones disponibles del comando.
$ COMANDOUNIX -h
El siguiente ejemplo muestra una ayuda rápida sobre el comando netstat:
$ netstat -h
usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}
netstat [-vnNcaeol] [<Socket> ...]
netstat { [-veenNac] -i | [-cnNe] -M | -s }
-r, --route display routing table
-i, --interfaces display interface table
-g, --groups display multicast group memberships
-s, --statistics display networking statistics (like SNMP)
-M, --masquerade display masqueraded connections
-v, --verbose be verbose
-n, --numeric don't resolve names
--numeric-hosts don't resolve host names
--numeric-ports don't resolve port names
--numeric-users don't resolve user names
-N, --symbolic resolve hardware names
-e, --extend display other/more information
-p, --programs display PID/Program name for sockets
-c, --continuous continuous listing
-l, --listening display listening server sockets
-a, --all, --listening display all sockets (default: connected)
-o, --timers display timers
-F, --fib display Forwarding Information Base (default)
-C, --cache display routing cache instead of FIB
<Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
<AF>=Use '-A <af>' or '--<af>'; default: inet
List of possible address families (which support routing):
inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)
Lee documentos de información usando el comando info.
Cuando no eres capaz de encontrar la información requerida en la página man de Unix, prueba con los documentos de información usando el comando Unix info como se muestra abajo:
$ info sed
Se abrirá un documento parecido a la página man del comando.
Eso sería todo, a mi me pareció muy útil y bueno el artículo.
Ojalá a alguien le sirva al igual que a mi.
Saludos
Q4Wine, un GUI Qt4 para Wine
Q4Wine es un GUI qt4 para W.I.N.E. Este te ayudará a gestionar prefijos de wine y aplicaciones instaladas. [1]
Características generales:[1]
- Puede exportar el color del tema Qt a los colores en las configuraciones de Wine.
- Puede trabajar fácilmente con diferentes versiones de Wine al mismo tiempo.
- Fácil creación, borrado y gestión de prefijos de Wine (WINEPREFIX).
- Fácil control para las procesos de Wine.
- Fácil asistente de instalación para aplicaciones Wine.
- Soporta íconos de autocomienzo.
- Uso fácil de imágenes de cd.
- Puedes extraer íconos desde archivos PE (.exe, .dll).
- Fácil copia de seguridad y restauración de prefijos gestionados.
- Soporta Winetricks.
La última versión liberada es la 0.113
Es realmente muy fácil de utilizar ahorrándonos esas engorrosas configuraciones de Wine mediante línea de comandos. Además, como está escrito en Qt4 se integra muy bien con KDE.
Para instalar este GUI puedes buscar en los repositorios de tu distribución o pasar por la página oficial de descargas del proyecto donde encontrarás paquetes para Debian, FreeBSD, Gentoo, openSUSE y openmamba. Allí también puedes encontrar el código fuente de la interfaz.
Si usas Archlinux puedes instalar Q4Wine fácilmente desde el AUR usando yaourt:
$ yaourt -S q4wine
Aquí una captura de la interfaz corriendo en Archlinux con KDEmod (clic en la imagen para agrandar):
Q4Wine viene con el idioma español para ser seleccionado en las opciones, sin embargo, por alguna razón, no funciona. He reportado eso en el tracker del proyecto como un bug (mira aquí).
Saludos
DeSmuME, un excelente emulador de Nintendo DS
DeSmuME (también conocido formalmente como Yop Yop DS) es un emulador de código abierto para la Nintendo DS creado por YopYop156 y licenciado bajo la GPL. El DeSmuME original está escrito en C++ para GNU/Linux, Mac OS y Windows.[1]
La última versión estable liberada de DeSmuME es la 0.9.4.
Es un excelente emulador, lo he probado en Archlinux y la verdad es que funciona muy bien con algunas roms. Si lo instalas no esperes que todos los juegos corran como en una Nintendo DS, porque aún no se ha alcanzado ese nivel de optimización, pero si podrás jugar a algunas roms de lo más bien.
Si deseas probarlo puedes descargar el código fuente de la última versión del programa desde la página de descargas del sitio oficial del proyecto.
Si usas Archlinux también puedes compilar e instalar la última versión de DeSmuME desde el AUR usando yaourt:
$ yaourt -S desmume
También en el AUR encuentras la versión svn del programa:
$ yaourt -S demume-svn
Aquí una captura de DeSmuME corriendo, en mi Archlinux con KDEmod, la rom Yu-Gi-Oh! World Championship Tournament 2007:
Te recomiendo lanzar el programa con la bandera –fwlang=5, puesto que algunas roms no permiten elegir el español dentro del juego, sino que se debe seleccionar desde el emulador, y en la versión para GNU/Linux de DeSmuME esto no se puede hacer de forma gráfica, aún.
Saludos.
Proyecto Archserver
Ayer revisando etiquetas en delicious me encontré con este proyecto que puede ser bastante interesante para algunas personas.
Archserver es un trabajo derivado de Archlinux diseñado para ser más estable con el fin de ser apto para su uso en servidores.[1]
Eso sería todo xD, no hay más info todavía, porque como dice el título, de esta entrada, se trata de un proyecto de distro. Al parecer se encuentra en proceso de buscar personas que puedan ayudar al desarrollo de esta distribución. Por eso, si estás interesad@, te invito a dar una vuelta por la página oficial para contactar con los desarrolladores.
Saludos
Failed to load module “fbdev” / “i810″
Cierto día me puse a ver este tema en el foro oficial de Archlinux. Si se fijan, en el post #23, de dicho tema, el usuario b9anders, dice que tiene un rendimiento realmente óptimo con su tarjeta de video Intel pues usa los paquetes git de intel-dri (intel-dri-git) y del driver xf86-video-intel (xf86-video-intel-git). Ambos paquetes están en el AUR. Tuve entonces la mala idea de probar xD. Traté de instalar los paquetes usando yaourt:
$ yaourt -S intel-dri-git xf86-video-intel-git
El asunto es que por un problema de conflictos de dependencias no pude completar la instalación (mirar este post). Entonces, obviamente, instalé de nuevo el paquete xf86-video-intel (que está contenido en los repositorios de Archlinux). Reinicié la máquina y ¡plaf! no funcionaba el servidor x
. Sólo podía acceder a ese con el usuario root, es decir, me logueaba en modo texto (porque ni siquiera podía ver el kdm) como root y luego corría el comando startx.
Al tratar de iniciar las X como usuario “normal” o con mi usuario “por defecto” el sistema ponía esto en el archivo Xorg.0.log:
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
(WW) Warning, couldn’t open module i810
(EE) Failed to load module “i810″ (module does not exist, 0)
(WW) Warning, couldn’t open module fbdev
(EE) Failed to load module “fbdev” (module does not exist, 0)
(WW) Falling back to old probe method for vesa
Obviamente lo primero que intenté fue buscar información en google con las palabras: Failed to load module “i810″ (module does not exist, 0) o Failed to load module “fbdev” (module does not exist, 0). Nada de lo buscado y encontrado en google resultó.
Luego de intentar e intentar muchas cosas el primer día xD, el segundo día, logré solucionar el problema gracias a una sugerencia que me dió el usuario skottish en el tema que creé, en el foro oficial de Archlinux, para solicitar ayuda.
La cosa es que no se trataba, directamente, de un problema al tratar de cargar, el sistema, los módulos fbdev e i810, sino que era un error generado por el archivo .xinitrc (o algo así
) que se encontraba en mi carpeta home. Al parecer, al instalar Archlinux, este archivo no se crea, sino que todos los usuarios usan la misma configuración contenida en el archivo /etc/X11/xinit/xinitrc (si no me equivoco). Sin embargo, por una razón que olvidé, yo creé dicho archivo en mi home y agregué a ese unos parámetros que no recuerdo, los cuales ya no funcionaban con el driver contenido en el paquete xf86-video-intel. Entonces lo que hice fue borrar, de mi carpeta personal, todos los archivos ocultos que comenzaran con una letra x:
$ rm -f .x*
Reinicié y problema solucionado xD.
Jajajaj la verdad no tenía mierda idea a que se debía específicamente el error, sólo traté y traté de solucionarlo haciendo cosas que fueran posibles de deshacer, hasta que di con esta solución. Ojalá a alguien le sirva igual que a mi en su momento.
Saludos
Cómo lanzar un plasmoide desde la terminal en KDE (plasmoidviewer)
Hace algunas semanas tuve un problema con un plasmoid llamado Plasmacon. Reporté el error en la página del plasmoid, en kde-look. Entonces el desarrollador me dijo que lanzara Plasmacon mediante consola utilizando el comando plasmoidviewer para poder recoger la salida de la terminal:
$ plasmoidviewer Plasmacon
La verdad, esto es algo que siempre quise hacer, pero que jamás logré ya que no pude encontrar información en google (tal vez porque busqué con palabras no muy exactas debido a mi ignorancia en el tema)
Entonces traté de lanzar, de la misma forma, el resto de los plasmoides que hay en mi sistema, pero no resultó. El comando no reconocía los nombres de los plasmoides por lo que era lógico que el alcance de nombre entre Plasmacon y su forma de llamarlo desde terminal era un concidencia (o tal vez no, tal vez el desarrollador quiso que esto fuera así).
Nuevamente recurrí a google y esta vez encontré mucha información
.
Para lanzar un plasmoide desde consola se debe correr el comando:
$ plasmoidviewer nombre_applet
Dónde nombre_applet es el valor especificado en el campo X-KDE-PluginsInfo-Name del archivo .desktop. Cada Plasmoid necesita un archivo .desktop para indicarle a Plasma como debe iniciarlo y que nombre tomará.[1]
Entonces, ahora necesitaba saber en qué lugar se encuentran, en mi sistema, los archivos .desktop de los plasmoid. Lo que hice fue simplemente buscarlos:
$ sudo updatedb
$ locate .desktop
La salida de ese último comando es muy grande xD, pero logré darme cuenta que la mayoría, de los archivos que buscaba, se encuentran en la carpeta /usr/share/kde4/services/ y que en su nombre están acompañados por el “prefijo” plasma-applet-, por ejemplo:
plasma-applet-daisy.desktop
plasma-applet-digitalclock.desktop
plasma-applet-stasks.desktop
Bien, ahora que sabía la ubicación de los archivos .desktop de los plasmoides sólo quedaba abrir uno de ellos y ver el valor del campo X-KDE-PluginsInfo-Name que nombré más arriba. Tomemos por ejemplo el archivo plasma-applet-daisy.desktop, si lo abrimos con nuestro editor de texto favorito (en mi caso nano), en el sexto “párrafo” veremos lo siguiente:
X-KDE-Library=plasma_applet_daisy
X-KDE-PluginInfo-Author=Lechio
X-KDE-PluginInfo-Email=Alessandros1pt@yahoo.com.br
X-KDE-PluginInfo-Name=plasma_applet_daisy
Por lo tanto para lanzar el plasmoide daisy desde una terminal debemos ejecutar:
$ plasmoidviewer plasma_applet_daisy
Listo, veremos la salida de la terminal cuando se está ejecutando el plasmoid (para buscar posibles errores) y además veremos al mismo en una nueva ventana:
Saludos
[1]KDE-Hispano: Introducción a Plasma – Tutorial 1 – Tu primer applet
¿Qué paquete provee los códecs multimedia en Archlinux con KDE o KDEmod?
Cuando instalé Archlinux por primera vez le puse KDE como escritorio. Busqué en la wiki de Arch cómo instalar los códecs de audio y video para este entorno pero lo único que encontré fue esto. En ese artículo hablan sobre cómo instalar esos famosos códecs gstreamer, que según mis experiencias con otras distros, ocupan el motor del mismo nombre (gstreamer), motor, por lo de más, que no usa KDE puesto que este ocupa xine. Como no encontré ningún códec que instalar metí un disco con mp3 al computador y funcionó xD (obviamente después de configurar la tarjeta de sonido). Se oía bien, muy, muy bien. Entonces, intenté reproducir un video avi. Se veía y oía a la perfección. Esto me pareció tremendamente extraño, ya que, por ejemplo, en Fedora, para tener los códecs de audio y video en KDE, se deben instalar los paquetes: xine-lib-extras-freeworld y xine-lib-extras. Lo mismo ocurre con Ubuntu, dónde se deben instalar unos paquetes de nombres similares.
Como no quería quedarme con la duda consulté en los foros de Archlinux Chile, respecto a este asunto, pero la respuesta que me dió el usuario coldrake no me terminó de convencer (sin desmerecer, obviamente, la gentiliza de esta persona por responder a mi duda
). Decidí, entonces, consultar lo mismo en el foro oficial de Chakra y KDEmod, dónde, afortunadamente, el usuario philacorns me dio una, muy buena, respuesta. Me dijo que existen las siguientes maneras (supongo que en GNU/Linux) de decodificar los archivos multimedia:
- Mediante los códecs gstreamer de los cuáles hablé más arriba y que obviamente no los tenía instalados en el sistema.
- Mediante xine-lib.
¡Bingo!, si no tenía instalados los códecs gstreamer era obvio que mis archivos multimedia se reproducían gracias a xine-lib:
$ pacman -Qs xine-lib
local/xine-lib 1.1.16.3-3
A free video player for Unix
Ahora la pregunta era obvia, si yo no instalé este paquete (xine-lib) en ningún momento ¿cómo estaba en mi sistema? y la respuesta era más obvia aún: es una dependencia de otro paquete
:
$ pacman -Qi xine-lib
Nombre : xine-lib
Versión : 1.1.16.3-3
URL : http://xinehq.de/
Licencias : LGPL GPL
Grupos : Nada
Provee : Nada
Depende De : libgl libxvmc esound flac>=1.1.4 libvorbis sdl libmng libxcb libtheora wavpack ffmpeg>=0.5 heimdal>=1.2.1 faad2>=2.7
Dependencias Opcionales : Nada
Requerido por : kdemod-kdebase-runtime kdemod-phonon-backend-xine
Conflictos con : Nada
Reemplaza : Nada
Tamaño instalado : 8744,00 K
Empaquetador : Eric Belanger <eric@archlinux.org>
Arquitectura : i686
Fecha de compilación : lun 20 abr 2009 00:15:05 CLT
Fecha de instalación : dom 04 oct 2009 10:49:16 CLT
Motivo de la instalación : Instalado como dependencia de otro paquete
Script de instalación: No
Descripción : A free video player for Unix
Si se fijan dice:
Requerido por : kdemod-kdebase-runtime kdemod-phonon-backend-xine
Entonces:
$ pacman -Qi kdemod-kdebase-runtime
Nombre : kdemod-kdebase-runtime
Versión : 4.3.2-2
URL : http://www.kde.org
Licencias : GPL LGPL FDL
Grupos : kdemod kdemod-minimal kdemod-complete kdemod-uninstall
Provee : kdebase-runtime=4.3.2
Depende De : kdemod-kdelibs>=4.3.2 kdemod-kdelibs-experimental>=4.3.2 kdemod-kdepimlibs>=4.3.2 rarian smbclient libxcb xine-lib hicolor-icon-theme openslp>=1.2.1 kdemod-libssh>=0.3.3 xorg-xinit
Dependencias Opcionales : htdig: To build the documentation search index
Requerido por : kdemod-extragear-koffice-common kdemod-kdebase kdemod-kdebase-workspace kmess-svn-stable konversation
Conflictos con : kdebase-runtime kde-meta-kdebase-runtime
Reemplaza : Nada
Tamaño instalado : 19608,00 K
Empaquetador : Unknown Packager
Arquitectura : i686
Fecha de compilación : jue 08 oct 2009 15:14:59 CLT
Fecha de instalación : jue 15 oct 2009 12:06:37 CLST
Motivo de la instalación : Explícitamente instalado
Script de instalación : Si
Descripción : KDE Base Runtime
Si se fijan dice:
Grupos : kdemod kdemod-minimal kdemod-complete kdemod-uninstall
Es decir, al instalar el grupo kdemod-minimal (que fue lo que hice cuando instalé KDEmod) se instala kdemod-kdebase-runtime y este paquete tiene como dependencia xine-lib:
Depende De : kdemod-kdelibs>=4.3.2 kdemod-kdelibs-experimental>=4.3.2 kdemod-kdepimlibs>=4.3.2 rarian smbclient libxcb xine-lib hicolor-icon-theme openslp>=1.2.1 kdemod-libssh>=0.3.3 xorg-xinit
Con esto todas mis dudas quedaron despejadas
Colorear nano
Me gusta mucho nano. Es simple, fácil de usar y hasta el momento no he encontrado alguna limitación cuando lo ocupo.
Tal vez lo único que nunca me gustó de este editor de texto es que no viene coloreado por defecto. Esto me hacía confundir líneas y sintaxis. Realmente, un sólo color, en un editor de texto que se ocupa para editar archivos de configuración, es bastante molesto
. Por esta razón aquí dejo un pequeño truco o más bien una pequeña guía para colorear nano
.
Lo que debemos hacer es descomentar las últimas líneas que se encuentran en el archivo nanorc contenido en la carpeta /etc, quedando algo como esto:
## Nanorc files
include “/usr/share/nano/nanorc.nanorc”## C/C++
include “/usr/share/nano/c.nanorc”## HTML
include “/usr/share/nano/html.nanorc”## TeX
include “/usr/share/nano/tex.nanorc”## Quoted emails (under e.g. mutt)
include “/usr/share/nano/mutt.nanorc”## Patch files
include “/usr/share/nano/patch.nanorc”## Manpages
include “/usr/share/nano/man.nanorc”## Groff
include “/usr/share/nano/groff.nanorc”## Perl
include “/usr/share/nano/perl.nanorc”## Python
include “/usr/share/nano/python.nanorc”## Ruby
include “/usr/share/nano/ruby.nanorc”## Java
include “/usr/share/nano/java.nanorc”## Assembler
include “/usr/share/nano/asm.nanorc”## Bourne shell scripts
include “/usr/share/nano/sh.nanorc”## POV-Ray
include “/usr/share/nano/pov.nanorc”
Guarda los cambios, cierra el programa y abre nuevamente el archivo nanorc. Notarás la diferencia
Imagino que se debe poder colorear aún más este programa pero esto es lo que yo se
Saludos
Visto en | Utilidades para linux, windows, redes, lo que sea: Colorear nano
Convierte a pacman en el verdadero pacman
Este truco lo conocí gracias a un tema que hizo jorgicio en los foros de la comunidad chilena de usuarios de Archlinux. Muchas gracias a el
Lo que debes hacer es editar el archivo pacman.conf ubicado en la carpeta /etc añadiendo la siguiente línea bajo la palabra [options]:
ILoveCandy
Quedando algo así:
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives#
# GENERAL OPTIONS
#
[options]
ILoveCandy
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
Luego actualiza el sistema o instala algún paquete usando pacman y ya verás
Saludos

















Comentarios Recientes