miércoles, 11 de octubre de 2017

ADB en debian


Modificar tu sistema android es una las mejores cosas que puedes hacer, amplias la capacidad de tu android y controlas mejor creo yo tu equipo.

Las herramientas de android están bien documentas en windows, pero en linux, si bien hay muha información, hay pocos tutoriales y mi objetivo hoy es traerles cómo usar adb en debian


1) instalar adb

en debian teclea

$
sudo apt-get install android-tools-adb

2) Instala usbutils (probablemente ya lo tengas instalado)

$
sudo apt-get install usbutils

3) Si puedes acceder a tu equipo (encendido) habilita el modo  desarrollador y modo de depuración.

Si tu equipo esta en un bootloop y tienes twrp como recovery, inicia en recovery


4) Determina el ID USB del dispositivo android

$

lsusb

5) la salida se debe parecer a


Bus 001 Device 008: ID 18d1:4ee2 Google Inc. Nexus 4 (debug)


5) configuramos

$
sudo  groupadd androiddev

donde puedes cambiar el nombre androiddev por el que gustes pero debes seguir usandolo en los siguientes comandos


6)
$

sudo usermod -aG androiddev javier


7) Crea un archivo como root

$
sudo pico /etc/udev/rules.d/99-android-debug.rules

y dentro del archivo escribe

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", GROUP="androiddev", MODE="0664"

donde id Vendor lo debes modificar del punto 5 D 18d1:4ee2


8)
$
exec su -l $USER

9)

$
sudo udevadm control --reload

$
sudo systemctl restart systemd-udevd.service

10)

$
adb devices

Si sale error y tu telefono está en twrp, en twrp ve a adb sideload, e inicia,

teclea nuevamente adb devices y debe ya parecer tu equipo

11) Descarga el zip que quieras flashear y teclea

$
adb sideload nombre_zip.zip

con ello podrás flashear toda la rom o algún zip, en mi caso fue por instalar xposed en android 7.1 nougat y un módulo me generói un bootloop, no tenía mi laptop con windows, sólo mi workstation con linux y tu ve que hacer estos pasos para recueprar el celular.

sería todo



miércoles, 9 de agosto de 2017

Proteger tus ojos en debian

Hola,

Hace tiempo que soy usuario de xflux, para proteger los ojos de la luz azul, sin embargo, en debian testing (9 y 10), no había podido correrlo adecuadamente debido al soport del tipo de pantalla, por ello buscando encontré otro programa que está basado en xflux.

Redshift es sencillo de instalar en debian, sólo tienes que actualizar tus repositorios

apt-get update

e instalar el paquete

apt-get install redshift redshift-gtk

si al iniciarlo te aparece un error de que no se puede iniciar o conectar con el servicio geoclue (geolocalización) será necesario habilitar el acceso a  dicho servicio busca el archivo

/etc/geoclue/geoclue.conf

y agrega estas líneas, así redshift será capaz de acceder al servicio de geolocalización para obtenerla automáticamente y realizar el cambio de tono de pantalla en función de la hora local.

[redshift]
allowed=true
system=false
users=

Si quieres modificar únicamente la temperatura (por default en modo noche es 3500k) puedes realizar un archivo de configuración en  ~/.config/redshift.conf y escribir


; Global settings for redshift
[redshift]
; Set the day and night screen temperatures
temp-day=5700
temp-night=3500

; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature.
transition=1

; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6

; Set the location-provider: 'geoclue', 'geoclue2', 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual

; Set the adjustment-method: 'randr', 'vidmode'
; type 'redshift -m list' to see all possible values.
; 'randr' is the preferred method, 'vidmode' is an older API.
; but works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=randr

; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=48.1
lon=11.6

; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust screen 1.
; Note that the numbering starts from 0, so this is actually the
; second screen. If this option is not specified, Redshift will try
; to adjust _all_ screens.
[randr]
screen=1
donde yo sólo he elegido modificar la temperatura a 2700 k en modo noche y es necesario realizar el ajuste manual de la localización , las demás opciones las descomentas si las requieres.

una vez que guiardes el archivo, reinicia la aplicación y cargará la configuración deseada.

Actualización 04/01/18

En Gnome ya está integrada esta función, sólo es necesario que te dirijas a:

Configuración --> Pantalla --> Luz nocturna

Podrás configurar manualmente la hora de inicio y fin del efecto.

Si quieres modificar otras opciones, es necesario que uses dconfg y te dirijas a:

/org/gnome/settings-daemon/plugins/color/night-light-temperature

