Starting wmfs with startx es - xorg62/wmfs GitHub Wiki
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 ](/xorg62/wmfs/wiki/--z-$DISPLAY-) && [ $(tty) = /dev/tty1 ](/xorg62/wmfs/wiki/-$(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