Comment afficher le fuseau horaire actuel à proximité de l'heure et de la date dans la barre de menus d'Ubuntu 16.10? Cela devrait également être pertinent pour les autres versions. C'est une fonctionnalité très manquante, vous pouvez facilement être confondu sans elle. Je voudrais quelque chose comme "ven 23 déc 20:35:05 (Europe/Kiev)".
Aussi, il serait bien de pouvoir personnaliser cette chaîne arbitrairement, par exemple "Vendredi, 23.12.2016 - 20:35:05 (Europe/Kiev)". Je vous remercie!
Mettre à jour
En se référant à Comment changer le format de date? on peut faire
gsettings set com.canonical.indicator.datetime time-format "'custom'"
gsettings set com.canonical.indicator.datetime custom-time-format "'%a, %d.%m.%y - %H:%M:%S (%Z)'"
qui change l'indicateur de l'heure et de la date du système en
Vendredi, 23.12.2016 - 20:35:05 (EET)
Comme vous pouvez le constater, tout va bien maintenant, à part le nom du fuseau horaire. Je règle mes fuseaux horaires sur > Paramètres heure et date> Horloge> Choisir des emplacements . Ensuite, si j'écris timedatectl
dans le terminal, je reçois
Fuseau horaire: Europe/Kiev (EET, +0200)
Donc, il y a plusieurs options pour un nom de fuseau horaire et il semble que ce soit la fonction strftime qui décide laquelle utiliser et aussi que juste en l'alimentant avec une chaîne de format, il n'y a pas manière d'obtenir un nom de fuseau horaire "Europe/Kiev" (uniquement "EET" ou "+0200").
Alors, y a-t-il des moyens de choisir le format de nom d'un fuseau horaire?
Peut-être qu'en utilisant le script de Serg, je pourrais placer le nom préféré à côté de l'indicateur du système?
Merci!
L'indicateur présenté ci-dessous affiche le fuseau horaire actuel dans le panneau supérieur. La façon dont cela fonctionne est assez simple. Les paramètres de fuseau horaire sont définis dans le fichier /etc/timezone
. Tout l’indicateur fait, lit ce fichier et met à jour les informations affichées si nécessaire.
Enregistrez le code source ci-dessous sous le nom ~/bin/timezone_indicator
, exécutez chmod +x ~/bin/timezone_indicator
pour le rendre exécutable, puis exécutez-le sous le nom ~/bin/timezone_indicator
. Si vous souhaitez qu'il démarre chaque fois que vous vous connectez automatiquement, ouvrez le menu Applications de démarrage et ajoutez le chemin d'accès complet à l'indicateur en tant que commande.
N'hésitez pas à tester le changement de fuseau horaire, comme indiqué dans https://askubuntu.com/a/524362/295286
Egalement disponible sur GitHub :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Author: Serg Kolo , <[email protected]>
# Date: December 23, 2016
# Purpose: Indicator that displays timezone
# Written for: https://askubuntu.com/q/863952/295286
# Tested on: Ubuntu 16.04 LTS
#
# Licensed under The MIT License (MIT).
# See included LICENSE file or the notice below.
#
# Copyright © 2016 Sergiy Kolodyazhnyy
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import gi
gi.require_version('AppIndicator3', '0.1')
from gi.repository import GLib as glib
from gi.repository import AppIndicator3 as appindicator
from gi.repository import Gtk as gtk
from time import gmtime
import os
class TimezoneIndicator(object):
def __init__(self):
self.app = appindicator.Indicator.new(
'timezone-ndicator', "",
appindicator.IndicatorCategory.APPLICATION_STATUS)
self.app.set_status(appindicator.IndicatorStatus.ACTIVE)
self.app.set_icon('locale')
self.app_menu = gtk.Menu()
self.quit_app = gtk.MenuItem('Quit')
self.quit_app.connect('activate', self.quit)
self.quit_app.show()
self.cache = None
self.app_menu.append(self.quit_app)
self.app.set_menu(self.app_menu)
self.update_label()
def run(self):
gtk.main()
def quit(self, data=None):
gtk.main_quit()
def update_label(self):
timezone = None
with open('/etc/timezone') as f:
timezone = f.read().strip()
if timezone != self.cache:
self.app.set_label(timezone,"")
self.cache = timezone
glib.timeout_add_seconds(1, self.callback)
def callback(self):
self.update_label()
def main():
indicator = TimezoneIndicator()
indicator.run()
if __== '__main__':
main()
Si vous pouvez obtenir le fuseau horaire dans un format qui vous convient avec une commande de terminal, vous pouvez alors installer indicateur Sysmonitor et ajouter cette commande (sous forme de script).
Vous pouvez aller plus loin et désactiver l'horloge par défaut (il y a une option pour la cacher). Votre script/commande afficherait alors la date/heure/fuseau horaire à votre convenance.