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":
Lo ho poi copiato da root in /usr/bin dandogli un "chmod 755 /usr/bin/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`
Come si nota i commenti sono in italiano a parte il "And now... startx!!!" su cui ho voluto fare il figo! :quipy:![]()
![]()

, poi ho semplicemente creato questi ".xinitrc" personalizzati con "cp .xinitrc .xinitrckde" ad esempio.
Rispondi quotando
