Как показать текущий часовой пояс около индикатора времени в строке меню?

Как показать текущий часовой пояс около времени и даты в строке меню в Ubuntu 16.10? Это должно быть важно для других версий также. Это - очень недостающая возможность, Вы можете легко быть смущены без него. Я хотел бы получить что-то как "пятница 23 декабря 20:35:05 (Европа/Киев)".

Также было бы хорошо смочь настроить ту строку произвольно, сказать "пятница, 23.12.2016 - 20:35:05 (Европа/Киев)".Спасибо!

Обновление

Что касается того, Как изменить формат даты? можно сделать

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)'"

который изменяет системное время и индикатор даты к

23:12 - 20:35:05 (EET)

Как Вы видите, все прекрасно теперь помимо названия часового пояса. Я установил свои часовые пояса при настройках Time & Date>, Часы> Выбирают Locations. Затем если я пишу timedatectl в терминале я добираюсь

Часовой пояс: Европа/Киев (EET, +0200)

Так, существует несколько опций для названия часового пояса, и кажется, что это - функция strftime, которая решает, какой использовать и также что только путем питания его со строкой формата нет никакого способа получить часовой пояс, называют "Европой/Киевом" (только "EET" или "+0200").

Таким образом, там какие-либо пути состоят в том, чтобы выбрать формат имени часового пояса?

Возможно, с помощью сценария Serg я мог поместить предпочтительное имя рядом с системным индикатором?

Спасибо!

3
задан 17 June 2017 в 13:21

2 ответа

Введение

индикатор представило ниже дисплеев текущий часовой пояс в верхней панели. Путем это работает, довольно просто. Установки часового пояса установлены в /etc/timezone файл. Весь индикатор делает, читается, что файл, и обновляет информацию, отображенную при необходимости.

Сохраняют исходный код ниже как ~/bin/timezone_indicator, работают chmod +x ~/bin/timezone_indicator, чтобы сделать это исполняемым файлом и работать как ~/bin/timezone_indicator. Если Вы хотите для него запуститься каждый раз, когда Вы входите в систему автоматически, открытое меню Startup Applications, и добавляете полный путь к индикатору как одна из команд там.

enter image description here

Не стесняются тестировать изменение часового пояса как шоу в https://источник askubuntu.com/a/524362/295286

Сценария

Также доступный на GitHub:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#
# Author: Serg Kolo , <1047481448@qq.com>
# 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 __name__ == '__main__':
    main()
5
ответ дан 1 December 2019 в 15:23

Если можно получить часовой пояс в формате, Вы довольны от терминальной команды, Вы могли затем установить Индикатор Sysmonitor и добавить что команда (как сценарий).

Вы могли пойти далее и отключить часы по умолчанию (существует опция скрыть их). Ваш сценарий/команда затем отобразил бы дату/время/часовой пояс к Вашей симпатии.

1
ответ дан 1 December 2019 в 15:23

Другие вопросы по тегам:

Похожие вопросы: