Ir al contenido principal

Manejar tu celular desde la pc por completo o tu televisor con Debian

 En los inicios la mierda de google daba todo a windos, IRONICO QUE ANDROIT SIENDO LINUX NO TUVIERA COMO ADMINISTRARLO DESDE LINUX

.. pero gracias a la comunidad Y RECALCO QUE NO IMPORTA SI EL CODIGO ES ASQUEROSO (ya que muchos critican a Xlibre o X11libre) muchos de las soluciones para ADB y manejar androit remoto son codigo fuente asqueroso pero funciona! Funciona para Telefonos y Televisores.




Hay muchas opciones, la mas famosa es scrcpy puesto es la mas simple y la mas eficiente, sin embargo es sin interfaz gráfica, la segunda mas famosa es qtscrcpy la cual es basada en la primera pero es mas pesada obviamente aunque llena de muchos mas características como manejar al mismo tiempo varios teléfonos.




MENCIÓN ESPECIAL esta https://github.com/yangh/sevensquare el cual usa QT4/QT5 ideal para versiones viejas de Debian aunque eso implique usar ADB como un binario bajado desde google o provisto desde el scrscpy.

ADVERTENCIA PARA TODOS TUS TELEFONOS


Siempre siempre debes activar el adb en tu telefono, gastara mas bateria pero es imprescindible activar esto desde el inicio, ya que ayudara a manejarlo aun si tu telfono se bloquea o se pierde su modo de acceso.

El modo ADB en los telefono lo que hace ADB es permitir enviar el video y el audio (y permitirlo por cualquier medio sea cable o red ya que para depurar se debe ver todo). La recepción de teclado y raton (emular que manejas el telefono) esta activada por defecto y se puede usar con scrscpy sin tener que activar el modo ADB o el modo USB de depuracion del telefono.

Es decir un telefono se puede controlar remoto si no se quiere ver el video en la pc Linux. Por lo tanto, es posible ejecutar scrcpy solo con la simulación física del teclado, mouse y gamepad, como si el teclado, mouse y gamepad de la computadora estuvieran conectados directamente al dispositivo a través de un cable OTG. Este modo OTG es solo funcional usando cable USB.

PARTE 1 TENER ADB en ambas partes telefono y linux

PASO 0 ACTIVAR ADB en el telefono


Para conectarte a un dispositivo o teléfono real mediante adb, debes activarlo en el telefono asi:

  1. Ve a Ajustes > Acerca del teléfono, sino ve a Ajustes > Sistema> Acerca del dispositivo, LA idea es buscar la parte donde esta el numero de compilacion o Build number o Build release.
  2. Alli pulsa Número de compilación siete veces hasta que aparezca una ventana emergente indicando que te has convertido en desarrollador. El número de compilación puede estar en el menú "Información del software" en las versiones más recientes del sistema operativo Android.
  3. Luego, ve a Ajustes > Desarrollador >  o Ajustes > Sistema > Opciones Desarrollador y actívala.
  4. Alli en el modo desarrollador debes navegar hasta encontrar la opcion de Depuración USB. Antes de activarla mostrara una advertencia. Esto obviamente implicara un mayor desgaste de bateria y mayor consumo de recursos por lo que en telefonos viejos implicara una carga severa.


ADVERTENCIA ADICIONAL:  una opción adicional USB debugging (Security Settings) (diferente de USB debugging) es necesaria para controlarlo con el teclado y el ratón. Una vez activada esta opción, deberá reiniciar el dispositivo. Esto ocurre especialmente en dispositivos nuevos y los telefonos Xiaomi.

PASO 1 INSTALANDO Y ACTIVANDO ADB en el linux


En arch esto es sin cuidado, ya que arch es distro de modas estupidas estara 100% actualizado el ADB.

apt-get install -t $(lsb_release -sc)-backports adb

Esto servira para Debian desde debian 10, ya que ADB sirve desde la version 20 para cualquier dispositivo.

Si esta en debian 12 o superior debera instalar un paquete extra y el comando entonces cambia asi:

apt-get install -t $(lsb_release -sc)-backports adb adbd

Esto servira para Debian desde debian 12, ya que ADB ahora separa tanto el clinete como el servicio e incluye un emulador de telefono por defecto.

PASO 2 INICIANDO Y DEJANDOLO ACTIVO ADB

Antes de seguir los dos pasos previos deben estar, especialmente en el teléfono dejar activo el ADB mediante el developer mode.

ADB es un ejecutable como servicio, inicia a demanda por el usuario, lo que significa que si este no esta en el grupo correcto (USB, adbusers) este programa no permitirá acceder al dispositivo si ejecuta como root. El programa puede arrancar (de hecho lo hace) como usuario y se queda ejecutando una vez se pide algún proceso a este.

NOTA se propuso crear un archivo unidad de servicio pero los usuarios de arch falsamente creen en un minimalismo que no existe, y fue rechazado.. https://bugs.archlinux.org/task/46121 aunque ciertamente con solo agregarse al grupo basta y sobra ya que el programa se ejecuta en el espacio de usuario si este puede acceder al teléfono de manejar normal según los grupos.

Una vez instalado agregarse al grupo de usuarios de ADB asi como al de input y usb asi (recordemos que debemos usar general como username en buen estándar):

usermod -a -G adbusers,input,storage,power,wheel general

Lastimosamente debera salir y volver entrar en la sesión grafica no importa si usa Wayshit o Xlibre, para que esto tenga efecto.

Una vez reiniciada la sesion activar el servicio de ADB asi:

adb kill-server
adb start-server

PASO 3 CONECTAR EL TELEFONO


Despues conectar el telefono, este la mayoria de las veces no ajusta automatico a MTP el protocolo asi:

  1. Debe ir a Configuracion > Dispositivos conectados o Settings > Conected Devices 
  2. y en la parte que dice Dispositivos USB 
  3. cambiar a protocolo de transferencia de archivos o sino Protocolo MTP para que se pueda comunicar. 
  4. Una vez realizado esto pedira que se confie siempre en este dispositivo debe marcar el check box y aceptar la firma de emparejamiento.



Una vez emparejado ya se puede realizar siempre este proceso sin tanto pasos, solo conectar el cable y listar, para ello ya has iniciado previamente el programa de ADB y puedes listar si detecta el dispositivo asi:

adb devices

Si el dispositivo no esta emparejado mostrara una palabra que dira unauthorized, y entonces hay que en ese telefono volver repetir el proceso de coneccion MTP y despues permitir USB debugging por emparejado como muestra la pantalla de Siempre aceptar en el paso 5 anterior.

Si todo sale bien dira "device" y ya esta listo para usarse. Obviamente los comandos de ADB no los vamos usar esto es el siglo 21 asi que vamos a herramientas como  scrcpy o qtscrcpy



ACCEDER Y MANEJAR AL TELEFONO

Una vez listado podemos ejecutar la unica herramienta que importa a un linuxero, una terminal en el OS del dispositivo:

adb -s 0123456789ABCDEF shel

Notese que la parte importante aqui es "-s 0123456789ABCDEF" que indica que dispositivo se usara de los conectados. Sin esto solo resulta en un error si hay mas de uno, el resultado es una shell linux del dispositivo:



Configurar para que siempre se conecte como MTP y al mismo tiempo cargue

Una contrariedad que siempre debamos ir al telefono y configurar modo USB MTP de la conexcion, para ello podemos forzarla desde el ADB con un comando de shell:

adb -s 9090018019002951 shell svc usb setFunction mtp

Ahora cada vez que se conecte el telefono tendra el modo USB MTP y al mismo tiempo cargara la bateria.

PARTE 2 USAR UNA HERRAMIENTA CON EL ADB

Hay muchas opciones, la mas famosa es scrcpy puesto es la mas simple y la mas eficiente, sin embargo es sin interfaz gráfica, la segunda mas famosa es qtscrcpy la cual es basada en la primera pero es mas pesada obviamente aunque llena de muchos mas características como manejar al mismo tiempo varios teléfonos. La otra mas simpel y super compatible es androidscreencast-bin en AUR de Arch linux.

PASO 4 instalar scrcpy

Esta es la mas madura, desarrollada y completa, pero solo se usa con linea de comandos su configuracion, eso si una vez iniciada tienes total control del telefono. En arch esto es sin cuidado, ya que arch es distro de modas estupidas estara 100% actualizado. Como root ejecuta lo siguiente:

wget https://github.com/Genymobile/scrcpy/releases/download/v3.3.1/scrcpy-linux-x86_64-v3.3.1.tar.gz
tar -xvzf scrcpy-linux-x86_64-v3.3.1.tar.gz
mv scrcpy-linux-x86_64-v3.3.1 /opt/scrcpy
rm /opt/scrcpy/adb*

El telefono debe ser minimo Androit 5.0 en adelante. Si tienes un televisor Smartv tambien te funcionara.

