이사를 자주하다보니 시간대를 자주 바꿔야 합니다. 저는 Arch/Xfce를 사용하고 있습니다. 어떻게 해야 하나요? 상단 패널에서 시계를 마우스 오른쪽 버튼으로 클릭 -> 속성 -> 시간 설정 -> 시간대를 시도해 보았습니다. 작동하지 않습니다. 시간대를 입력하면 자동 완성되지 않으며 제안 사항도 표시되지 않습니다. 하지만 입력하고 "확인"을 누르면 새로운 시간대에 따라 시간이 변경되지 않습니다.
이를 수행하는 올바른 방법은 무엇입니까?
답변1
명령을 입력하는 것만큼 간단합니다.
timedatectl set-timezone Zone/SubZone
영역/하위 영역을 올바른 데이터로 바꾸는 위치입니다. 다음을 입력하여 사용 가능한 모든 시간대 목록을 얻을 수 있습니다.
timedatectl list-timezones
RTC(하드웨어 시계)가 현지 시간을 사용하도록 하려면 다음 명령을 실행하십시오.
timedatectl set-local-rtc 1
UTC 시간으로 RTC를 선호하는 경우 다음 옵션을 사용하십시오.
timedatectl set-local-rtc 0
답변2
나는 이것이 얼마나 사소한 일인지에 놀랐고 그래서 스크립트를 작성했습니다.
tz-set Asia/Bangkok
또는 목록에서 시간대를 선택하세요.
tz-set
다음 스크립트는 시간대도 업데이트합니다.
xfce4-panel
시계 위젯/etc/timezone
(timedatectl set-timezone
업데이트되지 않음/etc/timezone
)
#!/bin/bash
set -euo pipefail
program=${0##*/} # basename $0
usage () {
>&2 printf 'Usage: %s [Region/City]\n' "$program"
>&2 printf 'Set the system timezone\n'
>&2 printf 'Will run tz-select to pick timezone if none given.\n'
}
# Process arguments
if [[ $# -gt 1 ]]; then # 0 or 1 arguments only
usage; exit 1
fi
if [[ $# -eq 0 ]]; then # no timezone given - prompt
timezone=$(tzselect)
else
timezone=$1 # in timedatactl verificaiton we trust
fi
sudo timedatectl set-timezone "$timezone"
# `timedatectl set-timezone` doesn't update `/etc/timezone`
# https://unix.stackexchange.com/q/451709/143394
<<<"$timezone" sudo tee /etc/timezone &> /dev/null
printf '\ntimedatectl says:\n'
timedatectl
# Update xfce4-panel clock
# https://unix.stackexchange.com/a/227405/143394
if property=$(xfconf-query -c xfce4-panel --list | grep timezone); then
if [[ $(wc -l <<<"$property") -eq 1 ]]; then # only one clock widget
xfconf-query -c xfce4-panel -p "$property" -s "$timezone"
printf '\nUpdated xfce4-panel clock timezone to: %s\n' "$timezone"
else
>&2 printf 'Not changing multiple xfce4-panel properties:\n%s\n' "$property"
fi
fi
답변3
현재 시간대를 모르는 경우 가장 간단한 솔루션
timedatectl set-timezone "$(curl --fail https://ipapi.co/timezone)"