¿Cómo puedo cambiar fácilmente mi zona horaria en Arch / Xfce?


10

Como me muevo, necesito cambiar las zonas horarias con frecuencia. Estoy en Arch / Xfce. ¿Cómo puedo hacer eso? He intentado hacer clic derecho en el reloj en el panel superior -> propiedades -> configuración de hora -> zona horaria. No funcionó. Cuando escribo una zona horaria, no se completa automáticamente y no muestra sugerencias. Cuando lo ingreso, no obstante, y presiono Ok, la hora no cambia según una nueva zona horaria.

¿Cuál es la forma correcta de hacer eso?


1
Puedes probar timedatectl
ckruczek

Respuestas:


14

Es tan simple como escribir un solo comando:

timedatectl set-timezone Zone/SubZone

Donde reemplaza Zone / SubZone con los datos correctos. Puede obtener una lista de todas las zonas horarias disponibles escribiendo:

timedatectl list-timezones

Si desea que su RTC (reloj de hardware) utilice la hora local, ejecute el siguiente comando:

timedatectl set-local-rtc 1

Si prefiere su RTC en UTC, use este:

timedatectl set-local-rtc 0

ahora mi tiempo se adelanta a mi tiempo anterior por la cantidad de horas que tiene mi zona horaria actual: entonces es +7 de la hora actual. ¿por qué?
Johshi

¿Tiene su RTC configurado en local o UTC? Si está configurado en local, utilice este comando: timedatectl set-local-rtc 1 si no: timedatectl set-local-rtc 0
Jakub

No sé, ¿cómo puedo verificar?
Johshi

lo que no es lo que quiero, es "timedatectl set-timezone Zone / SubZone" no configuró la hora correctamente. ¿timedatectl set-local-rtc me ayudará y cómo?
Johshi

Puede consultar su reloj de tiempo real (RTC) con timedatectl status. Recomiendo configurarlo en hora universal (UTC) ya que todo lo demás (¡incluida su hora local!) Se define como un desplazamiento de UTC. También tenga en cuenta que esto funciona más allá de Arch Linux y más allá de XFCE.
Adam Katz

1

Me sorprendió lo poco trivial que era esto, así que escribí un guión:

tz-set Asia/Bangkok

O, para elegir una zona horaria de una lista:

tz-set

El siguiente script también actualiza la zona horaria en:

#!/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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.