Skip to content

Starting wmfs with startx es

arpinux edited this page Apr 25, 2012 · 1 revision

Este tutorial le ayudara a iniciar WMFS con startx y a correr automáticamente algunas aplicaciones al inicio de WMFS.

Que queremos hacer?

  • Iniciar WMFS
  • Iniciar algunas herramientas (como un comando en segundo plano)

Dos maneras

La primera, la mas facil

En su $HOME/.xinitrc :

feh --bg-scale /ruta/del/fondo/de/pantall
# ó : nitrogen --restore
pcmanfm --desktop
# y algunos otros comandos

# ck-launch-session : Inicia ConsoleKit, que le permitira montar dispositivos extraíbles sin necesidad de ser root
# en su gestor de archivos (pcmanfm, nautilus, thunar,...) o apagar/reiniciar su computadora
# sin ser root.
# dbus-launch : Es usado por algunas aplicaciones de escritorio, puede ser util.
ej. exec ck-launch-session dbus-launch wmfs

# Si no los usa/necesita, solo use :
# exec wmfs

La segunda forma, mejor, no tan dificl

Aqui nosotros iniciaremos WMFS antes* que las aplicaciones ! Por que algunas aplicaciones necesitan que WMFS se inicie antes (por ejemplo : su programa/script para la barra de estado)

Aqui esta el contenido de su $HOME/.xinitrc ahora :

exec ck-launch-session dbus-launch wmfs &
wmpid=$! # aqui ponemos el PID de wmfs

feh --bg-scale /ruta/del/fondo/de/pantall
pcmanfm --desktop
$HOME/.local/bin/status.sh

wait $wmpid # aqui esperamos a que finalice WMFM, cuando el usuario hace : wmfs -c quit :(

Extra : Con mas confguraciones lo podemos hacer mejor

Aqui haremos lo siguiente :

  • Ponga el comando autostart en $HOME/.config/xorg/session.env
  • Ponga el WM para correr en $HOME/.config/xorg/session.wm
  • Registre(log) todo en $HOME/.config/xorg/session.log
  • Escriba un script startwm que lea y ejecute esa configuración.

Primero, nuestro $HOME/.xinitrc necesita verse asi :

exec ck-launch-session dbus-launch $HOME/.local/bin/startwm
# NOTA: Ponga su escript donde guste, solo establesca la ruta absoluta aqui

Nuestro $HOME/.config/xorg/session.wm necesita verse asi :

wmfs

NOTA: Para cambiar su gestor de ventanas, solo tiene que editar ese archivo :)

Nuestro $HOME/.config/xorg/session.env necesita verse asi :

pcmanfm --desktop
/home/linkdd/.local/bin/status.sh

NOTA: Este archivo no es un script ! cada linea describe UN comando

Ahora, tenemos que escribir nuestro script startwm :

LOG="$HOME/.config/xorg/session.log"

# identificamos que WM queremos iniciar :
WINDOWMANAGER="`cat $HOME/.config/xorg/session.wm`"

# corre el WM en segundo plano y obtiene su PID.
# Redirecciona la salida estandar al archivo log
# redirecciona la salida de errores a la salida estandar (tambien al archivo log)
$WINDOWMANAGER >> $LOG 2>&1 &
wmpid=$!

cat $HOME/.config/xorg/session.env | while read cmd
do
     # corre cada comando en segundo plano
     $cmd >> $LOG 2>&1 &
done

# espera el final de nuestro WM
wait $wmpid

EXTRA : startx automatico

Al inicio de nuestro shell, nuestro archivo de perfil se ejecuta, con bash es $HOME/.bash_profile, con zsh es ``$HOME/.zprofile`.

Añada esto en su archivo de perfil :

# Si la variable DISPLAY esta bacía (no estamos en X's)
# Añada el retorno de 'tty' es '/dev/tty1' (primer tty, CTRL+ALT+F1)
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]
then
     # Corre startx en segundo plano
     ssh-agent startx > $HOME/.config/xorg/session.log 2>&1 &
     # y bloquea la terminal
     vlock # vlock es lo mismo que slock (o otro), pero para terminal
     # Usted debéra instalarlo
     # En debian : apt-get install vlock
fi
Clone this wiki locally