yo tengo configurado un valor de 3800, entre más pequeño el número más intensidad de color tendrá, en mayor sea mayor intensidad azul.




lunes, 24 de julio de 2017

Modificar ROM LEECO max 2

Antes de todo actualizar el recovery, si intentan flashear una rom basada en nougat por ejemplo, los recoverys desactualizados probablemente no lo soporten y no puedan flashear la rom, sólo las que sea basadas en marsmallow.

Descargar el trwp actual

https://dl.twrp.me/x2/

colocarlo en la misma carpeta de tools y iniciar fastboot en el telefono (encendido y volumen -)

teclear

fastboot flash recovery recovery.img

fastboot boot recovery

listo, ya estará actualizado y podrás seguir los pasos a partir del  14.



Salte de la carpeta y desde el escritorio ubica la carpeta y oprime Shift y sobre la carpeta da clic derecho, deberá aparecer el menu de siempre pero con lao´pción abrir terminal de comandos aqui (cuarta opción) , se abrirá una consola.

iniciar el relefono en modo fastboot (boton encendido y volumen -)

Pasos para sofwtare

1) descarga el archivo y descomprimelo, la carpta tools colocala donde quieras de preferencia escritorio.



2) Salte de la carpeta y desde el escritorio ubica la carpeta y oprime Shift y sobre la carpeta da clic derecho, deberá aparecer el menu de siempre pero con lao´pción abrir terminal de comandos aqui (cuarta opción) , se abrirá una consola.

Ahora en el celular:


3) Entrar a configuración, y ver el modo de desarrollador, si no estpa presionar 7 veces el número de compilación en acerca del equipo.

4) Activar modo de depuración y habilitar el modo de desbloqueo oem

5) Ya tienes el recovery twrp, por lo tanto tienes que apagar el telefono.

6) Presionar el boton de encendido y volumen - al mismo otiempo hasta que aparezca el logo de leeco y diga modo Fastboot (con texto en chino)

7) conectar a la computadora con el cable usb, intentará descargar drivers e instalarse, lo más probable es que falle, por lo tanto abre panal de control --> sistema  y seguridad--> sistema--> administrador de dispositivos.

8) Busca la entrada que diga android, telefono android o algo similar denbería tener el signo de interrogación, le das doble clic  y luego actualizar controlador--> buscar software de controladlor en equipo--> elegir en una lista de controles de dispoptivo --> buscar TP link android phone ---> elegir del lado izquierdo google inc y lado derecho elegir android adb interface de preferencia.

9) Terminara de instalarse los drivers.

regeresamos a la computadora:

10) con la consola abrieta en el paso 2, teclea fastboot devices, deberá regresar un código de números y letras, eso indica que todo está bien, si no lo regresa es que los drivers no se instalaron o el equipo no está conectado via usb

11) Debes colocar los archivos zip (roms) en la carpeta platafor-tools prueba con varias

12) Para flashear el recovery twrp (ya esta en la carpeta teclea:

fastboot flash recovery recovery.img

eso modificar el recovery a twrp

13) una ves flasehado el recovery booteamos el recovery

fastboot boot recovery

14) el celular se reiniciará aparecera el logo de leeco y quizás la pnatlla se tiña de colores, hasta que se apague presiona el boton de encendido (solo presionar no dejar presionado) se prenderá pantalla y debera aparecer ya el recovery, si no sale, apaga el equpo forzandolo y prendelo con encendido y volumen - e intanta bootear nuevamnte

15) ya en recovery primero restabece de fabrica en wipe (deslizando nada más)

16) luego ve a opciones avanzadas y elige adb sideload te pedirá que deslices

17) en la consola escribe

adb sideload xxxxx.zip

donde xxx es el nombre del zip de la rom que quieres probar, para no escribir todo, escribe las primer letras y luego le das tabulador (tap) y escribirá todo lo demás.

al dar enter, deberá indicar un porcentaje 0% en la segunda o tercera linea, si dice que hay un error, o que no se pued einidicar adb sideload, desconectar el equipo (usb) y conectalo de nuevo e intenta nuevamente el modo sideload en el celular.

18) deja que llegue al 50% y luego dirá que ha terminado, tanto el celular comno la consola,

19) regresa a wipe y restaura de fábrica 

20) en el recovery da reiniciar 

21) si la rom se carga bien y el ceular la reconoce, tardará 10-15 minutos en el primer booteo si tarda m´pas es que el celular no aceptó la rom, entonces vuelves a hacer todo pero con otra rom

22) te sugiero primero intentar con la miui 8, te dejo los links de las roms conocidas para leeco max 2, 

link de pasos iguales alos anteriores
https://forum.xda-developers.com/le-max-2/how-to/protocol-backup-stock-rom-flash-stock-t3517151

link parta descargar las rom  s oficilaes indias (x821) o chinas (x820), se pueden poner ambas a cualquier max 2 incluso x829, sólo que cambia de modelo al colocar una u otra
https://forum.xda-developers.com/le-max-2/how-to/le-max-2-official-stock-firmware-links-t3433761

la que usa el x821 son las indias que va en la 19s, los equipos x820 usan las chinas que va en la 23s (te puse una china que e sla que le quedo)

los x829 (eua) no tiene rom oficial, las tiendas le ponen roms modificadas por eso tienen problemas, todo mundo le pone una rom india, ya que las chinas tienen mucho software adicxional.

yo te sugiero antes de todas descargar esta rom

https://forum.xda-developers.com/le-max-2/development/lemax2-x820-822-miui8-1-6-12-3december-t3526832

o este link (dentro del anterior viene el siguiente link)

https://mega.nz/#!ADRX2T6T!S-ObZbHPPZQ6y0yW6DNXUZIp32Kg3pYhQILuUldEVjg_

esta rom es MIUI para leeco max 2, quizás no te guste mucho ya que es de los xiaomi, pero es la que me faltó poner para intentar limpiar toda la rom del celular,
flasheala con los pasos anteriores, y deja que cargue si la reconoce es muy probable que ya quedo todo bien despues, si carga inicia y no configyres nada solo da siguiente u omitir poara que veas que realmente carga la rom,

ahora intenta flashear una versión india la 19s, si carga y sale todo bien uya quedo

si no, intentar ahora con otra rom de las chinas o indias.


lunes, 19 de junio de 2017

Cliente google drive debian

Hace ya algunos años me cambié por completo a una distribución linux, inicié con Ubuntu, sin embargo, al poco tiempo se me hizo pesado, lento (algo como windows), por ello decidí probar con una distro que a lo largo de varios años ha probado ser de las mejores: Debian.

La solución de algunos problemas como tarjetas wifi, drivers de tarjetas gráficas, suelen resolverse instalando algunos drivers libres o privativos y a veces con un poco de más de paciencia, sin embargo, siempre extrañé poder sincronizar mis archivos de Google Drive, si bien dropbox tiene una buena implementación en debian, hasta se pueden correr varias instancias (sí, tengo dos instancias de dropbox sincronizandose al mismo tiempo), los archivos de Google Drive son necesarios para mí.

Durante mucho tiempo ví respuestas parciales, sin embargo, me decidí buscar la manera y la encontré aquí, sin embargo, creo que para usuarios con menos expericiencia, es necesario explicar un poco más los pasos.

1) Creamos una carpeta bin en la carpeta home, allí estará el script sh que hará posible la sincronización de los archivos, al momento de crearla asegurate que no seas root.

mkdir ~/bin
o mkdir /home/user/bin

2) Puedes cerrar sesión o reiniciar y teclea

echo $PATH, verifica que /home/user/bin aparezca.

3) Crea la carpeta donde se sincronizarán los archivos de google drive

mkdir ~/Google_drive

4) Tenemos que instalar grive, muchos comentan que está en repositorios en debian, sin embargo, en este momento no está (rama testing al 19 de junio del 2017) por lo que brindaré los pasos para instalarlo desde los archivos fuente


  • da clic aqui y descarga o da clic aqui
  • descomprime el zip
  • instalemos los paquetes para poder instalar grive 2 mediante un paquete .deb
    como root teclea:

    apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev
  • ahora dirigete a la carpeta donde está grive y teclea:

    dpkg-buildpackage -j4

    el comando anterior obtendrá un paquete .deb para poder instalarlo "mśa sencillo" Si tienes un error Cant exec debian rules, es debido a que descargaste el paquete en una partición (no la del sistema) sólo copia y pega en la partición del sustema, ahora ve a la carpeta donde colocaste grive y estará grivexxxx.deb
quizas te pida algunas dependencias como 

sudo apt-get install pkg-config zlib1g-dev debhelper libstdc++-7-dev libgcrypt20-dev


  • instalalo con la instrucción

    dpkg -i grivexxxxx.deb

    listo!
5) Ahora tecleamos (no root)

cd ~/Google_drive/ &&  grive -a


