Cómo cambiar la hora en Linux
En este post vamos a ver cómo cambiar la hora en Linux. No es que sea demasiado difícil ya que la mayoría de los escritorios incluye asistentes que permiten hacerlo con un par de clics, pero resulta una buena excusa para conocer más cómo funcionan nuestro ordenador y sistema operativo.
En los viejos tiempos un reloj era un artículo de lujo, algo que se regalaba en la mayoría de edad, cuando cumplías 25 años en un trabajo o se transmitía como herencia al hijo mayor. De hecho, fue lo primero que mi padre y sus hermanos inmigrantes gallegos se compraron como inversión cuando empezaron a ganar plata en Argentina.
Sin embargo, con la llegada de los japoneses, los costos de fabricación se abarataron y pronto otros dispositivos como microondas, videograbadoras y hasta cafeteras incorporaron esta función. Cuando los dispositivos móviles se hicieron más masivos y portátiles el clásico reloj pulsera fue perdiendo protagonismo. Hoy sobrevive en forma de smartwatches, pero en la práctica solo son un accesorio del teléfono.
Ignoro por qué los sistemas operativos muestran un reloj. Supongo que porque quedaba mal el espacio vacío en la barra y, dado que para su funcionamiento necesita de un reloj, mostrar la hora no era algo demasiado complicado.
Cómo cambiar la hora en Linux
Si tienes instalado Windows y Linux en tu ordenador te habrás dado cuenta de que, si sales de Linux y entras en Windows, este tiene una hora diferente a la local. Esto se debe a que Linux asume que el reloj de hardware está sincronizado con el tiempo coordinado universal, mientras que Windows asume que está en la hora local. El último sistema operativo en ser utilizado ajusta el reloj de hardware de acuerdo con sus necesidades.
La solución pasa por hacer que Windows haga sus cálculos a partir de la hora UTC o que Linux lo haga con la hora local. Es mucho más fácil hacer que Linux cambie ya que solo tenemos que escribir el comando:
sudo timedatectl set-local-rtc 1
En general, las distribuciones Linux te preguntan qué zona horaria utilizar y a partir de ese momento ajustarán la hora automáticamente ya sea tomando la información de un servidor de hora en red o haciendo los cálculos correspondientes a partir de la hora indicada por el servidor de tiempo universal. Para el caso de que la conexión con el servidor de hora en red no esté disponible, los desarrolladores suelen incluir archivos con instrucciones para que el sistema sepa cómo calcular las variaciones entre el horario de verano e invierno.
Los diferentes escritorios permiten anular la sincronización automática y fijarla en forma manual.
Desde la terminal podemos ajustar la hora con el comando:
sudo timedatectl set-time hh:mm:ss
Por ejemplo, para poner la hora en las tres menos cuarto de la tarde hacemos:
sudo timedatectl set-time 14:45:00
Para cancelar la sincronización automática de la hora con un servidor en red utilizamos el comando:
sudo timedatectl set-ntp false
Para reactivarla escribimos el comando:
sudo timedatectl set-ntp true
Podemos ver las zonas horarias disponibles con:
timedatectl list-timezones
Y cambiar de una a otra con:
timedatectl set-timezone CONTINENTE/PAÍS
o
timedatectl set-timezone Continente/País/Ciudad
Y en algunos casos
timedatectl set-timezone Continente/Ciudad/Localidad.
En todo caso, pega tal cuál aparece en la lista.
Por ejemplo:
timedatectl set-timezone America/Indiana/Indianapolis
Si no quieres cambiar de zona horaria puedes ver qué hora es en otra con el comando:
TZ=Zona_horaria date
Reemplazando zona horaria con el nombre en que aparece en la lista. Por ejemplo:
TZ=America/Indiana/Indianapolis date
Para ver la hora del reloj del hardware se usa el comando:
hwclock -r
Podemos sincronizar el reloj del hardware con el del sistema escribiendo:
hwclock --systohc
Algunas aplicaciones para ver la hora
Si no te gusta el reloj que viene con tu escritorio, en los repositorios contamos con varias aplicaciones que nos permiten ver la hora. Algunas de ellas son:
Clocks
También puede aparecer en los gestores de paquetes con el nombre de Relojes. Es una aplicación parte del proyecto GNOME e incluye varios programas relacionados con la medición del tiempo incluyendo:
- Relojes para mostrar la hora en diferentes partes del mundo.
- Alarmas.
- Contadores hacia atrás.
- Cronómetros.
Reloj analógico
Disponible en el centro de software de las distribuciones basadas en el escritorio KDE, este reloj analógico se agrega al escritorio y muestra el paso de las horas con la posición de las agujas.
DClock
Otro título disponible en los repositorios. Como indica la D del título se trata de un reloj digital que simula mostrar los números con leds. Además, muestra la fecha y permite configurar una alarma.
Slashtime
Este programa de los repositorios muestra la hora en diferentes zonas del globo. para poder verla solo tenemos que posar el cursor y hacer doble clic en la ciudad cuyo horario queremos ver.
Retro
Un reloj digital de estilo antiguo cuyo aspecto puede modificarse utilizando hojas de estilo. Está disponible en formato Flatpak.
timedatecalculator
Desde la tienda de Snap nos llega esta útil aplicación que calcula fechas. Obtiene resultados a partir de la hora y el intervalo de tiempo de inicio/finalización o el intervalo de tiempo a partir de la hora y la fecha de inicio y finalización
Cómo los ordenadores miden el tiempo
Probablemente la forma más antigua de medición del tiempo sea la posición del sol. El día era el período que transcurría hasta que el sol volvía a estar en su posición. La primera subdivisión del día la hicieron los sacerdotes egipcios quienes llevaban el control del momento de la aparición de las constelaciones, eto permitió dividir la noche en 12 subperíodos de igual duración.
En el siglo X aparecen los relojes de sol que marcan el paso de las horas durante el día mediante la proyección de las sombras. También se dividió el período de claridad en 12 horas.
La subdivisión de la hora en 60 minutos es responsabilidad de los babilonios. Ellos usaban un sistema de conteo basado en el uso de las manos. Con el dedo gordo de la mano derecha iban contando, marcando cada una de las falanges de los otros cuatro dedos, cuando tenían que contar más de 12 levantaban un dedo de la mano izquierda. Con eso podían contar hasta 60.
Con el correr de tiempo se fueron creando diferentes mecanismos de registrar el paso del tiempo usando mecanismos como la ya mencionada sombra, la fuerza de gravedad o la velocidad del consumo de una vela.
Los ordenadores tienen dos formas de medir el paso del tiempo. Una se basa en hardware y otra en software.
El reloj de tiempo real (RTC)
Se alimenta con una batería y funciona aun cuando el ordenador está apagado. Lo de reloj lo decimos en sentido amplio ya que no tiene botones, agujas o números leds. Se trata de un circuito integrado que forma parte de la placa base y es el encargado de hacer funcionar el reloj del sistema. Ese circuito tiene un oscilador de cristal basado en un cristal piezoeléctrico. Cada cristal tiene una estructura cristalina conformada por un patrón regular y repetido de átomos. Al aplicar un campo a través del cristal se distorsiona su estructura cristalina y, al eliminar el campo retorna al estado original, generando así una señal eléctrica de frecuencia muy precisa.
El reloj del sistema
El reloj del sistema se basa en información del reloj de tiempo real pero el encargado de gestionarlo es el núcleo del sistema operativo. Su trabajo es configurar, programar y sincronizar las tareas, procesos e interrupciones.
Tampoco es un reloj al estilo de las aplicaciones que vemos en el móvil ya que no muestra las horas ni representa el paso del tiempo con números. Lo que hace es registrar el paso de segundos y microsegundos mediante la emisión de señales digitales.
Un problema que hay que solucionar es el de la falta de sincronización entre ambos relojes (Que utilizan formas dee medición del tiempo diferentes) entre sí y con la hora real. Para esto, cuando se inicia el ordenador, el reloj del sistema lee la hora del reloj de tiempo real y aplica una fórmula de corrección. Luego, en caso de que el ordenador esté conectado a Internet determina la hora real y sincroniza el reloj del sistema para que refleje el paso del tiempo en forma adecuada.
Habrás observado en equipos antiguos que, si no hay conexión a Internet la hora, en lugar de la real es apenas unos minutos después de la hora que lo apagaste. Eso se soluciona cambiando la batería que alimenta el reloj de tiempo real.
En los ordenadores modernos es posible que el sistema operativo ignore al reloj de tiempo real y consulte directamente al servidor de hora en red.