Difference between revisions of "Xinitrc (Español)"

From ArchWiki
Jump to: navigation, search
(simplification and beautification of wikilinks, fixing whitespace, capitalization and section fragments (https://github.com/lahwaacz/wiki-scripts/blob/master/link-checker.py (interactive)))
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Lowercase title}}
 
{{Lowercase title}}
 
[[Category:Desktop environments (Español)]]
 
[[Category:Desktop environments (Español)]]
[[Category:X Server (Español)]]
+
[[Category:X server (Español)]]
 +
[[de:Xinitrc]]
 
[[el:Xinitrc]]
 
[[el:Xinitrc]]
 
[[en:Xinitrc]]
 
[[en:Xinitrc]]
 
[[fr:Startx]]
 
[[fr:Startx]]
 
[[it:Xinitrc]]
 
[[it:Xinitrc]]
[[zh-CN:Xinitrc]]
+
[[ja:Xinitrc]]
{{Article summary start|Sumario}}
+
[[ru:Xinitrc]]
{{Article summary text|Una breve descripción sobre el archivo de configuracion principal para el programa xinit (startx).}}
+
[[zh-cn:Xinitrc]]
{{Article summary heading|Relacionado}}
+
{{Related articles start (Español)}}
{{Article summary wiki|Display Manager (Español)}}
+
{{Related|Display Manager (Español)}}
{{Article summary wiki|Start X at Login (Español)}}
+
{{Related|Start X at Login (Español)}}
{{Article summary wiki|Xorg (Español)}}
+
{{Related|Xorg (Español)}}
{{Article summary wiki|xprofile (Español)}}
+
{{Related|xprofile (Español)}}
{{Article summary end}}
+
{{Related articles end}}
  
El archivo {{ic|~/.xinitrc}} es un script de shell leído por {{ic|xinit}} y {{ic|startx}}. Se utiliza principalmente para ejecutar [[desktop environment|entornos de escritorios]], [[window manager|gestores de ventanas]], y otros programas al iniciar el servidor X (por ejemplo, como los daemons y las configuraciones de las variables de entorno). Los programas {{ic|xinit}} y {{ic|startx}} se utilizan para iniciar [[Xorg|X Window System]] y funcionan como un programa cliente, en primer lugar, en los sistemas en los que no se puede iniciar X directamente desde {{ic|/etc/init}}, o en entornos que usan múltiples gestores de ventanas.
+
El archivo {{ic|~/.xinitrc}} es un script de shell leído por {{ic|xinit}} y estos por el frontend {{ic|startx}}. Se utiliza principalmente para ejecutar [[desktop environment|entornos de escritorios]], [[window manager|gestores de ventanas]], y otros programas al iniciar el servidor X (por ejemplo, como los daemons y las configuraciones de las variables de entorno). El programa {{ic|xinit}} se utilizan para iniciar servidor [[Xorg|X Window System]] y funcionan como el primer programa cliente en sistemas que no utilizan un [[Display manager (Español)|gestor de inicio de sesión]].
  
Una de las principales funciones de {{ic|~/.xinitrc}} es dictar al sistema X Window lo que se invoca desde el programa {{ic|/usr/bin/startx}} y/o {{ic|/usr/bin/xinit}}  en función de lo especificado por cada usuario. Existe numerosas especificaciones adicionales y órdenes que se pueden añadir a {{ic|~/.xinitrc}} con el fin de personalizar aún más su sistema.
+
Una de las principales funciones de {{ic|~/.xinitrc}} es dictar al sistema X Window lo que se invoca desde el programa {{ic|startx}} o {{ic|xinit}}  en función de lo especificado por cada usuario. Existe numerosas especificaciones adicionales y órdenes que se pueden añadir a {{ic|~/.xinitrc}} con el fin de personalizar aún más su sistema.
  
== Introducción ==
+
La mayoría de los gestores de pantalla también suministran un archivo [[xprofile (Español)|xprofile]] similar antes de xinit.
  
{{ic|/etc/skel/}} contiene los archivos y directorios necesarios para proporcionar los valores predeterminados para las cuentas recién creadas. (El nombre ''skel''  se deriva de la palabra ''skeleton'' (esqueleto), ya que los archivos que contiene forman la estructura básica del directorio home del usuario.) El paquete {{Pkg|xorg-xinit}}  porporcionará {{ic|/etc/skel}} un archivo marco para {{ic|.xinitrc}}.
+
== Cómo empezar ==
  
