Я знаю, что (например, в Debian) можно использовать dpkg-reconfigure tzdata
для изменения часового пояса системы, но мне интересно, как можно изменить часовой пояс пользователя (если Linux / Unix вообще поддерживает такую идею).
Обычно я работаю на сервере удаленно через ssh и, учитывая, что сервер работает с UTC внутри (файлы, ...) и часовые пояса довольно поверхностны, я хотел бы видеть время в желаемом часовом поясе в зависимости от того, откуда я подключаюсь. Это возможно?
ssh
not-root-user
timezone
Loax
источник
источник
Ответы:
Используйте
TZ
переменную окружения. Например:Возможные значения для
TZ
находятся в каталоге/usr/share/zoneinfo
(см., Например, существование/usr/share/zoneinfo/US/Pacific
)источник
date
дает другое время-zose и время, чемuname -a
. С чего бы это?Во-первых, вам нужны некоторые конфиги для ssh-сервера и ssh-клиента.
В Server,
/etc/ssh/sshd_config
убедитесь, что вы принимаетеTZ
переменную:В Client, в
/etc/ssh/ssh_config
или~/.ssh/config
убедитесь, что вы отправляетеTZ
переменную:(По умолчанию обычно ничего не отправляется с клиента и не принимается на сервере.)
Затем создайте псевдоним для
ssh
команды, чтобы использовать ваш текущийTZ
вssh
сессии. Добавьте эту строку в.bashrc
файл:или использовать это для системы не имеет
/etc/timezone
:Затем каждый раз, когда вы
ssh
подключаетесь к удаленному серверу, время на сервере будет отображаться в зависимости от вашего местного часового пояса.источник
TZ=$(date +%Z)
с большинством версий (Linux / * BSD / Solaris) на сегодняшний день, это будет работать лучше на системах, где/etc/timezone
это еще не сделано.