Una vez activado el ADB como se indico en todos los pasos y conectado el telefono con USB iniciamos el progama con estos parametros (asumiendo tu pantalla linux es minimo 1024x768 o mayor) asi:

ADB=/usr/bin/adb /opt/scrcpy/scrcpy -m800 -s 0123456789ABCDEF

Esto iniciara en 800 pixeles la altura, y selecciona el telefono usando el serial, recordemso el paso de instalacion y use de ADB de porque se usa este parametro si hay mas de un telefono. Esto no es la mejor calidad de video y audio pero no es para nada la peor y la rotacion de la pantalla es automatica segun coloques el telefono:


Tenga en cuenta que estos parámetros son los mas compatibles respecto los mas avanzados, puede usar h265 para mejor calidad de la pantalla así como activar mayor resolución y mayor tasa de transferencia pero eso pedirá mas recursos de su teléfono y de su tarjeta de video ya que se requiere Opengl y soporte 3d activo en linux.

Ana vez activo y funcionando para los botones del medio es "click medio" o sino "super+h", y para el retornar es "click derecho" o "super + b". Un click derecho activa la tecla de encendido del telefono.

USO GENERAL Y REDES La siguiente linea de comandos es mejor para manejar redes sociales que no impliquen alta demanda de video manejándolas en tu telefono desde la pc, lo mantiene activo que este siempre conectado:

adb shell settings put global stay_on_while_plugged_in 7

scrcpy -m1024 -w 
--audio-codec=flac --audio-bit-rate=96K  --audio-buffer=80 --audio-output-buffer=7 --video-codec=h264 --video-bit-rate=6M --keyboard=uhid --mouse=sdk --max-fps=30

VIDEOJUEGOS: estos necesitan que tengas coneccion por USB buena en puerto 3.0, ademas tu pc debe tener la tarjeta de video decente ya que si es integrada el sonido se vera afectado. Ademas el telefono debe tener minimo androit 9 para que active los codecs mejorados.

scrcpy -m1024 -Sw --audio-codec=aac --audio-bit-rate=128K  --audio-buffer=70 --audio-output-buffer=7 --video-codec=h264 --video-bit-rate=10M --keyboard=uhid --mouse= --no-key-repeat --max-fps=60

PASO 5 instalar adbmanager interfaz grafica

Este simplemnente es una interfaz avanzada de el otro. Este programa no es para manejarlo graficamente remoto, es para administrar el dispositivo y esta hecho en el gran GTK2 y funcinoa muy bien. Ejecutar como root asi:

wget https://github.com/AKotov-dev/adbmanager/releases/download/v3.4/adbmanager_3.4-0.mrx9_amd64.deb
dpkg -i adbmanager_3.4-0.mrx9_amd64.deb

El problema con este es que si usa USB solo puede tener un solo dispositivo, caso contrario debe especificar la conexcion por modo WIfi y configurar para usarlo por ip+puerto en la interfaz. No tiene ayuda ni parametros que configuren y su binario esta mal empaquetado. Sin embargo su interfaz es la mas avanzada graficamente.



CONCLUSION


En los primeros dispositivos la pantalla de aceptar el fingerprint para el modo usb no existia, por lo que en la mayoria de las distros asi como los telefonos viejos esto no servira. Si tiene un telefono viejo debera usar una distro Debian que aun tenga en Debian 9 o 10 o 11 el antiguo ADB desde los repos, este permite conectar hacia los androit que no use el ADB con aceptacion de firgerprint (la pregunta al conectar por primera vez el telefono en modo ADB.).

Adicional el programa hecho en qt no es tan impresionante mas que enviar por simples botones lo que hacemos en la linea de commandos la cual no es tan difícil incluso con solo invokar el comando del program original se levanta la sesion del telefono sin tanto que ver.

Pero lo mas estupido y que da ma rabia es que Androit esta hecho en linux y que nunca se le dio herramientas para conectarlo, solo en windos y la comunidad tivo que hacer lo de siempre.. hackearlos y despues se quejan las empresa porque las joden.


Comentarios

Entradas más populares de este blog

