lunes, 15 de abril de 2013

Kubuntu Linux: Imposible corregir la hora para el horario de verano

Desde que entró el horario de verano, la hora de mi sistema siempre marca una hora menos de la que es.
Por más que yo cambie la hora de forma manual, cada vez que cierro sesión, cuando vuelvo a iniciar me retrasa la hora en 60 minutos.



A continuación os mostraré una serie de cosas que he probado y que no me han funcionado para finalmente ver cómo lo he resuelto.




0. La pila del sistema NO está agotada


Lo primero que uno piensa cuando detecta problemas con la hora es justo eso, que la pila del sistema está agotada. Pero no es el caso. El sistema conserva la fecha y la hora perfectamente, solo que, no sé por qué, la retrasa automáticamente exactamente 60 minutos cada vez que inicio sesión




1. Módulo de control de fecha y hora de KDE [no soluciona]


Por más que corrija la hora en el módulo de control de KDE, no soluciona el problema. Cuando inicio sesión vuelve a poner 60 minutos menos.


2. Hora.es [no soluciona]


El servicio de hora Hora.es me ha dado una pista de que algo no está bien en el sistema, ya que me marca una hora menos de la que realmente es en Canarias. Sin embargo, si busco la ciudad de Santa Cruz de Tenerife manualmente, sí que indica perfectamente la hora que es aquí.

Es como si Hora.es esté detectando en mi sistema una zona horaria diferente a la que estoy.


3. Establecer zona horaria en modo gráfico [no soluciona]

De modo que abro el módulo de configuración horaria de Kubuntu y establezco que estoy en las Islas Canarias.


Y compruebo que lo tenía perfectamente, y aún cambiándolo, en Hora.es me sigue cogiendo otra zona horaria, ya que marca una hora menos de la que realmente es.




4. Hora del sistema frente a hora de la Bios: hwclock [no soluciona]

Navegando por internet descubro que Linux calcula la hora del sistema en base a la zona horaria y a la hora hardware, es decir, la hora de la BIOS.

El comando hwclock nos permite cambiar la hora de la bios desde una consola.

sudo hwclock --systohc



Este comando toma la hora que tengamos ahora mismo en el sistema y la vuelca a la BIOS


sudo hwclock --set --date "2013-04-15 09:17"
Este comando establece manualmente la hora de la BIOS

Ni uno ni otro resuelven el problema.
Cada vez que inicio sesión, se vuelve a atrasar 60 minutos



5. Establecer zona horaria en modo consola [no soluciona]

Pruebo a cambiar la zona horaria desde consola. En este tutorial nos explican cómo cambiar la zona horaria en Linux desde consola: http://www.muylinux.com/2010/02/27/cambiando-tu-timezone-en-linux/

/etc/localtime es un enlace a nuestra zona horaria, que debe apuntar a una de las zonas horarias que existen en /usr/share/zoneinfo

Lo he modificado para que apunte a /usr/share/zoneinfo/Atlantic/Canary, y con esto tampoco funciona.
Además, aunque lo cambie, cuando entro en Hora.es sigue habiendo el mismo problema, me marca una hora menos de la que realmente es. Es como si Hora.es no detectara bien mi zona horaria.



6. Cambiar la hora en la BIOS [no soluciona]

He probado a entrar en la Bios, de mi ordenador, y poner la hora correctamente (que de hecho estaba bien), y tampoco funciona.


Una y otra vez el sistema me retrasa la hora exactamente en 60 minutos de lo que yo ponga.



7. NTP: network time protocol [no soluciona]

He probado también vía NTP a actualizar automáticamente la hora del sistema a través de internet.
No he conseguido solucionar el problema




8. Reconfigurar tzdata [ahora sí]

Ejecutamos desde consola los siguientes comandos.

a. Establecemos manualmente la hora de la BIOS
sudo hwclock --set --date "2013-04-15 09:17"

b. Volcamos la hora de la BIOS al sistema operativo:
sudo hwclock --hctosys

c. Reconfiguramos la zona horaria:
sudo dpkg-reconfigure tzdata