Cargando



Cómo habilitar autocompletar en el terminal - Linux

Cuando utilizamos mucho tiempo la ventana de terminal o x-window,es muy util tener habilitado el autocompletado.


feb 06 2014 17:45
Avanzado
feb 06 2014 19:06

bash-300x237.png


Cuando utilizamos mucho tiempo la ventana de terminal o x-window,es muy util tener habilitado el autocompletado con el tabulador, ya que servira para ahorrar mucho trabajo tecleando y permitira evitar tener que memorizar el nombre exacto de cada comando, rutas y paquetes del sistema Linux que se utiliza o controla desde la terminal.

Todo esto es gracias al archivo /etc/bash_completion que es un script que se encarga de buscar todas las posibilidades cuando pulsamos el tabulador. Así escribiendo una o unas pocas letras de una palabra, pulsando una vez el tabulador, si solo hay una posibilidad nos completará automáticamente el comando o palabra que estuviéramos escribiendo, pero si hay dos o más posibilidades, una doble pulsación nos mostrará todas las posibles opciones que hay con esas letras que ya tenemos escritas.

Vamos a detallar como instalar y habilitar el autocompletado en la ventana de terminal para facilitar la escritura de comando y rutas.

En caso no tener instalado el paquete bash-completion, lo instalamos:

sudo apt-get install bash-completion

Abrimos /etc/profile con un editor de textos

nano /etc/profile
Buscamos en /etc/profile las siguientes líneas
# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#	. /etc/bash_completion
#fi


Descomentamos las lineas para que nos quede de la siguiente manera

if [ "$BASH" ]; then
	 if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
			. /etc/bash_completion
	 fi
fi


Esto último activará bash_completion para todos los usuarios, incluyendo root. Pero sólo lo activará en las TTY, y no en los emuladores de terminal. La tty es la consola que nos permite en GNU/Linux acceder a nuestro sistema operativo fuera de su entorno gráfico X-Window o simplemente la terminal de comandos.
Reiniciamos la TTY y listo.


Como verán, al archivo original le hemos agregado un if, que corrobora que el bash_completion se corra solamente cuando estamos en Bash. Sin ese condicional, GDM nos dará el error previamente mencionado, ya que GDM estaría llamando bash_completion, y por algún motivo entra en conflicto con xsession.

Un problema es que si el comando esta precedido por sudo o cualquier acceso a modo root no funcionara, para solucionarlo deberemos hacer lo siguiente

Abrimos /etc/profile con un editor de textos


nano /etc/profile

if [ "$PS1" ]; then
complete -cf sudo
fi


Ahora mientras escribimos un comando en la terminal podemos autocompletarlo si presionamos la tecla Tab

ACTIVAR AUTOCOMPLETADO PARA TODOS LOS USUARIOS EN EMULADORES DE TERMINAL

Abrimos /etc/bash.bashrc

nano /etc/bash.bashrc
Buscamos en /etc/bash.bashrc las siguientes líneas...

# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#	. /etc/bash_completion
#fi

Eliminamos los #"las descomentamos, quedando así:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
	. /etc/bash_completion
fi

Esto último activará bash_completion para todos los usuarios, incluyendo root. Pero sólo lo activará en los emuladores de terminal, y no en las TTY.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X