lunes, 30 de julio de 2012

Usando el PC como servidor de contenidos (II)

En el anterior post, os indiqué como encender el ordenador, ahora os voy a enseñar un par de trucos para apagarlo.

En windows, para apagar un equipo o suspenderlo (que es lo recomendado para que arranque rápido y usarlo como servidor de contenidos), lo normal es conectarse por el terminal remoto y apagarlo. Cosa que es un coñazo, sobre todo si lo quieres hacer desde el móvil (doble coñazo).

Para suspenderlo de manera que sólo nos cueste un par de clicks desde el móvil o una linea de comando hay que hacer los siguiente:

  1. Crear un script para suspenderlo, crearos un fichero que se llame "suspender.bat" en la raíz del disco C:, y poner lo siguiente:
    Rundll32.exe Powrprof.dll,SetSuspendState Sleep

    Con esto cada vez que lo ejecutéis se suspenderá el equipo.
  2. Ok, esto es muy bonito, pero ¿como lo invoco de manera remota? Bueno, esto es un poco más difícil ya que windows no permite conectarse a la linea de comando de una manera "sencilla", cosa que los linux si. Para ello utilizaremos un programita que nos permite tener la linea de comandos de windows de manera remota, segura y gratuita. Este programa es freesshd:




    Esta maravilla de programa os permite tener un acceso SSH a la linea de comandos de windows.
    Pegaros un poco con el progama y configurarlo como un servicio de windows, para que esté siempre corriendo. A partir de ahora podréis ejecutar el script de suspension desde un terminal putty o desde un móvil android.
  3. Una vez que tenemos el servicio de ssh en el windows, podéis conectaros a la linea de comandos usando putty, y para apagarlos simplemente poner "C:\Suspender.bat" en el terminal y veréis como se suspende. Para encenderlo de nuevo usar el método de WOL que os dí en el post anterior.
  4. Para apagarlo con un par de clicks desde el móvil instalaros una app que se llama "Lazier Geek":

    https://play.google.com/store/apps/details?id=com.pburton.laziergeek&hl=es
  5. Una vez instalado crearos una actividad para apagar vuestro PC, seria como la siguientes:

Pero en vez de "/sbin/poweroff" sería "C:\Suspender.bat"

Ahora podéis encender / apagar el equipo de manera remota.

Para muestra un botón:


En el siguiente post, os enseñaré aplicaciones que nos permitirán compartir los contenidos de nuestro PC de manera centralizada.

Au revoir!









17 comentarios:

  1. Muy interesante! Podrías especificar un poco mas los detalles de la configuración? Creo colocar los datos correctamente y me dice action failed!

    ResponderEliminar
  2. Olvide mencionar que uso Ubuntu 12.10 y Android 2.3.5!

    ResponderEliminar
  3. Hola Manuel,
    En principio ubuntu, para hacer el apagado no usa /sbin/poweroff, tienes que usar los siguientes comandos:
    pmi action suspend
    Para suspender, o para apagar
    sudo shutdown -h now

    Ya me cuentas.

    ResponderEliminar
    Respuestas
    1. hola amigo disculpa la ignorancia pero si apago la pc de esta forma puedo prenderla normalmente o neceesito hacerlo con el mismo programa

      Eliminar
    2. Puedes encenderlo normalmente, no necesitas ningún programa adicional.

      Eliminar
  4. Hola, hago todo como lo pone, pero se me queda aplicando la accion el celular y no ocurre nada. el puerto que he de poner en el celular es el mismo que puse en freesshd? osea 2222? hay que poner usuario y contraseña?

    ResponderEliminar
  5. Efectivamente, tienes que usar el mismo puerto que pusiste en el freesshd, y además tienes que dar de alta un usuario, mira en la pestana "Users", al usuario que des de alta tienes que darle permisos para acceder mediante SSH.
    Este usuario lo puedes crear en freesshd o usar uno que tengas de sistema operativo.

    ResponderEliminar
  6. Una pregunta bro... ¿Qué pongo en Host? ¿mi ip local (LAN)? O sea el que uso en mi computadora siempre \\XXX.XXX.XXX.XXX\

    Gracias de antemano...

    ResponderEliminar
    Respuestas
    1. Si, la ip local de tu equipo, pero sin las barras "\", sería así:
      xxx.xxx.xxx.xxx
      Por ejemplo: 192.168.1.2

      Eliminar
    2. No me saleee :/ Jajaja... Name, nombre de mi PC, cualquiera; HOST mi ip sin las barras \\, Puerto: 22, User: "Mi usuario de mi PC" o sea lucho, le puse la contraseña y el comando C:\suspender.bat

      Y no pasa nada... el programa lo tengo configurado exactamente como lo tenes vos y tengo toda la configuración para apagar y prender desde la red, es más si la puedo prender a la PC con el Wake On... Pero no logro apagarla/suspenderla... ¡Ayudaaa!

      Gracias por responder :)

      Eliminar
    3. Y el comando para apagar la PC desde un .bat es:

      shutdown -s -t 2

      Eliminar
    4. Hola Lucho, creo que tu problema viene por la configuración del freesshd. Mira en la configuración, hay una pestaña para el tema de network, comprueba que la IP es la correcta, por defecto usa localhost (127.0.0.1), que está mal, así que deberías cambiar la que pone por defecto a la IP que tiene el pc en tu red local. También comprueba que creas un usuario en la pestaña users.

      Eliminar
    5. La pestaña es SSH, y verás que pone "127.0.0.1 (Only localhost)", selecciona el desplegable y selecciona la IP de tu PC que corresponde a la red de tu casa.

      Eliminar
  7. hola Alex, gracias por tu aporte, me funcionó muy bien lo de la apagada, sin embargo quiero preguntarte si esto también es aplicable para computadoras Mac? es decir, todo eso del script y el FreeSShd, si es diferente como sería?

    ResponderEliminar
  8. Los sistemas operativos para MAC están basados en unix, así que tienen servicio de ssh embebido, no es necesario instalar programas de terceros. Eso si, el acceso ssh lo tienes que configurar, busca en google o usa la siguente dirección:
    http://themacadmin.com/2009/03/20/script-enable-ssh-limit-to-admin-group/

    El comando para apagarlo sería:

    sudo shutdown -h now

    Saludos!

    ResponderEliminar
  9. Me podrias ayudar resulta que tengo Windows 8 e instale el freeSSHd pero en la opcion de Server status ambas opciones estan desactivadas y cuando hago Click para activarlas me dan Error.

    Saludos Y Gracias!

    ResponderEliminar
    Respuestas
    1. Cuando hagas la instalación de freeSSHd, en vez de hacer doble click en el instalado, pulsa botón derecho, y seleccióna "Ejecutar como administrador", si no lo haces así, no tendrás permisos para instalar todas las opciones.

      Eliminar