Come posso facilmente cambiare il mio fuso orario in Arch / Xfce?


10

Da quando mi muovo, devo cambiare frequentemente i fusi orari. Sono su Arch / Xfce. Come lo posso fare? Ho provato a fare clic destro sull'orologio sul pannello superiore -> proprietà -> impostazioni dell'ora -> fuso orario. Non ha funzionato Quando digito un fuso orario, non si completa automaticamente e non mostra suggerimenti. Quando lo accedo, tuttavia, e premo OK, l'ora non cambia in base a un nuovo fuso orario.

Qual è il modo corretto di farlo?


1
Puoi provare timedatectl
ckruczek il

Risposte:


14

È semplice come digitare un solo comando:

timedatectl set-timezone Zone/SubZone

Dove si sostituisce Zone / SubZone con dati corretti. Puoi ottenere un elenco di tutti i fusi orari disponibili digitando:

timedatectl list-timezones

Se vuoi avere il tuo RTC (orologio hardware) usando l'ora locale, esegui il seguente comando:

timedatectl set-local-rtc 1

Se preferisci il tuo RTC su UTC, usa questo:

timedatectl set-local-rtc 0

ora il mio tempo è in anticipo rispetto al mio orario precedente per la quantità di ore che il mio fuso orario attuale ha: quindi è +7 dell'ora corrente. perché?
Johshi,

RTC è impostato su locale o UTC? Se è impostato su local, usa questo comando: timedatectl set-local-rtc 1 se in caso contrario: timedatectl set-local-rtc 0
Jakub,

Non lo so, come posso controllare?
Johshi,

non importa cosa voglio, il fatto è che "timedatectl set-timezone Zone / SubZone" non ha impostato correttamente l'ora. timedatectl set-local-rtc mi aiuterà e come?
Johshi,

Puoi controllare il tuo orologio in tempo reale (RTC) con timedatectl status. Consiglio di impostarlo sull'ora universale (UTC) poiché tutto il resto (compresa l'ora locale!) È definito come un offset di UTC. Si noti inoltre che funziona oltre Arch Linux e oltre XFCE.
Adam Katz,

1

Sono rimasto sorpreso da quanto non fosse banale, quindi ho scritto una sceneggiatura:

tz-set Asia/Bangkok

Oppure, per selezionare un fuso orario da un elenco:

tz-set

Il seguente script aggiorna anche il fuso orario in:

#!/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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.