Forum général.cherche-logiciel GUI pour changer la timezone d'un utilisateur

Posté par  .
Étiquettes : aucune
1
3
juil.
2012

Hello,

Pour changer la timezone d'un utilisateur, il faut exporter la variable d'environnement TZ. Jusque là, tout va bien. Par contre, je cherche une petite application graphique qui permet de le faire pour éviter à mes utilisateurs de toucher à leur .profile.

Je viens de passer une petite heure à chercher une telle application, sans succès, c'est pourquoi je me retourne vers vous … vous savez si ce que je cherche existe ? Si possible, il faudrait que l'appli puisse s'intégrer dans un environnement openbox + fbpanel.

Si ça n'existe pas, je finirai par écrire une petite appli en python+gtk, mais je souhait éviter d'en arriver là.

  • # Pas possible

    Posté par  (site web personnel) . Évalué à 2.

    Si les logiciels que tu utilises et qui affichent l'heure la déterminent eux-mêmes, ce que tu veux faire est impossible. On ne peut pas changer de l'extérieur l'environnement d'un processus.

    • [^] # Re: Pas possible

      Posté par  . Évalué à 0.

      Ok. Je sais bien que pour prendre en compte la nouvelle timezone, il faut relancer la session pour que la variable d'environnement soit de nouveau lue. Ce que je cherche en fait, c'est une petite appli qui liste les différentes timezone disponibles sur le serveur pour que l'utilisateur puisse en choisir une lui-même. Après la timezone sélectionnée peut-être stockée n'importe où (dans un fichier, ou autre), comme j'ai la main sur les scripts qui lancent les sessions, je peux glisser un "export TZ" kivabien au passage.
      J'ai juste besoin d'un truc graphique, léger et simple pour choisir une timezone…

      J'ai bien conscience que c'est un peu spécifique comme besoin, du coup je suis pas sûr de trouver un truc tout fait, mais je tente quand même ma chance ;)

      • [^] # Re: Pas possible

        Posté par  (site web personnel) . Évalué à 4.

        printf 'Africa\nAmerica\nAntarctica\nAsia\nAtlantic\nEurope\nIndian\nPacific' \
            | zenity --height="300" --title="Sélection de fuseau horaire" --text="Sélectionnez votre zone géographique" --list --column="Continent ou océan" \
            | read continent
        ls -1 "/usr/share/zoneinfo/$continent" \
            | zenity --height="300" --title="Sélection de fuseau horaire" --text="Sélectionnez votre ville" --list --column="Ville" \
            | read ville
        TZ="$continent/$ville"
        
        
  • # system setting, regler l'horloge

    Posté par  . Évalué à 2.

    et y a souvent choisir la timezone dans les options

  • # en shell

    Posté par  (site web personnel) . Évalué à 5.

    Comme tu dis, c'est très spécifique, en quelques lignes de shell ça peut très bien se faire, pas besoin de sortir l’artillerie python/gtk

    (awk '/^[A-Z][A-Z]/ {print $3,$1}' /usr/share/zoneinfo/zone.tab | sort | xargs dialog --menu timezone 0 0 10 ) 2> /tmp/out
    echo "export TZ=$(cat /tmp/out)" >> ~/.profile
    
    

    Faut ajouter un petit contrôle "si la variable est déjà la je remplace"
    On pourrait aussi vérifier si elle existe avant pour pré-sélectionner

    dialog peut avantageusement être remplacé par kdialog, zenity

    exemple

    • [^] # Re: en shell

      Posté par  . Évalué à 2.

      Ah oui, bonne idée ça ! Je n'avais pas pensé à utiliser zenity pour ce genre de chose … surtout que je l'utilise déjà pour ce projet (moi trop bête :p). Merci pour l'idée et l'exemple en shell.

  • # Merci à tous

    Posté par  . Évalué à 1.

    Merci à tous pour vos réponses.
    Je suis parti sur une solution à base de zenity, fortement inspiré du code de Tanguy. Et ça does le job :)

Suivre le flux des commentaires

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