Dunque, nella mia Slack, per facilitarmi la selezione dei window manager (che d'ora in avanti chiamerò "wm") con startx, ho creato un piccolo script di nome xstart.
Questo è basato sul creare diversi file ".xinitrc" nella home con però il nome del wm, ad esempio: per KDE ".xinitrckde", per Gnome ".xinitrcgnome", ecc.
Prima di tutto ho fatto una copia di backup di .xinitrc con un "cp .xinitr .xinitrc.save", non si sa mai , poi ho semplicemente creato questi ".xinitrc" personalizzati con "cp .xinitrc .xinitrckde" ad esempio.
Nella sezione "# Start the wm:" di ogniuno di questi file ho lasciato solo il wm che corrisponde al nome.
Lo script, in pratica, si occupa di leggere l'argomento datogli e, nel caso corrisponda a uno dei wm configurati all'interno, crea il link ".xinitrc" al rispettivo file, così se deve caricare KDE basta dare "xstart kde" e crea un link ".xinitrc -> .xinitrckde", se si digita "xstart gnome" crea un link ".xinitrc -> .xinitrcgnome".
Per visualizzare quali wm può caricare basta dargli l'opzione "-q" e "--help" spiega brevemente il funzionamento.
Se non si danno argomenti è come dare startx, carica l'ultimo wm usato.
Così non devo rieditare .xinitrc tutte le volte che voglio cambiare wm e non devo dipendere da applicazioni grafiche come Kdm o similari.
Magari esiste una via ancora più semplice, magari c'è già qualcosa di simile in Linux, nel caso fatemelo sapere.
Di seguito riporto lo script "xstart":
codice:
#!/bin/sh
#
# Alternativa a "startx", permette di selezionare un window manager come argomento
# o quello di default in "~/.xinitrc"
#
WM=$1
if [ "$WM" = "kde" ] ; then
`ln -sf ~/.xinitrckde ~/.xinitrc`
elif [ "$WM" = "gnome" ] ; then
`ln -sf ~/.xinitrcgnome ~/.xinitrc`
elif [ "$WM" = "fluxbox" ] ; then
`ln -sf ~/.xinitrcfluxbox ~/.xinitrc`
#
# L'opzione "-q" stampa i window manager che si possono selezionare
#
elif [ "$1" = "-q" ] ; then
echo
echo "I window manager selezionabili sono:"
echo
echo " kde"
echo " gnome"
echo " fluxbox"
echo
echo "per selezionarli digitare uno di essi come argomento"
echo
exit 0
#
# L'opzione "--help" stampa un piccolo aiuto
#
elif [ "$1" = "--help" ] ; then
echo
echo "xstart è un comando che va a sostituire startx."
echo "Più che sostituire sarebbe meglio dire integrare"
echo "in quanto alla fine viene comunque eseguito startx."
echo
echo "Le opzioni possibili sono:"
echo
echo " --help stampa questo scritto"
echo
echo " -q elenca i window manager"
echo " disponibili."
echo
echo "L'uso è semplice, per avviare un window manager"
echo "basta dare il suo nome come argomento, se"
echo "viene dato il comando xstart senza argomenti"
echo "verrà caricato l'ultimo window manager usato."
echo
exit 0
fi
#
# And now... startx!!!
#
`startx`
Lo ho poi copiato da root in /usr/bin dandogli un "chmod 755 /usr/bin/xstart".
Come si nota i commenti sono in italiano a parte il "And now... startx!!!" su cui ho voluto fare il figo! :quipy: