Colorare il cursore della Shell

 

Questo post nasce come integrazione a delle mie guide fatte in precedenza che si trovano qua e qua, per dare più colore alla shell, ma nasce soprattutto da una domanda fattami da un lettore, che mi chiedeva: "Come si facesse a cambiare solo il colore del cursore ed utilizzare il verde per l'utente normale ed il  rosso per root " Rispondo subito dicendo che si può cambiare il cursore e si può testare il tutto con questi comandi:

echo -ne "\033]12;Green\007"
echo -ne "\033]12;Red\007"
echo -ne "\033]12;Blue\007"
echo -ne "\033]12;Yellow\007"

A questo punto scelto il colore del cursore sostituiamo la stringa PS1 presente in .bashrc, con la stringa in basso che va bene per le Debian based.

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$'

poi incolliamo alla fine di .bashrc:

echo -ne "\E]12;green\007"

poi salviamo il tutto in .bashrc per l'utente normale oppure in /root/.bashrc per l'utente root.

Per chi volesse una situazione come quella in figura o una base da dove partire può usare questa:

PS1="\[\e[31;1m\]\u-\[\e[32;1m\]\H \[\e[0m\]"

o questa:

PS1='\[\e[1;42m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$'

La stringa sopra è bruttissima e mi meraviglio pure che funzioni certamente si può ordinare e semplificare, ma io non ho più voglia

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Administrator, Sys Admin Linux, Linux User, Consulente Informatico.

8 pensieri riguardo “Colorare il cursore della Shell”

  1. la stringa che cambia il cursore in gnome-terminal funziona ma quando il cursore arriva a fine riga torna sulla stessa riga invece di andare giù con questa ps1, c'è qualche soluzione?

  2. Ciao, in effetti ci sono dei problemi con questa stringa 033]12;Green07. Sto verificando, ma al momento non ho trovato una soluzione. Comunque ci sto lavorando sopra 😉

  3. ci ho giocherellato anche io un po', magari se domani ho un po' di tempo do un'occhiata e magari ti fornisco eventuali soluzioni (sempre se ne trovo…) in effetti ora come ora mi è anche oscuro il fatto di "come possa funzionare" visto che non vedo un equivalente in tput e non funziona dalla tty normale…. cmq complimenti, bel blog!

  4. Risolto, dopo tanti tentativi, come al solito la risposta è sempre quella che hai sotto gli occhi. Basta solo inserire alla fine di.bashrc
    echo -ne "E]12;green07"

    Guida aggiornata.

  5. è vero, funziona, però resta un problemino…. se si invoca "su" (per esempio abbiamo fatto si che il bashrc di root cambi il cursore in rosso) e poi si fa "exit" per tornare come utente normale (o in tanti altri casi in cui cambia il colore del cursore ma non si invoca di nuovo bashrc) il cursore resta rosso (o di qualunque colore sia per l'ultimo utente che ha chiamato bashrc….

    ho provato ad ovviare la cosa mettendo nel ps1 la chiamata ad un filescript che conteneva echo xxxxx…. ma non funziona, cioè, cambia cursore ma torna il problema della riga….

  6. hihi, ho risolto in un modo molto rude e buzzurro::

    .bashrc di root:
    alias exit='echo -ne "E]12;red07" && exit'

    spero saprai trovare qualche idea migliore della mia ma per ora dobbiamo arrangiarci con questa zozzata….

  7. Ottimo, ma penso che tu abbia voluto dire:

    alias exit='echo -ne "E]12;green07" && exit'

    dato che da root (rosso) dobbiamo tornare al normal user (verde) 😉

  8. si giusto! l'ho corretto sul mio bashrc ma non sul post! 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *