2009-02-26 7 views
0

J'ai une connexion SSH à une machine Linux qui est mise en veille après un certain temps de non-activité.resume/suspendre enery star linux depuis la ligne de commande

Je veux le faire reprendre, comment je fais ça? (écrire à/dev/mouse pour simuler le mouvement de la souris n'a pas fonctionné)

+0

Comment pouvez-vous toujours avoir une connexion à une machine mise en veille prolongée? –

Répondre

3

Une machine qui hiberne ne peut pas sortir du mode veille sans appuyer sur le bouton d'alimentation, ou envoyer un paquet magique si l'adaptateur Ethernet a Wake Sur la capacité LAN (WOL) et la carte mère prend en charge cela. Les paquets WOL peuvent uniquement être générés sur le réseau local, et non à distance à partir d'autres réseaux.

-Adam

+0

mais si je suis root sur la machine - je ne peux pas simuler une telle activité? – akiva

+0

En veille prolongée, le processeur est HALTED, l'activité du bus est arrêtée. Comment vous attendez-vous à pouvoir exécuter n'importe quel code indépendamment de vos privilèges d'utilisateur? Êtes-vous sûr que la machine hiberne et n'est pas suspendue? –

+0

J'ai une connexion ssh ouverte à la machine. Je peux exécuter des programmes. il n'est définitivement pas arrêté – akiva

0

En plus de ce que Adam a déclaré, certaines cartes mères de divers réveil prennent en charge les états quand une alarme est déclenchée.

La clé ici est l'état auquel vous faites référence en tant qu'hibernation; Parlez-vous d'un mode extrêmement faible puissance dans le matériel, ou de l'hibernation logicielle où la mémoire centrale est écrite sur le disque et la machine est complètement éteinte? Si ce dernier, WOL est la seule possibilité; Si le premier, vous pouvez dire à votre carte mère de surveiller les interruptions de diverses sources et vous pouvez utiliser d'autres moyens pour déclencher un réveil.

Un bon point de départ pour lire is the Wake-On-LAN article on Wikipedia.

+0

1. le délai avant hibernation est configurable par logiciel, de sorte que je suppose qu'il * a * la possibilité de faire la même chose que root. en outre, comme je l'ai déjà dit - j'ai une connexion ssh active à la machine donc ce n'est pas complètement mort. WOL est désactivé sur cette machine – akiva

0

Pour accomplir WOL vous avez besoin d'un certain nombre de choses:

d'abord, vérifier le BIOS de la machine que vous vous réveillez pour voir si elle prend en charge WOL. Si c'est le cas, assurez-vous qu'il est allumé.

ensuite obtenir un programme qui peut envoyer des paquets WOL:

  • Dans linux: sudo apt-get install wakeonlan
  • Pour windows trouver un seul à télécharger en utilisant Google. Il y a probablement 100 applications différentes qui le font, je n'utilise pas Windows donc je n'en ai pas pour référence.

Si vous souhaitez recevoir des paquets WOL depuis l'extérieur de votre réseau local. Configurez votre routeur pour transférer le port 9 vers 255.255.255.255 (adresse de diffusion IP vers tous).

Pour des informations vraiment utiles sur le protocole WOL ainsi qu'un exemple de fichier de capture qui peut être chargé dans wireshark, see this article.