как получить в CLI другие часы, отличные от вашего часового пояса?

xbacklight

$ xbacklight +30% # increases brightness by 30 percent
$ xbacklight -30% # decreases brightness by 30 percent

dbus путь

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:<percentage>
Пример

Яркость набора к 30%:

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:30 

Или
Уменьшить яркость шагом (~7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepDown

Увеличить яркость шагом (~7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepUp

Если это говорит следующим образом, что Ваша ОС может быть слишком старой. Затем используйте xdotool:

Error org.freedesktop.DBus.Error.UnknownMethod: 
Method "SetPercentage" with signature "u" on interface 
"org.gnome.SettingsDaemon.Power.Screen" doesn't exist

xdotool

  • Яркость увеличения:

    $ xdotool key XF86MonBrightnessUp
    
  • Яркость уменьшения:

    $ xdotool key XF86MonBrightnessDown
    
2
12.10.2015, 00:11
4 ответа

Как отмечали некоторые другие, переменная среды TZ - это то, что влияет на вывод date . Однако в большинстве случаев вы не захотите оставить TZ измененным; вы просто хотите видеть время в этом часовом поясе, не затрагивая впоследствии вашу среду.

Для этой цели лучше всего использовать env . Из справочной страницы env :

NAME
    env - run a program in a modified environment
SYNOPSIS
    env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]

Итак, в этом случае желаемая команда будет выглядеть примерно так:

env TZ='EST' date

Существуют и другие форматы, приемлемые для часового пояса - многие из них. Если у вас есть особые требования, рекомендуется прочитать man timezone , в котором объясняются допустимые форматы часовых поясов.

1
27.01.2020, 22:05

Думаю, man date найдет ваш ответ:

 ENVIRONMENT

 The following environment variables affect the execution of date:

 TZ      The timezone to use when displaying dates.  The normal format is a pathname
         relative to /usr/share/zoneinfo.  For example, the command
         ``TZ=America/Los_Angeles date'' displays the current time in California.  See
         environ(7) for more information.

/usr/share/zoneinfo имеет имена часовых поясов.

1
27.01.2020, 22:05

Я бы предположил, что есть только несколько TZ, которые вам часто нужно проверять. Исходя из этого предположения, вы, вероятно, сочтете полезным настроить псевдонимы или функции для каждого TZ, который вам нужно проверить. Псевдоним - это просто...

alias est="TZ=US/Eastern date"

Определение функции выглядит следующим образом...

est() { TZ=US/Eastern date ; }

Определение функций для каждого TZ будет иметь дополнительное преимущество в том, что изменение будет изолировано от TZ. Это означает, что значение, присвоенное TZ, исчезнет при завершении функции и вернется к исходному значению, когда вы вернетесь в свою оболочку.

Чтобы сделать одну из этих функций доступной при каждом входе в систему, вам нужно включить ее в ~/.bash_profile. Как только вы установили один из этих параметров, откройте новую оболочку или выйдите/зайдите в систему, затем получите дату/время с помощью est.

1
27.01.2020, 22:05

Вы можете изменить часовой пояс, который будет использовать date, изменив переменную TZ

Например

$ date
Sun Oct 11 01:42:44 CEST 2015
$ TZ=US/Pacific date                                
Sat Oct 10 16:43:14 PDT 2015
$ TZ=UTC date                                                      
Sat Oct 10 23:44:04 UTC 2015
0
27.01.2020, 22:05

Теги

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