Journal Liquid prompt — un prompt Bash adaptatif utile : déménagement

Posté par (page perso) .
23
19
juil.
2012

Pour ceux qui auraient suivi la dépêche « Un prompt bash utile, sans poudre aux yeux » ou ceux qui seraient intéressés par un prompt Bash qui déchire, sachez que — suite au franc succès rencontré — le projet a maintenant son propre dépôt : Liquid prompt.

Mettez à jour vos signets et outils de suivis !

  • # boahhh

    Posté par (page perso) . Évalué à  2 .

    http://wiki.bash-hackers.org/scripting/obsolete

    Is it a Bird? Is it a Plane?? No, it's Super Poil !!!

  • # Question Pratique

    Posté par (page perso) . Évalué à  2 .

    Perso, j'ai refais récemment mon prompt histoire de ne pas être trop dérangé visuellement
    à gauche → % (coloré sur mon serveur en ssh), # (pour le root)
    à droite → l'heure et le dossier courant;
    Ainsi le changement de dossier ne rend pas difficile la lecture des commandes précédentes (et c'est plus propre, y a pas à dire)

  • # logname: no login name

    Posté par (page perso) . Évalué à  4 . Dernière modification : le 20/07/12 à 08:52

    Sur certains terminaux virtuels (guake par exemple), logname est ignorant et le dit. C'est peut-être un bug du terminal virtuel, mais ça coûte pas cher à contourner.

    90c90
    <         if [[ ${USER} != $(logname) ]]; then
    ---
    >         if [[ ${USER} != $(logname 2>/dev/null) ]]; then
    
    

    ce commentaire est sous licence cc by 4 et précédentes

    • [^] # Re: logname: no login name

      Posté par . Évalué à  4 .

      Hello!

      Et pourquoi ne pas utiliser directement LOGNAME?

      if [[ ${USER} != ${LOGNAME} ]]; then
      
      

      De plus, je protégerais ces deux variables car si l'une d'elle venait à être vide, le test échouerait.

      if [[ "${USER}" != "${LOGNAME}" ]]; then
      
      

      My 2 cents!

      • [^] # Re: logname: no login name

        Posté par (page perso) . Évalué à  3 .

        ah oui sur guake (où logname ne fonctionne pas), ${LOGNAME} possède la bonne valeur, cela semble en effet plus fiable d'utiliser la variable d'environnement plutôt que la commande.

        ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: logname: no login name

        Posté par . Évalué à  4 . Dernière modification : le 20/07/12 à 10:38

        Et pourquoi ne pas utiliser directement LOGNAME?

        Parce que ça ne marche pas ?

        $ logname
        ymorin
        $ echo $LOGNAME
        ymorin
        $ sudo su -
        # logname
        ymorin
        # echo $LOGNAME
        root
        
        

        Donc, peut-être, utiliser les deux :

        if [[ "${USER}" != "$(logname 2>/dev/null)" -o "${USER}" != "${LOGNAME}" ]]; then
        
        

        Hop, voilà … :-(
        Moi.

        • [^] # Re: logname: no login name

          Posté par (page perso) . Évalué à  3 .

          Ouch, en effet, je n'avais pas de sudo configuré sous la main pour tester. Ça semblait plus fiable mais pas du tout !

          ce commentaire est sous licence cc by 4 et précédentes

        • [^] # Re: logname: no login name

          Posté par . Évalué à  -2 .

          D'oh!

          Au temps pour moi =/

          • [^] # Re: logname: no login name

            Posté par . Évalué à  0 .

            Voici un complément d'information qui pourra peut-être en intéresser quelques uns.

            LOGNAME

            The name of the user. This is an easy way for a user to get own username. However, programs must not trust this variable because it can be set to an arbitrary value.

            Both LOGNAME and USER should be set to the username.

            Examples:

            LOGNAME=tux

            LOGNAME=puffy

            USER

            This variable should have the same setting and purpose as LOGNAME.

            My 2 cents.

    • [^] # Re: logname: no login name

      Posté par (page perso) . Évalué à  3 .

      Y'a une option dans guake pour exécuter le shell en mode «shell de connexion». Et logname est content.

  • # Lenteurs

    Posté par (page perso) . Évalué à  7 .

    Ave,

    Suis-je le seul à trouver ce prompt lent ? J'ai un collègue chez qui c'est rapide. J'utilise bash, sur une ubuntu 12.04, dans un gnome-terminal. Même sans guake, sans byobu, etc. c'est lent. Lorsque je passe à un git sur NFS, c'est juste plus utilisable.

    J'ai essayé de personnaliser le PS1 pour enlever la batterie, la charges, et d'autres trucs moins utiles. Rien n'y fait !

    Quelqu'un a une piste ?

    Sinon, bravo pour la conception du prompteur, c'est vraiment simple, élégant, utile et sans gadget. J'ai jamais été fan des prompteurs sapin de noël ! :-)

    • [^] # Re: Lenteurs

      Posté par (page perso) . Évalué à  4 .

      Même chose de mon côté, là encore avec gnome-terminal. Je voulais comparer avec xterm, mais ça n'a pas l'air de fonctionner dans ce dernier. Autre point important, selon le thème choisi, au hasard Elementary (avec lequel le terminal devient gris clair), les couleurs par défaut sont illisibles.

      • [^] # Re: Lenteurs

        Posté par (page perso) . Évalué à  3 .

        J'ai testé xterm, c'est également lent. Ça doit être ailleurs. J'ai alléger un peu le code pour mon install. Mais ça reste lent dès que j'entre dans un dépôt git.

      • [^] # Re: Lenteurs

        Posté par (page perso) . Évalué à  2 .

        On peut assez facilement changer les couleurs… ceci étant dit, le gris empêche d'utiliser beaucoup des couleurs ANSI… peut-être en ajoutant un fond noir partout ?

        Je ne sais pas si ça vaut le coup d'avoir une config à part pour gérer ça.

      • [^] # Re: Lenteurs

        Posté par . Évalué à  1 .

        Très lent ici aussi (Roxterm GTK3 sous E17, testé aussi xterm et uxterm sans succès).

        Là où c'est abominablement lent c'est dans un dossier de travail SVN (environ 2 secondes pour avoir le prompt après avoir fait un simple "ls").

  • # report

    Posté par . Évalué à  2 .

    Quand batterie <= 10%, bug:

    b10% [user ~] $
    10: command not found

    A mon avis, il ne sert à rien d'afficher le % de batterie quand le chargeur est branché (et perso je ne l'affiche que quand <= 20% sinon ça ne m'interesse pas trop, même si je suis un rétrograde avec mon terminal, je lance X qui me l'affiche déjà :)

    Sinon, pour les fan de bonnes statusbar, si vous utilisez vim je vous conseille vim-powerline c'est très utile et ça peut être spécialement joli si on met une police patchée:

    github

    • [^] # Re: report

      Posté par (page perso) . Évalué à  1 .

      Le bug sur la batterie est corrigé.

      J'ai rajouté des variables en tête de fichier pour permettre de configurer les seuils d'affichage pour la batterie et la charge.

      Perso, j'aime bien garder un seuil élevé car je m'habitue beaucoup trop aux widgets sur X, ils sont toujours affichés, dans un coin que je regarde rarement, avec toujours la même apparence… alors que l'apparition d'un truc sur le prompt me saute aux yeux !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.