Escandalosamente sucio, pero funciona perfectamente
... es el guión a continuación.
Probé que se ejecute Firefox, abriendo el sitio AsUbuntu, a continuación, de forma automática , pulse en el enlace para abrir la página de perfil. Dado que su contraseña se almacena en su navegador, en su caso presionar el botón es suficiente para iniciar sesión.
Cómo funciona en la práctica
15 segundos después de iniciar sesión (su cuenta de usuario de Ubuntu), el script:
- abre firefox
- espera a que aparezca la ventana
- se mueve a la url que definiste
- mueve el mouse a las coordenadas del botón y presiona el botón
La secuencia de comandos
#!/usr/bin/env python
import subprocess
import time
# --- set the link below
url = "http://askubuntu.com"
# --- set the mouseposition to click on below
xmouse = 858; ymouse = 166
# --- don't change anything below
appcommand = ["firefox", url]
def run(cmd):
subprocess.Popen(cmd)
time.sleep(0.2)
def get(cmd):
return subprocess.check_output(cmd).decode("utf-8").strip()
def run_firefox():
run(appcommand)
while True:
time.sleep(1)
try:
pid = get(["pgrep", "firefox"])
except subprocess.CalledProcessError:
pass
else:
time.sleep(0.1)
w = [l.split()[0] for l in get(["wmctrl", "-lp"]).splitlines() if pid in l][0]
break
return w
w = run_firefox()
cmd1 = ["xdotool", "windowsize", w, "100%", "100%"]
cmd2 = ["xdotool", "mousemove", str(xmouse), str(ymouse)]
cmd3 = ["xdotool", "click", "1"]
for cmd in [cmd1, cmd2]:
run(cmd)
time.sleep(3)
run(cmd3)
Como instalar
El script necesita ambos wmctrl
yxdotool
sudo apt-get install xdotool wmctrl
Copie el script en un archivo vacío, seguro como run_login.py
Ahora la parte más complicada:
- abra su navegador vaya a la página para iniciar sesión
- coloque el mouse sobre el botón a presionar (no presione)
- presione Ctrl+ Tpara abrir una terminal
- escribe el comando
xdotool getmouselocation
lea las coordenadas y configúrelas en la sección principal del guión:
xmouse = 856; ymouse = 165
configura la url de tu página de inicio de sesión:
url = "http://askubuntu.com"
Prueba: ejecútelo (sin la ventana ff abierta) con el comando:
python /path/to/run_login.py
Si todo funciona bien, agréguelo a Aplicaciones de inicio: Tablero> Aplicaciones de inicio> Agregar. Agrega el comando:
/bin/bash -c "sleep 15 && python /path/to/run_login.py"
Nota IMPORTANTE
Dado que se hace clic en el botón en la página por sus coordenadas , solo funcionará mientras la distribución de la página no cambie. En caso de cambios, debe redefinir la ubicación, como se establece en el encabezado del script.