The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Решение проблемы со шрифтами в Steam после выставления времени после 2038 года
Некоторые игры позволяют получать достижения если не запускать игру несколько
лет, например,  The Stanley Parable содержит достижение, активируемое после 5
лет неактивности, а Ultra Deluxe - после 10. Для получения указанных бонусов
обычно переводят часы на необходимое время вперёд, запускают игру для фиксации
достижения и возвращают время назад.

Проблема в том, что если время изменено на момент после 2038 года, подобная
манипуляция приводит к смене в интерфейсе Steam шрифта, и выставленный шрифт
может оказаться экзотическим, что мешает восприятию информации.

Указанный эффект связан с отсутствием в некоторых приложениях, и в частности в
fontconfig, поддержки корректной работы после 2038 года из-за переполнения
32-разрядного типа данных  time_t. Наличие проблемы выражается в выводе
сообщения об ошибке "Value too large for defined data type" при запуске
fontconfig в случае наличия файлов с датой доступа после 2038 года.

   $ stat /etc/fonts/conf.d/*|grep 2040
   Access: 2040-11-22 00:00:04.110328309 +0100
   Access: 2040-11-22 00:00:04.110328309 +0100
   Access: 2040-11-22 00:00:04.110328309 +0100
   ...

Для решения проблемы следует поменять ушедшее в будущее время доступа на текущее:

   sudo mount -o remount,strictatime /
   sudo mount -o remount,strictatime /home
   sudo find / -newerat 2038-01-19 -exec touch -a {} +
   sudo mount -o remount,relatime /
   sudo mount -o remount,relatime /home

Перемонтирование с опцией "strictatime" необходимо так как по умолчанию при
монтировании используется опция "relatime" при которой время доступа меняется
только если обращение произведено позднее уже выставленного для файла времени доступа.
 
20.11.2022 , Источник: http://blog.pkh.me/p/35-investigati...
Ключи: font, time, 2038, steam, bug / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Установка и синхронизация времени

Обсуждение [ RSS ]
  • 1.1, Аноним (1), 18:50, 20/11/2022 [ответить]  
  • +9 +/
    > Указанный эффект связан с отсутствием в некоторых приложениях, и в частности в fontconfig, поддержки корректной работы после 2038 года из-за переполнения 32-разрядного типа данных time_t.

    Это баг fontconfig, и он должен решаться исправлением в fontconfig. Причём уже сейчас, до 2038 всего-ничего.

     
  • 1.3, Аноним (-), 22:10, 23/11/2022 [ответить]  
  • +/
    Готовите сани летом? За 18 лет вперед? Похвально!
     
     
  • 2.4, Аноним (4), 19:48, 26/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тут всё описано - https://en.wikipedia.org/wiki/Year_2038_problem
     
     
  • 3.6, Аноним (-), 20:42, 27/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А вы точно уверены что в 2038 будет актуальна именно вон та проблема? Хорошо знать все наперед, на 20 лет.
     

  • 1.5, Alex (??), 08:00, 27/11/2022 [ответить]  
  • –3 +/
    Сейчас 2022 год, если нужно ачивки 10 лет - выстави 2033г и не парься. Почему именно 2038 выставлять ставь уже 3030г ?
     
  • 1.7, Иван_Лох (?), 11:37, 05/12/2022 [ответить]  
  • +/
    А faketime недостаточно?
     
  • 1.8, Neon (??), 21:18, 08/12/2022 [ответить]  
  • +/
    Какой маразм))). Ну какая связь между временем и шрифтами ?! Разработчики, вы, вообще, кукушкой поехали ?!)))
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру