Mostrando entradas con la etiqueta Bash. Mostrar todas las entradas
Mostrando entradas con la etiqueta Bash. Mostrar todas las entradas

martes, 30 de julio de 2013

Mostrar todas las Aplicaciones al inicio en Ubuntu.

Hay ocasiones en las que requerimos deshabilitar algunas aplicaciones que hemos instalado o algunas que sabemos que el mismo sistema operativo inicia por defecto. El problema es en el último caso ya que en la ventana de aplicaciones al inicio solo muestra las que hemos instalado como se muestra en la siguiente imagen:


Por lo que si queremos que se muestren las demás aplicaciones debemos de realizar lo siguiente:
  1. Abrir un terminal. (Ctrl+Alt+T)
  2. cd /etc/xdg/autostart
  3. sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
Abriendo nuevamente la ventana de aplicaciones al inicio se nos mostrará lo siguiente:


!Listo¡

Lo siguiente es por si quieres sabes que es lo que se realizo con el comando sed si no puedes marcharte...

Explicando un poco el comando sed es un editor de flujo muy utilizado cuando requerimos de transformar un texto proveniente de una tubería (Ej. echo Hola | sed s/H/h/)

En este caso estamos editando directamente los archivos que terminen con .desktop del directorio  /etc/xdg/autostart/ con la bandera -i, lo que se encuentra entre comillas simple sirve para sustituir NoDisplay=true por NoDisplay=false este se realiza con la opción s. Es importante recordar que con esta opción únicamente reemplazara la primera coincidencia del texto NoDisplay=true por lo que si este archivo contiene más lineas de esta forma por alguna extraña razón no realizará el reemplazo. Si no queremos que tenga este comportamiento debemos de colocar al final la opción g que aplicará la sustitución me manera global.

Ahora si, eso es todo...

lunes, 29 de julio de 2013

Autocompletar comandos: Bash-Completion

Sabemos que cuando utilizamos la terminal podemos auto-completar el nombre de un archivo o comando utilizando la tecla [TAB].

Ejemplo:

usuario@host:~$ sudo apt-get [TAB]
autoclean        check            dselect-upgrade  source
autoremove       clean            install          update
build-dep        dist-upgrade     purge            upgrade
changelog        download         remove

Tal como en el ejemplo esto lo realizo con un usuario que se encuentra dentro del archivo /etc/sudoers capas de utilizar comando como si se tratase del root. Hablaremos de este archivo en estradas posteriores.

La situación cambia cuando nosotros nos cambiamos al usuario root ya sea con:

usuario@host:~$ sudo su # Utilizando contraseña del usuario que ejecuta el comando. En este caso usuario.
su # utilizando contraseña del usuario root.

Si tratamos de realizar lo anterior nos damos cuenta de que nos muestra algo similar a lo siguiente:

root@host:~# apt-get [TAB]
Display all N possibilities? (y or n)
#
# Lista de archivos del directorio actual.
#
--More--

Cuando en realidad queremos que nos auto-complete o muestra las opciones que tenemos disponibles.

Este comportamiento no esta disponible por defecto por lo que si queremos activarlo tenemos la necesidad de editar el archivo /root/.bashrc


root@host:~# nano .bashrc
Buscar lo siguiente:

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi
y descomentamos las últimas tres lineas que muestro, es decir, debe quedar así:
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Podemos reiniciar nuestra terminal o simplemente cargar nuestra configuración haciendo uso de source:

root@host:~# source .bashrc
¡Listo! ya nos podrá auto-completar los comando también con el usuario root.

Si queremos que este cambio se realice con todos los usuario deberemos debemos de editar el /etc/bash.bashrc y descomentar las mismas lineas o algunas similares.

NOTA:

Como se indica en los comentarios del archivo ~/.bashrc si ya se encuentra habilitado en /etc/bash.bashrc no es necesario realizarlo en este archivo.

Eso es todo por el momento si quieren más información revisar los siguiente sitios:
http://bash-completion.alioth.debian.org/
http://tldp.org/LDP/abs/html/tabexpansion.html
http://www.debian-administration.org/articles/316