1 - Go to https://console.developers.google.com/apis/library. Login with your Google account and create a new project on Google Cloud Platform. You can also use an existing one.
2 - Search for Google Drive API and enable it.
3 - Go to API Credentials page (https://console.developers.google.com/apis/credentials)
3 - Create a new OAuth Client credential. You will be provided with a id and a secret. Save both because you gonna need it for grive2.
Then you need to follow this repo README, download grive2, build and install. Then run
grive -a --id [client id] --secret [client secret]
On your Drive folder and it will probably work.
If you want to use your ID and secret to build grive2 instead of using above command, you can edit the keys in
https://github.com/vitalif/grive2/issues/287


aparecerá un link, copialo y pegalo en el navegador, hay que aceptar los permisos de cuenta, te regresará un código que debes pegar en la terminal. Una vez ingresado a la cuenta, empezará a sincornizar los archivos de tu cuenta de google en la carpeta ~/Google_drive, sin embargo, no se sincronizará cuando detecte cambios por lo que continuamos

6) instalar inotify-tools

apt-get install inotify-tools

7) crearemos un archivo sh por ejemplo grive.sh, con el siguiente código

#!/bin/bash
# Google Drive Grive script that syncs your Google Drive folder on change
# This functionality is currently missing in Grive and there are still no
# official Google Drive app for Linux coming from Google.
#
# This script will only detect local changes and trigger a sync. Remote
# changes will go undetected and are probably still best sync on a periodic
# basis via cron.
#
# Kudos to Nestal Wan for writing the excellent Grive software
# Also thanks to Google for lending some free disk space to me
#
# Peter Österberg, 2012

GRIVE_COMMAND_WITH_PATH=/usr/bin/grive   # Path to your grive binary, change to match your system
GDRIVE_PATH=~/Google_drive                      # Path to the folder that you want to be synced
TIMEOUT=60               # Timeout time in seconds, for periodic syncs. Nicely pointed out by ivanmacx

declare -i esta_grive_ejecutando

while true
do
    inotifywait -t $TIMEOUT -e modify -e move -e create -e delete -r $GDRIVE_PATH
    esta_grive_ejecutando=`pidof grive`
    if [[ "$esta_grive_ejecutando" -ne 0 ]]
    then
        echo "Grive está ejecutandose, PID: $esta_grive_ejecutando. Esperando..."
        sleep $TIMEOUT
    else
        cd $GDRIVE_PATH && $GRIVE_COMMAND_WITH_PATH
    fi
done

lo anterior indica que cada 300 segunos se monitorean los archiuvos además se comprueba que se realicen varias instancias de grive.sh

o puedes realizar esta modificación


GRIVE_COMMAND_WITH_PATH=/usr/bin/grive    # Path to your grive binary, change to match your system
GDRIVE_PATH=~/Google_drive       # Path to the folder that you want to be synced
TIMEOUT=300              # Timeout time in seconds, for periodic syncs. Nicely pointed out by ivanmacx

while true
do
    inotifywait -t $TIMEOUT -e modify -e move -e create -e delete -r $GDRIVE_PATH
    cd $GDRIVE_PATH && $GRIVE_COMMAND_WITH_PATH
done

está segunda forma sólo comprueba cada 300 s las modificaciones de archivos.

verificamos los permisos de ejecución

chmod +x grive.sh
9) añadimos grive.sh como nuevo elemento de menu en debian para luego añadirlo a programas de inicio

herramientas-->; menu principal-->; n uevo elemento
herramientas-->; retoques-->; aplicaciones al inicio

10) tecleamos

crontab -e

elegimos la opción 1

y tecleamos

*/10 * * * * cd "$HOME"/Google_drive && grive > /dev/null 2>&1


Con estos pasos podrás sincronizar Google Drive en debian.

Actualización

28/08/2017s

Todo iba perfecto, los archivos y carpetas de google grive se sincronizaban entre dos equipos (una laptop y una desktop), sin embargo, algo raro sucedía con una carpeta que me compartieron y que agregué a mi cuenta de google drive. Los archivos que me compartieron se sincronización (descargaron en ambos equipos), pero los cambios, modificaciones y archivos nuevos que creé en esa carpeta no se sincronizaban. Pensé que era problema de la ejecución de grive con los scripts, revisando el archivo LOG, puede ver que aparecía un error: no se puede sincronizar el archivo XXXXX acceso de solo lectura. Verifiqué los permisos de los archivos en ambos equipos y ambos eran de sól lectura, cambié el permiso y seguía sin poder sincronizarse.

Hasta que dí con la solución, era la carpeta compartida, ya que no era el propietario no la podía modificar, aún y cuando la agregué a mi cuenta, por ello borré la carpeta compartida y cree una nueva y listo, los archivos empezaron a sincronizarse sin problemas.