{{Nota|{{ic|~/.xinitrc}} es del llamado archivo 'dot' (.). Los archivos en un sistema de archivos *nix  que están precedidos por un punto son 'ocultos' y no se mostrarán, por lo general, con la orden {{ic|ls}}, en aras de mantener la integridad de los directorios. Los archivos ocultos se pueden ver mediante la ejecución de {{ic|ls -a}}. La terminación 'rc' denota que estamos ante una orden «run» y simplemente indica que se trata de un archivo de configuración. Puesto que controla la forma en que un programa se inicia, se dice (aunque históricamente incorrecta) también  que están para "Controlar su Ejecución".}}
+
{{Sugerencia|{{ic|~/.xinitrc}} es del llamado archivo 'dot' (.). Los archivos en un sistema de archivos *nix  que están precedidos por un punto son 'ocultos' y no se mostrarán, por lo general, con la orden {{ic|ls}}, en aras de mantener la integridad de los directorios. Los archivos ocultos se pueden ver mediante la ejecución de {{ic|ls -a}}. La terminación 'rc' denota que estamos ante una orden «run» y simplemente indica que se trata de un archivo de configuración. Puesto que controla la forma en que un programa se inicia, se dice (aunque históricamente incorrecta) también  que están para "Controlar su Ejecución".}}
  
Copie el archivo-modelo {{ic|/etc/skel/.xinitrc}}  en su directorio personal (/home):
+
Copie el archivo-modelo {{ic|/etc/X11/xinit/xinitrc}}  en su directorio personal (/home):
  
  $ cp /etc/skel/.xinitrc ~
+
  $ cp /etc/X11/xinit/xinitrc ~/.xinitrc
  
 
Ahora, edite {{ic|~/.xinitrc}} y descomente la línea que corresponde a su DE/WM (entorno de escritorio/gestor de ventanas). Por ejemplo, si desea probar la configuración de X básico (ratón, teclado, resolución de los gráficos), puede simplemente usar [[xterm]]:
 
Ahora, edite {{ic|~/.xinitrc}} y descomente la línea que corresponde a su DE/WM (entorno de escritorio/gestor de ventanas). Por ejemplo, si desea probar la configuración de X básico (ratón, teclado, resolución de los gráficos), puede simplemente usar [[xterm]]:
Line 58: Line 59:
 
}}
 
}}
  
{{Nota|Es importante que sólo un {{ic|exec}} esté descomentado, pues, de lo contrario, sólo se ejecutará la primera línea no comentada}}
+
{{Nota|Es importante que solo un {{ic|exec}} esté descomentado, pues, de lo contrario, se ejecutará la primera línea no comentada. NO intente poner fondo a su WM añadiendo `&` a la línea.}}
  
 
Después de editar correctamente {{ic|~/.xinitrc}}, es el momento de ejecutar X. Para ejecutar X como usuario no root, ejecute:
 
Después de editar correctamente {{ic|~/.xinitrc}}, es el momento de ejecutar X. Para ejecutar X como usuario no root, ejecute:
 
 
  $ startx
 
  $ startx
$ xinit
 
$ xinit -- :1
 
  
{{Nota|{{ic|xinit}} no manejar múltiples sesiones si ya ha iniciado sesión en algún otro vt. para lo cual se tiene que especificar sesión añadiendo {{ic|-- :<session_no>}}. Si ya está ejecutando X, entonces debe comenzar con 1 o más.}}
+
o
  
El DE/WM de su elección debería haber comenzado. Puede probar el teclado y su distribución. Trate de mover el ratón para probarlo.
+
$ xinit -- :1 -nolisten tcp vt$XDG_VTNR
  