Zabbix monitorizacion y admnistracion de redes - introduccion

  Esta herramienta, Zabbix se centra en los hosts: por lo que es la opción correcta para monitorear redes distribuidas (se desarrolló originalmente para monitorear servidores). Zabbix también es administrador , y está listo para ipv6! Con un proxy como hombre en el medio y también con funciones para redes ocultas y con cortafuegos. En los casos en los que no existe la opción de instalar un agente, Zabbix ofrece una supervisión básica sin agentes. Con él, puede verificar la disponibilidad de los servicios de red, así como ejecutar comandos remotos, con esta introducción comenzamos una serie de publicaciones sobre el despliegue de Zabbix en alpine y / o debian linux, también para redes distribuidas. Entonces empezemos a entender a zabbix:

Actualizando debian (old)stable a debian (new)stable

Debian 11 fue lanzado, ahora le mostraremos cómo actualizar de cualquier Debian a cualquier Debian nuevo. Significa que puede actualizar cualquiera, por ejemplo, Debian 12 futuro a Debian 13 futuro, o inclusive oldoldstable a siguiente oldstable.

ostiket 1.9.X solucion a STARTTLS failed code: 220, response OK

  ..en osticket 1.12, 1.10 asi como 1.9 si tiene un sistema de corro fuertemente configurado.. y quiere conectarse localmente (es decir no necesitamos alta seguridad) la configuracion es imposible con localhost aun cuando su puertos estan 100% cerrados y es ILOGICO TANTA SEGURIDAD!!! El mas ilogico de sus problemas fue " oticket authentication failure [SMTP: STARTTLS failed (code: 220, response: Ok)] ",...

Errores de pam_mysql: símbolo my_make_scrambled_password y dlerror

. el viejo Linux siempre funciona, los más nuevos son una mierda, pero aquí estamos y debemos solucionar.. para que se arregle esa basura: pam_mysql simplemente no se carga en Debian, porque se mueve a "ubicaciones segura"s, además, viene con algunos problemas en Debian 7, Debian 8 y Debian 9 si usas diferentes versiones de Mysql / Mariadb. Aquí las soluciones simples y otras:

libretro viene y pronto estara en tu tv o telefono

Libretro es un multisistema como mame, pero enfocado a multimedia, es decir   no se extrañen pronto jugar viejos games o poner roms emuladores de play en su tv o bluray   player! porque libretro esta hasta para televisores!

bandeja de iconos e indicadores desaparecen con ayatana - Linux no es más GNU linux

En Alpine sabemos que todo es la vieja escuela, si intentas instalar en Alpine todo a mano, o en Debian a mano sin las recomendaciones activadas; en ambos casos, notaras que no apareceran los iconos en la barra de tareas! Si! tal cual sospechas, tiene que ver con una mierda windowisada y estandares! Si caiste de la mata con la inclusion de codigo Microsoft en el kernel, si la mierda ya huele con la invasion de shitstemd, te caeras y volveras a caer cuando te enteres que Canonical creo un estandar para el area de notificacion "que unifica todo los indicadores del sistema"! Si .. mas software que intenta tomar control unificado. Winlinux se acerca.. y no hacemos nada para proteger la libertad de diversidad que ofrecia linux! ! .

Diversidad de los Sistemas de Inicio en peligro en Debian afecta a otras distros

Una posible mancha ocupara la libertad de elección de usuarios avanzados para la distro madre: Debian; uno que respete la diversidad y la libertad de elección a nivel de «Sistemas de Inicio (Init), todo debido a la futura Resolución General del Proyecto DEBIAN sobre como la gran Distro Madre debe abordar la Diversidad existente sobre los Sistemas de Inicio. Resumiendo hay 3 resoluciones que eliminan las libertades de diversidad, dejando solo el "systemd", de allí el que mas gente odie a systemd, a todo esto se le denomina "un enfoque sano de PID1" en el argot técnico. Sus consecuencias: muerte/obstrucción al trabajo de otras distros mediante carga de trabajo extra debido a que solo existirá systemd: Devuan y MXLinux entre otras.

Tomando en cuidado optimizaciones para estupidos novatos

En general, los ignorantes y los lammers al compilar algo, en su mal conocimiento, simplemente siguen algunas palabras y obedecen las introducciones a la mala comodidad ... Si le preguntas a StackOverFlow, solo hay noobs que le darán respuestas incorrectas .. Verifiquemos este caso: ...

Telegram + Pidgin

Pidgin es el cliente de mensajeria mas versatil de todos, si bien no es el mas comodo (ya que en su inicio la interfaz es ajustada a IRC o XMPP) cumple con su objetivo, ahora la mejor de las mensajerias y sistemas de comunicacion Telegram puede usarse en Pidgin, aqui enseñaremos que es telegram y como se usa en pidgin para VenenuX y Debian/Devuan sin problemas.