мне было поручено запустить наше программное обеспечение Windows только на дистрибутиве Linux. Поэтому я решил запустить его на wine на Ubuntu 18.04. Ubuntu из сетевой установки, поэтому у меня в значительной степени нет ничего, кроме X11, openbox, и я настраиваю все через xterm.
на Windows, наше программное обеспечение получает время от нашего оборудования (работает на IRIG-B от GPS satallite) и изменяет системное время, так что компьютерное время и время оборудования синхронизированы. Программное обеспечение проверяет и пытается это каждые 5 минут.
я оставил программное обеспечение работает на вино в выходные дни с wine "path"
Не отрывая процесс от xterm, и когда я вернулся, я заметил, что я получил кучу этих сообщений в xterm, каждые 5 минут или около того:
err:ntdll:NtSetSystemTime Cannot set time to Mon Jun 18 09:49:19 2018
, time adjustment -3153: Operation not permitted
поэтому я проверяю источник вина NtSetSystemTime
и посмотрите, что это обертка для settimeofday
. Так я смотрю man страницу settimeofday
и там написано, что требуется CAP_SYS_TIME
. Так Я setcap
С cap_sys_time+ep
на wine-stable
, wineserver
, и исполняемый файл программы, но он не работает.
я пробовал комбинацию +ep
,+ei
и +eip
, но это тоже не работает. Я выключил NTP с помощью timedatectl set-ntp 0
и пробовали настройку set-local-rtc
ВКЛ и выкл.
я также попытался изменить системное время примерно на 10 минут, чтобы узнать, изменит ли оно его, но это тоже ничего не раскрыло.
у меня закончились вещи, чтобы попробовать. Что мне здесь не хватает? я просто нужно мочь получить, что програмное обеспечение изменило системное время.