Як змінити часовий пояс користувача?


11

Я знаю, що (наприклад, у Debian) можна було dpkg-reconfigure tzdataб змінити часовий пояс системи, але мені цікаво, як можна змінити часовий пояс користувача (якщо Linux / Unix взагалі підтримує таку ідею).

Я зазвичай працюю на сервері віддалено через ssh і, враховуючи, що сервер працює з UTC внутрішньо (файли, ...) і часові пояси є досить поверхневими, я хотів би бачити час у бажаному часовому поясі залежно від того, звідки я підключаюся. Чи можливо це?


Що ви спробували? Ви взагалі шукали в Інтернеті "ssh передачу інформації TZ"?
Антон

Відповіді:


13

Використовуйте TZзмінну середовища. Наприклад:

bash$ export TZ=US/Pacific
bash$ date
Mon Mar  3 00:31:17 PST 2014
bash$ export TZ=US/Eastern
bash$ date
Mon Mar  3 03:33:06 EST 2014

Можливі значення для TZзнаходяться в каталозі /usr/share/zoneinfo(див., Наприклад, існування /usr/share/zoneinfo/US/Pacific)


У моєму випадку dateдає інший часовий пояс і час, ніж uname -a. Чому це було б?
Геремія

8

По-перше, вам потрібні деякі конфігурації для ssh-сервера та ssh-клієнта.

У сервері в /etc/ssh/sshd_config, переконайтеся, що ви приймаєте TZзмінну:

AcceptEnv LANG LC_* TZ

В клієнті, в /etc/ssh/ssh_configабо ~/.ssh/config, переконайтеся , що ви посилаєте TZзмінної:

SendEnv TZ

(За замовчуванням зазвичай не надсилають жодного від клієнта, а жодного не приймають на сервері.)

Потім зробіть псевдонім для sshкоманди , щоб використовувати струм TZв sshсесії. Додайте цей .bashrcфайл у файл:

alias ssh='TZ=${TZ:-"$(cat /etc/timezone)"} ssh'

або використовувати це для системи не має /etc/timezone:

alias ssh='TZ=${TZ:-"$(date +%Z)"} ssh'

Тоді кожен раз, коли ви sshпереходите на віддалений сервер, час на сервері відображатиме базу на локальному часовому поясі.


Ви також можете використовувати TZ=$(date +%Z)більшість версій (Linux / * BSD / Solaris) дат, це буде працювати краще в системах, де /etc/timezoneце не зроблено.
mr.spuratic

Дружнє нагадування. Не забудьте перезапустити sshd, щоб зміни набрали чинності. На ubuntu "service ssh restart"
cavalcade
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.