J'aimerais pouvoir garder l'ordinateur en veille pendant certaines activités et des tâches plus longues, telles que le téléchargement de fichiers plus volumineux et la visualisation de vidéos en plein écran.
J'aime utiliser la caféine pour empêcher l'ordinateur de dormir en empêchant l'affichage de dormir. Cela a bien fonctionné pour moi sur mon mac, mais cela ne fonctionne pas dans Ubuntu.
Comment puis-je faire ceci?
Je ne sais pas pourquoi la caféine ne garde pas votre ordinateur en veille. Je suppose que c'est parce que le temps d'inactivité sur Ubuntu est équivalent à le temps pendant lequel aucune activité utilisateur n'est détectée via le clavier ou la souris.
Si vous cherchez une solution pour garder votre ordinateur éveillé comme le fait la caféine (devrait le faire), la solution ci-dessous devrait fonctionner. Je l'ai testé le 14.04. Il existe deux petits scripts que vous devriez stocker ensemble dans un même dossier. Vous pouvez l'activer ou l'activer avec une combinaison de touches. Une fois que vous appuyez dessus, il affichera l'état actuel dans un message:
ou:
Il existe essentiellement un petit script en arrière-plan qui simule une action utilisateur mineure (touche Ctrl) si le temps d'inactivité dépasse un laps de temps défini, empêchant ainsi l'ordinateur de s'endormir ou de masquer l'écran. La pression de touche en elle-même n'a pas de sens et n'a aucun effet sur la lecture de vidéos en plein écran.
Vous devez avoir installé xprintidle
et xdotool
:
Sudo apt-get install xprintidle xdotool
(inotify-tools
devrait être installé par défaut sur bunt, pourrait ne pas être le cas sur Xu- ou Lubuntu)
Le script ci-dessous consiste à activer/désactiver, copiez-le dans un fichier vide, enregistrez-le sous le nom insomnia.py
(conservez le nom tel quel!) Et rendez-le exécutable (!)
#!/usr/bin/env python3
import os
import subprocess
script_dir = os.path.dirname(os.path.abspath(__file__))
try:
pid = subprocess.check_output(["pgrep", "-f", "caf.py"]).decode("utf-8").strip()
subprocess.Popen(["kill", pid])
subprocess.Popen(["notify-send", "Computer doesn't stay awake..."])
except:
subprocess.Popen(["/bin/bash", "-c", script_dir+"/"+"caf.py"])
subprocess.Popen(["notify-send", "Computer stays awake..."])
caf.py
(conserver le nom tel quel!) Et à le rendre exécutable (!)#!/usr/bin/env python3
import subprocess
import time
seconds = 120 # number of seconds to start preventing blank screen / suspend
while True:
curr_idle = subprocess.check_output(["xprintidle"]).decode("utf-8").strip()
if int(curr_idle) > seconds*1000:
subprocess.call(["xdotool", "key", "Control_L"])
time.sleep(10)
Il est important de garder les deux scripts dans le même dossier!
Ajoutez maintenant un raccourci clavier pour activer et désactiver votre remplacement de caféine: "Paramètres système"> "Clavier"> "Raccourcis"> "Raccourcis personnalisés"
Ajoutez la commande:
/path/to/insomnia.py
Pour une combinaison de touches de votre choix
C'est ça.
Vous pouvez également utiliser les quelques solutions de script ici qui, à mon avis, sont plus intelligentes car elles déterminent l'activité en fonction de l'activité du réseau ou de la modification de la taille d'un dossier.
Par exemple, si vous souhaitez garder l'ordinateur en veille pendant qu'un client de sauvegarde ou torrent fonctionne, utilisez la deuxième solution dans le lien par dhiya. Il vérifiera le trafic réseau et le gardera éveillé jusqu'à ce que le trafic s'arrête. Rappelez-vous simplement de remplacer "wlan0" par "eth0" dans le code si vous utilisez Ethernet et non le réseau local sans fil.
UPDATE 17/09/2015: J'ai modifié le code de dhiya à partir du lien situé en dessous pour que le système reste actif en fonction du trafic réseau ou de l'activité de l'utilisateur et pour forcer une suspension harmonieuse. si la session de bureau se termine dans l'écran de verrouillage/connexion sans trafic réseau. Le programme enregistre tout dans un fichier journal. Config a également été fourni pour gérer le fichier journal. J'ai nommé le programme "Keep Awake".
En utilisant le script très utile de Jacob Vlijm comme point de départ, je l'ai transformé en une application à part entière avec des options de configuration, une connaissance de la batterie, etc.
Vous pouvez prenez-le sur GitHub . Aucune installation n'est nécessaire. Juste:
.tar.gz
et extrayez les fichiers (ou clonez la branche principale si vous êtes un utilisateur git) à l'endroit où vous souhaitez installer l'application. Le fait de l'avoir sur votre $PATH
n'est pas nécessaire .Installez les dépendances:
Sudo apt install xdotool xprintidle
Si vous utilisez un ordinateur portable, vous voudrez également acpi
.
sleep_inhibit
.cleanup.py
, en vous assurant de répondre par l'affirmative à toutes les questions. Supprimez ensuite le répertoire et toutes les traces disparaîtront.