GNU/Linux >> Tutoriels Linux >  >> Linux

Linux runasdate analogique

Ce que fait RunAsDate est le suivant :

RunAsDate intercepte les appels de l'API du noyau qui renvoie la date et l'heure actuelles (GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime) et remplace la date/heure actuelle par la date/heure que vous spécifiez.

Sous Linux, vous avez quelques options pour accomplir la même chose :

  1. Si vous pouvez obtenir une version Windows du programme, vous pourrez peut-être exécuter RunAsDate sous Wine (mais attention au bogue récent).

  2. Trouvez une bibliothèque wrapper pour faire cela, ou écrivez la vôtre. Certaines options sont données ci-dessous.

  3. Utilisez une machine virtuelle. C'est exagéré, mais comme un système d'exploitation dans une machine virtuelle invitée est complètement séparé de l'hôte sous-jacent, vous pouvez définir son heure système sur quelque chose de complètement différent. Il peut être plus rapide à configurer que les autres options.

L'option 2 peut être accomplie par différentes méthodes, selon ce que vous essayez d'exécuter. La réponse de DaveParillo ci-dessous renvoie à une approche DIY qui explique les différentes méthodes et inclut le code d'un exécutable. Certaines autres options incluent :

  • datefudge , disponible dans les dépôts Debian/Ubuntu et ailleurs.

  • Module perl Time-Fake, également dans les référentiels Debian en tant que package libtime-fake-perl .

  • Bibliothèque de préchargement FakeTime (alias libfaketime , lien freshmeat), une bibliothèque qui peut intercepter les appels système dans des binaires liés dynamiquement. Disponible dans les dépôts Debian pour Squeeze et Sid.


J'ai eu le même problème pour trouver une alternative à RunAsDate dans Linux Ubuntu, et je suis venu à cette solution.

J'ai créé un lanceur du programme que je veux utiliser avec RunAsDate. Si le logiciel que vous souhaitez utiliser s'appelle Foo, créez un fichier sur votre bureau appelé Foo.desktop et modifiez-le à l'aide de gedit ou d'un éditeur de texte similaire. Ajoutez-y ensuite les lignes de code suivantes :

[Desktop Entry]
Name=Foo
Comment=Runs the Foo application
Exec=sh -c "sudo date --set '01 Jan 2008 12:00:00'; path/to/Foo; sudo timedatectl set-ntp no; sudo timedatectl set-ntp yes;"
Icon=path/to/icon.png
Terminal=true
Type=Application
StartupNotify=true

Il vous suffit de modifier les informations Nom, Commentaire et Icône avec vos ressources réelles.

L'option Exec modifie la date système de la session pendant que vous utilisez l'application, puis lorsque vous avez terminé, resynchronisez automatiquement la date système.


Linux
  1. Comment vérifier le fuseau horaire sous Linux

  2. 8 exemples de commandes Quick Date sous Linux

  3. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  4. Linux Mint 19 - Date de sortie, nouvelles fonctionnalités et plus

  5. Linux – Comment trouver la date de création du fichier ?

11 Exemples de commandes de date Linux utiles

Comment définir la date et l'heure sous Linux

7 exemples de commande de date sous Linux

Linux date Exemples de commandes

12 exemples de commandes de date Linux utiles

Comment garder Rocky Linux 8 à jour