Difference between revisions of "General Recommendations (Español)"

From ArchWiki
Jump to navigation Jump to search
(Coloriza la salida de 'grep')
(Coloreando y las Shell Emacs: evitar extraños símbolos)
Line 81: Line 81:
 
==Coloreando y las Shell Emacs: evitar extraños símbolos==
 
==Coloreando y las Shell Emacs: evitar extraños símbolos==
  
Por defecto las Shell Emacs muestran secuencias de escape se utiliza para imprimir los colores, es decir, usted verá un montón de símbolos molestos y extraños. Debe añadir a su archivo de configuración .emacs:
+
Por defecto las Shell Emacs muestran secuencias de escape que se utiliza para imprimir los colores, es decir, usted verá un montón de símbolos molestos y extraños. Debe añadir a su archivo de configuración .emacs:
  
 
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
 
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

Revision as of 00:31, 3 August 2009


Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Introducción

Aquí hay algunas modificaciones de rendimiento e información útil para los primerizos en Arch Linux.

Auto-Reconocimiento de Hardware

  • lshwd es tu herramienta de auto-reconocimiento de hardware. Te informará de que módulo debes instalar y cargar.
  • O puedes ver hwdetect. Puede que detecte más hardware y es más rápido que lshwd. Más información: hwdetect

Acelerar Proceso Booter en LiLo

  • para acelerar el proceso de booteo de lilo, añade el siguiente comando a /etc/lilo.conf:
 compact

Pausando al Final de Proceso de Boot

Luego del proceso de arranque o boot, la pantalla es despejada y aparece el prompt de login para identificarse. Para cambiar este comportamiento y hacer una pausa antes del login con el fin de ver los mensajes que todavía aparecen durante el arranque, (usualmente usado para analizar y buscar errores), puedes añadir una de las siguientes lineas al final del archivo /etc/rc.local:

  • Esperar al final del arranque hasta que presiones una tecla antes de limpiar la pantalla y dejarte ingresar:
read -n1
  • Esperar al menos 5 segundos o hasta que presiones una tecla:
read -t5 -n1

O:

  • Elimina los primeros 3 carácter en el fichero /etc/issue, que es un código para "limpiar la pantalla". Obviamente esto evitará que la pantalla sea limpiada después que cierres la sesión de igual forma que como lo hace después del arranque o boot.
  • Ejecutar dmesg desde la terminal para mostrar todos los mensajes de boot previos a initd, generados por el kernel.
  • Comentar la linea en /etc/inittab donde agetty se ejecuta en vc/1:
#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux

Colorizar tu PS1 y la Terminal

~/.bashrc y /root/.bashrc contienen las variables estándar para el usuario normal y root, respectivamente, de PS1 (el prompt de la shell).

Como un usuario normal:

nano ~/.bashrc

Comenta la siguiente línea:

#PS1='[\u@\h \W]\$ '

Y añade:

PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '

Esto te dará una terminal colorida y agradable, y un tema para la consola con texto blanco brillante, La engorrosa cadena de arriba contiene juegos de colores determinadas por secuencias de escape (comienzo del colorido: \[\e[color\], final de colorido: \[\e[m\]) y marcadores de posición con información.

  • \u - nombre de usuario, tu prompt original tenía además \h - nombre del host
  • \w - ruta absoluta actual, usa \w para ruta relativa actual.
  • \$ - el carácter del prompt (ej. '#')

La última secuencia de colores "\[\e[1;37m\]" no está cerrada, por lo que el texto restante (todo lo que tu escribas, la salida de los programas) estará de ese color (blanco brillante). Quizás quieras cambiar ese color o borrar la secuencia para un color por defecto.

Como root, edita /root/.bashrc:

# nano /root/.bashrc

Comenta el PS1 estándar:

#PS1='[\u@\h \W]\$ '

El siguiente PS1 es útil para una terminal de root, con una designación roja y texto verde:

PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '

Para más, mira la entrada Color Bash Prompt.

Coloriza la salida de 'ls'

Tu archivo ~/.bashrc debe tener la siguiente entrada copiada desde /etc/skel/.bashrc

alias ls='ls --color=auto'

Solo agrega a tu ~/.bashrc

eval `dircolors -b`

Esto mejorara la salida coloreada de ls; por ejemplo, ligas simbolicas (huerfanas) rotas se mostraran en rojo, etc.
Nota el caracter acento grave utilizado - no es una simple comilla/apostrofe.

Coloriza la salida de 'grep'

En el archivo ~/.bashrc agregar la línea siguiente:

export GREP_COLOR="1;33"
alias grep='grep --color=auto'

a ~/.bashrc

La variable GREP_COLOR es utilizada para indicar el color de salida del comando, en este caso amarillo claro. Aunque la página man de grep dice que GREP_COLOR está obsoleto y que se debe utilizar GREP_COLORS, esta variable no funciona (probado en grep versión 2.5.4). Continué usando GREP_COLOR como hasta ahora.

Coloreando y las Shell Emacs: evitar extraños símbolos

Por defecto las Shell Emacs muestran secuencias de escape que se utiliza para imprimir los colores, es decir, usted verá un montón de símbolos molestos y extraños. Debe añadir a su archivo de configuración .emacs:

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

Comando less con esteroides

Si usas la línea de comandos frecuentemente, puede que quieras instalar lesspipe (que encontraras en AUR). Te permitirá escribir:

less lesspipe.tar.gz
==> use tar_file:contained_file to view a file in the archive
-rw------- solstice/users  695 2008-01-04 19:24 lesspipe/PKGBUILD
-rw------- solstice/users   43 2007-11-07 11:17 lesspipe/lesspipe.sh
lesspipe.tar.gz (END)

Usa less para ver el contenido de varios archivos, en vez de usar un comando específico cada vez. Utilice man lesspipe para ver cómo activarlo.

Cambiar Fuente de Consola

Terminus es una fuente favorita muy popular entre los Archeros. Instalarla con:

pacman -S terminus-font

Editar /etc/rc.conf:

CONSOLEFONT="ter-v16b"

O busca otras fuentes (con otros tamaños y estilos) en /usr/share/kbd/consolefonts. Cambiar la fuente "al vuelo" con setfont:

setfont ter-v16b

Si la fuente de consola es cambiada durante el arranque y obtienes extraños caracteres de salida, agrega el hook "keymap" a el mkinitcpio.conf y crea la imagen initramfs de nuevo: available Hooks in mkinitcpio.

Consiguiendo una página "man" coloreada

Si eres nuevo en Linux, deberás leer muchas páginas "man" si quieres aprender. De todas formas, el color hará una presentación más clara de los contenidos y con suerte será más fácil de digerir. Para conseguir que las páginas map se muestren en color instala un programa de lectura como most(8).

pacman -S most

Este es similar a less y more pero también te permitirá ver el texto en color.

Para configurarlo y ejecutarlo edita el fichero /etc/man.conf y cambia las variables PAGER y BROWSER a:

PAGER           /usr/bin/most -s
BROWSER         /usr/bin/most -s

Ahora puedes escribir:

man cualquier_página_man

para ver en colores.

Si quieres modificar los colores, experimenta con el fichero ~/.mostrc (crealo si no existe) o con /etc/most.conf.

ejemplo de ~/.mostrc:

% Color settings

color normal lightgray black
color status yellow blue
color underline yellow black
color overstrike brightblue black

otro ejemplo de atajos de teclado tipo less (saltar a la línea con 'J'):

% less-like keybindings

unsetkey "^K"
unsetkey "g"
unsetkey "G"
unsetkey ":"

setkey next_file ":n"
setkey find_file ":e"
setkey next_file ":p"
setkey toggle_options ":o"
setkey toggle_case ":c"
setkey delete_file ":d"
setkey exit ":q"

setkey bob "g"
setkey eob "G"
setkey down "e"
setkey down "E"
setkey down "j"
setkey down "^N"
setkey up "y"
setkey up "^Y"
setkey up "k"
setkey up "^P"
setkey up "^K"
setkey page_down "f"
setkey page_down "^F"
setkey page_up "b"
setkey page_up "^B"
setkey other_window "z"
setkey other_window "w"
setkey search_backward "?"
setkey bob "p"
setkey goto_mark "'"
setkey find_file "E"
setkey edit "v"

También puedes obtener el mismo coloreado de las páginas man con less. Este método tiene la ventaja de que less tiene más características que more, debido a que está pensado para usuarios más avanzados. Solo añade la siguiente línea en tu .SHELLrc (este es ~/.bashrc si usas bash)

export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'                           
export LESS_TERMCAP_so=$'\E[01;44;33m'                                 
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'

Fuente: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html

Accediendo a AUR sin fisuras con "Yaourt"

Todos saben como se usa AUR, ABS, y makepkg si es que quieren construir paquetes. El seguimiento y actualización de tus paquetes personalizados puede ser tedioso, sobre todo cuando tienes muchos; para eso hay algunas aplicaciones que te facilitan el trabajo.

El programa de terceros más popular que puede buscar en AUR se llama yaourt. Este programa busca tanto en AUR como en los repositorios, consigue los datos de las páginas de los paquetes en AUR (ya que pueden tener información útil), los muestra en un buen color, y te permite descargar, construir e instalar estos programas automáticamente.

Ve también una lista con otros programas que puedan ayudarte a acceder a AUR

Habilitando busqueda en Historial

Usualmente, cuando se escribe ls y presionamos la tecla <up>, la entrada actual será reemplazada con el último comando utilizado. Si se utiliza la busqueda en historial, solo los comandos pasados que comienzan con ls (la entrada actual) serán mostrados.

Para habilitar este modo sólo hay que agregar en /etc/inputrc o en el directorio de usuario ~/.inputrc lo siguiente:

"\e[A":history-search-backward
"\e[B":history-search-forward

Habilitando autocompletado

Esta es una función muy deseable de la que tu te beneficiarás sin ninguna duda.

pacman -S bash-completion

y luego añade a ~/.bashrc

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

Nota: A lo mejor no necesites estas entradas en ~/.bashrc ya que /etc/profile carga cualquier perfil de /etc/profile.d
Ahí, bash_completion.sh será fuente de /etc/bash_completion de todas maneras.


Habilitando el soporte del mouse en la consola (gpm)

  • Puedes habilitar el soporte para el mouse en la consola instalando gpm:
pacman -S gpm
  • Si ves que el cursor del mouse parpadeando y no funciona correctamente, necesitarás cambiar /etc/conf.d/gpm.

Para los mouse PS/2 reemplaza la línea existente con: (Esto sirvió para mi Synaptics touchpad)

GPM_ARGS="-m /dev/psaux -t ps2"

Para los mouse USB reemplaza la línea existente con:

GPM_ARGS="-m /dev/input/mice -t imps2"

Para los IBM Trackpoint, reemplazar la linea existente con:

GPM_ARGS="-m /dev/input/mice -t ps2"
  • Cuando funcione puedes añadir gpm a DAEMONS en /etc/rc.conf para que inicie en el arranque.
  • El soporte para mouse en una consola sirve para varias cosas, incluyendo programas como Links y Lynx.

Iniciar X en el boot

Fuentes hermosas para LCD's

Mira Fonts

Activando Numlock en el arranque

ABS para crear tus propios paquetes

  • Si usa ABS para crear tus propios paquetes, recuerda de hacerlo fuera del directorio /var/abs. Copia el PKGBUILD y todos los ficheros necesarios a tu carpeta personal y compílalos desde allí. De esa manera no te arriesgas a que tus modificaciones sean reescritas la próxima vez que ejecutes abs, y además hace más fácil su seguimiento.

Optimizando tus paquetes

  • Para optimizar los paquetes que construyes usando makepkg (el kernel es un buen ejemplo), define tu configuración preferida de GCC en el fichero /etc/makepkg.conf:
 (ejémplo para un CPU Athlon)
 export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
 export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"

Mire Safe CFlags para más información.

Gane tiempo con los Alias para Comandos

  • Puedes crear tus apodos para los comandos usando <homedir>/.bashrc o /etc/profile. Ambos pueden ser usados para definir tus alias:
 alias p="pacman"
 alias y="yaourt"
 alias ll="ls -lh"
 alias la="ls -a"
 alias exit="clear; exit"
 alias x="startx"
 alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep " #te permite buscar entre todos los paquetes disponibles usando simplemente 'pacsearch packagename'
 alias pacup="sudo pacman -Syu" # sudo pacman -Syu al escribir pacup (sudo debe estar instalado y configurado primero)
 alias pac="sudo pacman -S" # sudo pacman -S al escribir pac (sudo debe estar instalado y configurado primero)

Salida de pacman -Ss colorida:

# salida de pacman colorizada con pacs alias:
alias pacs="pacsearch"
pacsearch () {
       echo -e "$(pacman -Ss $@ | sed \
              -e 's#core/.*#\\033[1;31m&\\033[0;37m#g' \
                     -e 's#extra/.*#\\033[0;32m&\\033[0;37m#g' \
                            -e 's#community/.*#\\033[1;35m&\\033[0;37m#g' \
                                   -e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' )"
                                   }

También puedes descargar colores para pacman en AUR.

Deshabilitando IPv6

Hasta la adopción masiva de IPv6, puedes obtener beneficios deshabilitando el módulo IPv6.

Programas y comandos útiles

  • grep - busca archivos por su contenido (ejemplo: grep -i syslog /etc/* buscará todos los ficheros en /etc que contengan la palabra "syslog"; NO distingue mayúsculas/minúsculas (usando el parámetro -i))
  • pkill/killall <nombre_proceso> - mata procesos por su nombre (ejemplo: killall kdm)
  • pidof <nombre_proceso> - busca los numeros de proceso por su nombre (ejemplo: pidof init)
  • ps - muestra el estado del proceso (ejemplo: ps -xau mostrará todos los procesos activos)
  • locate - encuentra rápidamente ficheros en tu disco duro (usa updatedb o locate -u primero para crear/actualizar la database de los ficheros) (ejemplo: locate Xservers encontrará todos los archivos de nombre Xservers)

pacman

Pacman es una herramienta automática para manejar paquetes - tanto localmente como vía web. Resolverá dependencias automáticamente, lo que es el mayor dolor de cabeza en la distribución-de-paquetes-de-Linux-en-el-mundo (-como-lo-conocemos-:) ). Para mejorar el rendimiento, pacman puede ser optimizado cada tanto:

pacman-optimize

makepkg

Una herramienta automática para crear paquetes. Automatiza el procedimiento ./configure && make && make install, (o cualquier combinación de comandos involucrada en la construcción de la aplicación) y lo empaqueta y lo pone dentro de un .pkg.tar.gz para ser fácilmente instalado por pacman. Usa un fichero script (guión) de nombre PKGBUILD que debe existir en el mismo directorio donde compilarás el paquete. Mira un archivo PKGBUILD y lee el documento de instalación para aprender a trabajar con makepkg.

ABS

Una herramienta automática que te permite recompilar cualquier paquete de pacman (deberás dar tus propias configuraciones para el compilador y el linker, para más optimización, información de debug, etc). Simplemente ejecutando abs sincronizará todos los script PKGBUILD del repositorio CVS a /var/abs.

Descomprimiendo archivos comprimidos

 file.tar : tar xvf file.tar
 file.tgz : tar xvzf file.tgz
 file.tar.gz : tar xvzf file.tar.gz
 file.bz : bzip -cd file.bz | tar xvf -
 file.bz2 : tar xvjf file.tar.bz2 OR bzip2 -cd file.bz2 | tar xvf -
 file.zip : unzip file.zip
 file.rar : unrar x file.rar

La escritura de esos argumentos de tar es bastante arcaico (pero, sin embargo, útil). Hecha una mirada a la página man de bsdtar, en la sección COMPATIBILITY para ver como trabajan en detalle. (bsdtar viene en el paquete libarchive)

La siguiente función descomprime un amplio rango de formatos de compresión de ficheros. Agrégala a '~\.bashrc' y ejecútala como 'extract MyFicheroComprimido'

extract () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.bz2)       bunzip2 $1     ;;
          *.rar)       rar x $1       ;;
          *.gz)        gunzip $1      ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;
          *.zip)       unzip $1       ;;
          *.Z)         uncompress $1  ;;
          *.7z)        7z x $1        ;;
          *)           echo "don't know how to extract '$1'..." ;;
      esac
  else
      echo "'$1' is not a valid file!"
  fi
}

Acelerando las consultas DNS