===Realizar la elección de un DE/WM===
+
{{Nota|
Si no se usa un gestor de inicio gráfico o no se quiere usar uno, es posible que tenga que editar el archivo {{ic|~/.xinitrc}} frecuentemente.
+
* {{ic|xinit}} no lee el archivo {{ic|/etc/X11/xinit/xserverrc}} que afecta a todo el sistema, de modo que o bien tiene que copiarlo en el directorio home con el nombre {{ic|.xserverrc}}, o especificar {{ic|vt$XDG_VTNR}} como opción de la línea de órdenes a fin de [[General troubleshooting#Session permissions|mantener los permisos de la sesión]].
Esto se puede resolver fácilmente con la simple adición de una línea para cada caso, que permitirá cargar el DE/WM deseado en base a los argumentos que le vengan proporcionados.
+
* {{ic|xinit}} no maneja múltiples sesiones si ya ha iniciado sesión en algún otro terminal virtual, para lo cual se tiene que especificar la sesión añadiendo {{ic|-- :<session_no>}}. Si ya está ejecutando X, entonces debe comenzar con:1 o más.}}
  
{{bc|
+
El DE/WM de su elección debería haber comenzado. Puede probar el teclado y su distribución. Trate de mover el ratón para probarlo.
#!/bin/sh
+
#
+
# ~/.xinitrc
+
#
+
# Executed by startx (run your window manager from here)
+
  
if [ -d /etc/X11/xinit/xinitrc.d ]; then
+
==Configuración==
  for f in /etc/X11/xinit/xinitrc.d/*; do
+
    [ -x "$f" ] && . "$f"
+
  done
+
  unset f
+
fi
+
  
# Here xfce is kept as default
+
Cuando un gestor de ventanas no se utiliza, es importante tener en cuenta que la vida de la sesión X comienza y termina con el script de {{ic|~/.xinitrc}}. Esto significa que una vez que el script se cierra, X se cierra, con independencia de que todavía se estén ejecutando programas (incluyendo su gestor de ventanas). Por lo tanto, es importante que el gestor de ventanas y X cierren al mismo tiempo. Esto se logra fácilmente mediante la ejecución del gestor de ventanas como el último programa en el guión del script.
case $1 in
+
    gnome) exec gnome-session;;
+
    kde) exec startkde;;
+
    xfce);;
+
    *) exec startxfce4;;
+
esac
+
}}
+
 
+
Después de modificar el archivo {{ic|~/.xinitrc}}, puede ser iniciado el DE/WM deseado invocando el argumento apropiado.
+
$ xinit
+
$ xinit gnome
+
$ xinit kde
+
$ xinit xfce -- :1
+
 
+
===Conservar la sesión===
+
 
+
Véase [[General Troubleshooting#Session permissions]] para obtener más detalles.
+
 
+
==Ejemplos de archivos==
+
  
 
Lo que sigue es un simple ejemplo de archivo {{ic|~/.xinitrc}}, incluyendo algunos programas que se inician de forma automática:
 
Lo que sigue es un simple ejemplo de archivo {{ic|~/.xinitrc}}, incluyendo algunos programas que se inician de forma automática:
Line 131: Line 100:
 
</nowiki>}}
 
</nowiki>}}
  
Es recomendable anteponer {{ic|exec}} ya que sustituye el actual proceso con otro, por lo que el script terminará su ejecución y X seguirá activa, incluso si el proceso se bifurca en segundo plano.
+
Tenga en cuenta que en el primer ejemplo de arriba, los programas como {{ic|cairo-compmgr}}, {{ic|xscreensaver}}, {{ic|xsetroot}} y {{ic|sh}} se ejecutan en segundo plano (al añadirle el sufijo {{ic|&}}). De lo contrario, el script detiene y hace esperar cada programa y daemons hasta que se ejecute {{ic|openbox-session}}. También tenga en cuenta que {{ic|openbox-session}} no está en segundo plano. Ésto asegura que el script no se cerrará hasta que openbox lo haga.  
  
==Archivo de configuración==
+
Preceder el gestor de ventanas {{ic|openbox-session}} con {{ic|exec}} es recomendable ya que sustituye el proceso en curso por ese otro, de modo que el script se detendrá pero X no se cerrará, incluso si hay subprocesos funcionando en segundo plano.
  
Cuando un gestor de ventanas no se utiliza, es importante tener en cuenta que la vida de la sesión X comienza y termina con el script de {{ic|~/.xinitrc}}. Esto significa que una vez que el script se cierra, X se cierra, con independencia de que todavía se estén ejecutando programas (incluyendo su gestor de ventanas). Por lo tanto, es importante que el gestor de ventanas y X cierren al mismo tiempo. Esto se logra fácilmente mediante la ejecución del gestor de ventanas como el último programa en el guión del script.
+
==Consejos y trucos==
  
Tenga en cuenta que en el primer ejemplo de arriba, los programas como {{ic|cairo-compmgr}}, {{ic|xscreensaver}}, {{ic|xsetroot}} y {{ic|sh}} se ejecutan en segundo plano (al añadirle el sufijo {{ic|&}}). De lo contrario, el script detiene y hace esperar cada programa y daemons hasta que se ejecute {{ic|openbox-session}}. También tenga en cuenta que {{ic|openbox-session}} no está en segundo plano. Ésto asegura que el script no se cerrará hasta que openbox lo haga.
+
=== Sobrescribir xinitrc desde la línea de órdenes ===
  
En las secciones siguientes se explica cómo configurar {{ic|~/.xinitrc}} para múltiples Gestores de Ventanas y Entornos de Escritorios (WM y ED).
 
 
===En la línea de órdenes ===
 
  
 
Si tiene diseñado {{ic|~/.xinitrc}}, pero quiere probar otros  WM/DE, es posible mediante el uso de {{ic|xinit}}, seguido de la ruta de acceso al gestor de ventanas:
 
Si tiene diseñado {{ic|~/.xinitrc}}, pero quiere probar otros  WM/DE, es posible mediante el uso de {{ic|xinit}}, seguido de la ruta de acceso al gestor de ventanas:
  
  xinit /full/path/to/window-manager
+
  $ startx /full/path/to/window-manager
  
Tenga en cuenta que la ruta completa es '''necesaria'''. Si lo desea, puede ajustar opciones del servidor de X después de añadir {{ic|--}} - por ejemplo:
+
Tenga en cuenta que la ruta completa es '''necesaria'''. Opcionalmente, ambién puede sobrescribir el archivo {{ic|/etc/X11/xinit/xserverrc}} (que almacena las opciones del servidor X por defecto) con opciones personalizadas añadiéndolas después de {{ic|--}}, por ejemplo:
  
xinit /usr/bin/enlightenment -- -br +bs -dpi 96
 
  
El siguiente ejemplo del archivo {{ic|~/.xinitrc}} muestra cómo iniciar un gestor de ventanas en particular con un argumento:
+
$ startx /usr/bin/enlightenment -- -nolisten tcp -br +bs -dpi 96 vt$XDG_VTNR
  
{{hc
+
o
|~/.xinitrc
+
 
|<nowiki>
+
$ xinit /usr/bin/enlightenment -- -nolisten tcp -br +bs -dpi 96 vt$XDG_VTNR
 +
 
 +
===Realizar la elección de un DE/WM===
 +
 
 +
Si no se usa un gestor de inicio gráfico o no se quiere usar uno, es posible que tenga que editar el archivo {{ic|~/.xinitrc}} frecuentemente.
 +
Esto se puede resolver fácilmente con la simple adición de una línea para cada caso, que permitirá cargar el DE/WM deseado en base a los argumentos que le vengan proporcionados.
 +
 
 +
El ejemplo siguiente de {{ic|~/.xinitrc}} muestra cómo iniciar un ED/WM concreto con un argumento:
 +
 
 +
{{hc|~/.xinitrc|<nowiki>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
Line 163: Line 137:
  
 
if [ -d /etc/X11/xinit/xinitrc.d ]; then
 
if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
+
        for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
+
                [ -x "$f" ] && . "$f"
  done
+
        done
  unset f
+
        unset f
 
fi
 
fi
  
if [[ $1 == "fluxbox" ]]
+
# Here Xfce is kept as default
then
+
session=${1:-xfce}
  exec startfluxbox
+
 
elif [[ $1 == "spectrwm" ]]
+
case $session in
then
+
        enlightenment) exec enlightenment_start;;
  exec spectrwm
+
        fluxbox) exec startfluxbox;;
else
+
        gnome) exec gnome-session;;
  echo "Choose a window manager"
+
        lxde) exec startlxde;;
fi
+
        kde) exec startkde;;
 +
        openbox) exec openbox-session;;
 +
        xfce) exec startxfce4;;
 +
        # No known session, try to run it as command
 +
        *) exec $1;;               
 +
esac
 
</nowiki>}}
 
</nowiki>}}
  
Con el uso de este ejemplo, usted puede iniciar fluxbox o spectrwm con la orden {{ic|xinit fluxbox}} o {{ic|xinit spectrwm}}.
+
Luego, copie el archivo {{ic|/etc/X11/xinit/xserverrc}} en el directorio home:
  
===En el arranque===
+
$ cp /etc/X11/xinit/xserverrc ~/.xserverrc
  
Consulte [[Start X at Login (Español)]].
+
Después de eso, se puede iniciar fácilmente un DE/WM concreto pasando un argumento, por ejemplo:
 +
 
 +
$ xinit
 +
$ xinit gnome
 +
$ xinit kde
 +
$ xinit wmaker
 +
 
 +
o
 +
 
 +
$ startx
 +
$ startx ~/.xinitrc gnome
 +
$ startx ~/.xinitrc kde
 +
$ startx ~/.xinitrc wmaker

Latest revision as of 12:16, 30 April 2016

El archivo ~/.xinitrc es un script de shell leído por xinit y estos por el frontend startx. Se utiliza principalmente para ejecutar entornos de escritorios, gestores de ventanas, y otros programas al iniciar el servidor X (por ejemplo, como los daemons y las configuraciones de las variables de entorno). El programa xinit se utilizan para iniciar servidor X Window System y funcionan como el primer programa cliente en sistemas que no utilizan un gestor de inicio de sesión.

Una de las principales funciones de ~/.xinitrc es dictar al sistema X Window lo que se invoca desde el programa startx o xinit en función de lo especificado por cada usuario. Existe numerosas especificaciones adicionales y órdenes que se pueden añadir a ~/.xinitrc con el fin de personalizar aún más su sistema.

La mayoría de los gestores de pantalla también suministran un archivo xprofile similar antes de xinit.

Cómo empezar

Sugerencia: ~/.xinitrc es del llamado archivo 'dot' (.). Los archivos en un sistema de archivos *nix que están precedidos por un punto son 'ocultos' y no se mostrarán, por lo general, con la orden ls, en aras de mantener la integridad de los directorios. Los archivos ocultos se pueden ver mediante la ejecución de ls -a. La terminación 'rc' denota que estamos ante una orden «run» y simplemente indica que se trata de un archivo de configuración. Puesto que controla la forma en que un programa se inicia, se dice (aunque históricamente incorrecta) también que están para "Controlar su Ejecución".

Copie el archivo-modelo /etc/X11/xinit/xinitrc en su directorio personal (/home):

$ cp /etc/X11/xinit/xinitrc ~/.xinitrc

Ahora, edite ~/.xinitrc y descomente la línea que corresponde a su DE/WM (entorno de escritorio/gestor de ventanas). Por ejemplo, si desea probar la configuración de X básico (ratón, teclado, resolución de los gráficos), puede simplemente usar xterm:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

# exec gnome-session
# exec startkde
# exec startxfce4
# exec wmaker
# exec icewm
# exec blackbox
# exec fluxbox
# exec openbox-session
# ...or the Window Manager of your choice
exec xterm
Nota: Es importante que solo un exec esté descomentado, pues, de lo contrario, se ejecutará la primera línea no comentada. NO intente poner fondo a su WM añadiendo `&` a la línea.

Después de editar correctamente ~/.xinitrc, es el momento de ejecutar X. Para ejecutar X como usuario no root, ejecute:

$ startx

o

$ xinit -- :1 -nolisten tcp vt$XDG_VTNR
Nota:
  • xinit no lee el archivo /etc/X11/xinit/xserverrc que afecta a todo el sistema, de modo que o bien tiene que copiarlo en el directorio home con el nombre .xserverrc, o especificar vt$XDG_VTNR como opción de la línea de órdenes a fin de mantener los permisos de la sesión.
  • xinit no maneja múltiples sesiones si ya ha iniciado sesión en algún otro terminal virtual, para lo cual se tiene que especificar la sesión añadiendo -- :<session_no>. Si ya está ejecutando X, entonces debe comenzar con:1 o más.

El DE/WM de su elección debería haber comenzado. Puede probar el teclado y su distribución. Trate de mover el ratón para probarlo.

Configuración

Cuando un gestor de ventanas no se utiliza, es importante tener en cuenta que la vida de la sesión X comienza y termina con el script de ~/.xinitrc. Esto significa que una vez que el script se cierra, X se cierra, con independencia de que todavía se estén ejecutando programas (incluyendo su gestor de ventanas). Por lo tanto, es importante que el gestor de ventanas y X cierren al mismo tiempo. Esto se logra fácilmente mediante la ejecución del gestor de ventanas como el último programa en el guión del script.

Lo que sigue es un simple ejemplo de archivo ~/.xinitrc, incluyendo algunos programas que se inician de forma automática:

~/.xinitrc
#!/bin/sh

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

xrdb -merge ~/.Xresources         # update x resources db

xscreensaver -no-splash &         # starts screensaver daemon 
xsetroot -cursor_name left_ptr &  # sets the cursor icon
sh ~/.fehbg &                     # sets the background image

exec openbox-session              # starts the window manager

Tenga en cuenta que en el primer ejemplo de arriba, los programas como cairo-compmgr, xscreensaver, xsetroot y sh se ejecutan en segundo plano (al añadirle el sufijo &). De lo contrario, el script detiene y hace esperar cada programa y daemons hasta que se ejecute openbox-session. También tenga en cuenta que openbox-session no está en segundo plano. Ésto asegura que el script no se cerrará hasta que openbox lo haga.

Preceder el gestor de ventanas openbox-session con exec es recomendable ya que sustituye el proceso en curso por ese otro, de modo que el script se detendrá pero X no se cerrará, incluso si hay subprocesos funcionando en segundo plano.

Consejos y trucos

Sobrescribir xinitrc desde la línea de órdenes

Si tiene diseñado ~/.xinitrc, pero quiere probar otros WM/DE, es posible mediante el uso de xinit, seguido de la ruta de acceso al gestor de ventanas:

$ startx /full/path/to/window-manager

Tenga en cuenta que la ruta completa es necesaria. Opcionalmente, ambién puede sobrescribir el archivo /etc/X11/xinit/xserverrc (que almacena las opciones del servidor X por defecto) con opciones personalizadas añadiéndolas después de --, por ejemplo:


$ startx /usr/bin/enlightenment -- -nolisten tcp -br +bs -dpi 96 vt$XDG_VTNR

o

$ xinit /usr/bin/enlightenment -- -nolisten tcp -br +bs -dpi 96 vt$XDG_VTNR

Realizar la elección de un DE/WM

Si no se usa un gestor de inicio gráfico o no se quiere usar uno, es posible que tenga que editar el archivo ~/.xinitrc frecuentemente. Esto se puede resolver fácilmente con la simple adición de una línea para cada caso, que permitirá cargar el DE/WM deseado en base a los argumentos que le vengan proporcionados.

El ejemplo siguiente de ~/.xinitrc muestra cómo iniciar un ED/WM concreto con un argumento:

~/.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
        for f in /etc/X11/xinit/xinitrc.d/*; do
                [ -x "$f" ] && . "$f"
        done
        unset f
fi

# Here Xfce is kept as default
session=${1:-xfce}

case $session in
        enlightenment) exec enlightenment_start;;
        fluxbox) exec startfluxbox;;
        gnome) exec gnome-session;;
        lxde) exec startlxde;;
        kde) exec startkde;;
        openbox) exec openbox-session;;
        xfce) exec startxfce4;;
        # No known session, try to run it as command
        *) exec $1;;                
esac

Luego, copie el archivo /etc/X11/xinit/xserverrc en el directorio home:

$ cp /etc/X11/xinit/xserverrc ~/.xserverrc

Después de eso, se puede iniciar fácilmente un DE/WM concreto pasando un argumento, por ejemplo:

$ xinit
$ xinit gnome
$ xinit kde
$ xinit wmaker

o

$ startx
$ startx ~/.xinitrc gnome
$ startx ~/.xinitrc kde
$ startx ~/.xinitrc wmaker