tag:blogger.com,1999:blog-37988632971194487742024-03-10T03:46:54.455+01:00imahginableTutoriales en primera personaimahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.comBlogger496125tag:blogger.com,1999:blog-3798863297119448774.post-160859701571078762022-12-09T11:46:00.005+01:002022-12-09T11:46:39.228+01:00Teams: no es posible abir la aplicación<p>Si después de las últimas actualizaciones de <i>Teams</i>, este no se abre o se cierra inesperadamente cuando lo abres, puedes tener un problema con los permisos.</p><span><a name='more'></a></span><p>Si ya has probado a borrar cache o todos los datos e incluso a reinstalar la aplicación, es muy probable que tengas un problema con los permisos concedidos -o mejor dicho, no concedidos- a la aplicación.</p><p>Si este fuera el caso, ves a aplicaciones, selecciona <i>Teams</i> y en información de la aplicación dirígete a <i>Permisos</i></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0pmcI5q88LESUtACiqAlWgYKFN4iOqbMpJdWxAjpjCqUwYTZyGbAb7p1qXvo3kKdaPXZ-aDt0Bu6B3agFRkv3st6LZxLjjqMH27_UkJ0dib7d2c7Y4BbkdHPysvGR3uUbQtM_6pQBYFAlYX2snSPMSP4W7u5g5KbPZfAp-Jbfjn8Hjxrte7AYKWY6sA/s2400/Screenshot_2022-12-07-09-10-20-521_com.miui.securitycenter.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2400" data-original-width="1080" height="949" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0pmcI5q88LESUtACiqAlWgYKFN4iOqbMpJdWxAjpjCqUwYTZyGbAb7p1qXvo3kKdaPXZ-aDt0Bu6B3agFRkv3st6LZxLjjqMH27_UkJ0dib7d2c7Y4BbkdHPysvGR3uUbQtM_6pQBYFAlYX2snSPMSP4W7u5g5KbPZfAp-Jbfjn8Hjxrte7AYKWY6sA/w427-h949/Screenshot_2022-12-07-09-10-20-521_com.miui.securitycenter.jpg" width="427" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><span style="text-align: left;"> Pulsa en </span><i style="text-align: left;">Obtener información del dispositivo</i><span style="text-align: left;"> y selecciona <i>Notificar</i></span></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwY-F45ELaiaCknKJzCs_oOVxBBVra5GAnGH5rUewKppOrjG2IPWEa4gKSy-dQbmskgsWtNSlVLsfnGTMLAgyFa9vj1b_icZR2VgTIQpkp4JIgS-29fnVS9H7HOVnuSA_vSPTg6CC2QyK9u6H_9H8oZCwYqhjVqefPglRJ626DlFb5aWNqmb4hYDvBdg/s2400/Screenshot_2022-12-07-09-10-37-617_com.miui.securitycenter.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2400" data-original-width="1080" height="964" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwY-F45ELaiaCknKJzCs_oOVxBBVra5GAnGH5rUewKppOrjG2IPWEa4gKSy-dQbmskgsWtNSlVLsfnGTMLAgyFa9vj1b_icZR2VgTIQpkp4JIgS-29fnVS9H7HOVnuSA_vSPTg6CC2QyK9u6H_9H8oZCwYqhjVqefPglRJ626DlFb5aWNqmb4hYDvBdg/w434-h964/Screenshot_2022-12-07-09-10-37-617_com.miui.securitycenter.jpg" width="434" /></a></div><br /><p>Hecho. Ahora podrás abrir <i>Teams</i> de nuevo!!!</p>imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-31686641909032860622022-11-27T13:00:00.007+01:002022-11-27T20:47:51.100+01:00VMWare: actualizar de W10 a W11<p>Windows 11 requiere tener un equipo con TPM <i>-Trusted Plataform Module-</i></p><p>Si queremos actualizar W10 a W11 en una VMWare sin TPM, deberemos seguir los siguientes pasos</p><span><a name='more'></a></span><p><br /></p><p></p><ul style="text-align: left;"><li>Apagamos la máquina virtual</li><li>En la configuración de la VM -Edit virtual machine settings- vamos a la pestaña Options y pulsamos en Access Control.</li><li>Activamos encriptación -solo para archivos necesarios para TPM es suficiente- y ponemos una contraseña.</li><li>Pulsamos en save y esperamos. El proceso puede tardar un poco dependiendo del tamaño de la VM</li><li>En la pestaña de Hardware nos vamos a Trusted Platform Module. Si no lo tenemos, lo añadimos pulsando en Add</li></ul><div>Ejecutamos la VM con W10 y nos vamos a Update</div><div>Si nos indica que no cumplimos:</div><div><ul style="text-align: left;"><li>Abrimos Comprobación de estado del PC. Si no lo tenemos instalado, lo podemos hacer desde <a href="https://aka.ms/GetPCHealthCheckApp" target="_blank">aquí</a></li><li>Pulsamos en Comprobar ahora -no requiere login en Microsoft- y verificamos que cumple con los requisitos.</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjxzn9PqX9hFPO8wmwk3D3gCM478tiBucJ7ym5q-xvH_XdwV4kl-qhX6qlONM1-JyFrW1eUiY-BtzIBSOVLtcP8M7jF4AWTKq0BiBUzwPljaQwHvxhMgdxaDT_s918IM7Mfg2LFbDdhs-7KSisKwZbKpa_CcIqcS3Am6gVZ5pCBr4ODaUy8g5K51z1UuA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="455" data-original-width="461" height="343" src="https://blogger.googleusercontent.com/img/a/AVvXsEjxzn9PqX9hFPO8wmwk3D3gCM478tiBucJ7ym5q-xvH_XdwV4kl-qhX6qlONM1-JyFrW1eUiY-BtzIBSOVLtcP8M7jF4AWTKq0BiBUzwPljaQwHvxhMgdxaDT_s918IM7Mfg2LFbDdhs-7KSisKwZbKpa_CcIqcS3Am6gVZ5pCBr4ODaUy8g5K51z1UuA=w347-h343" width="347" /></a></div><br /></div><div>Después de esto, deberemos ir a las opciones de actualizar e instalar todas las actualizaciones pendientes. Windows nos mostrará la actualización a W11 cuando esté todo correcto.</div><div><br /></div><div>Si aún así sigue indicando que "Este equipo no cumple actualmente con los requisitos mínimos del sistema para ejecutar Windows 11", podemos seguir <a href="https://answers.microsoft.com/es-es/windows/forum/all/como-instalar-windows-11-en-pc-no-compatibles/fd1123e1-cae1-4e22-81a5-ae49bbc40695">estas</a> instrucciones.</div><div><br /></div><div>También podemos tratar de instalarlo directamente desde las indicaciones de Windows según se describe <a href="https://www.microsoft.com/es-es/software-download/windows11">aquí</a>.</div><p></p>imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-81652796955762678532022-02-26T09:54:00.005+01:002022-11-27T09:37:55.672+01:00VMWare: unable to install all modules<p>Cada vez que modificamos el kernel, debemos recompilar los módulos de VMWare para el nuevo kernel.</p><div>Si VMWare se queja de que no encuentra los módulos</div><p></p><p></p><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a data-darkreader-inline-color="" href="https://blogger.googleusercontent.com/img/a/AVvXsEjeiDoH4NdoxIy6DAEhDZyXnUYGLO7iaka0hWVs3TDAMZudgpj62EUUu2FsRJIcS-raYI5ZjE9iSgJz6mO7xzfYsuW_Z9c6erC5Smi9gK-aO99iA8HIAPCi15V8sJzTbJ_BSeRNCzTFWitl-6N7Qa32DQTJkgoSUsJhkoUI-7fNd-1XRb5VqBKQJGRblA" style="--darkreader-inline-color: #3da5ff; color: #3391ff; margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="157" data-original-width="543" height="186" src="https://blogger.googleusercontent.com/img/a/AVvXsEjeiDoH4NdoxIy6DAEhDZyXnUYGLO7iaka0hWVs3TDAMZudgpj62EUUu2FsRJIcS-raYI5ZjE9iSgJz6mO7xzfYsuW_Z9c6erC5Smi9gK-aO99iA8HIAPCi15V8sJzTbJ_BSeRNCzTFWitl-6N7Qa32DQTJkgoSUsJhkoUI-7fNd-1XRb5VqBKQJGRblA=w640-h186" style="cursor: move;" width="640" /></a></div></div><p>Deberemos seguir los siguientes pasos:</p><span><a name='more'></a></span><p>Las últimas versiones de VMWare requieren gcc 11.2 por lo que debemos tenerlas instaladas.</p><p>Para ello:</p><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: currentcolor; --darkreader-inline-border-left: currentcolor; --darkreader-inline-border-right: currentcolor; --darkreader-inline-border-top: currentcolor; border: medium none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">sudo apt update</p><p style="text-align: left;">sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test</p><p style="text-align: left;">sudo apt install -y gcc-11</p></blockquote><p></p><div class="separator" style="clear: both; text-align: center;"><div style="text-align: justify;"><br /></div></div><div>Y seguidamente indicar el path del código fuente de nuestro kernel para recompilar</div><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: currentcolor; --darkreader-inline-border-left: currentcolor; --darkreader-inline-border-right: currentcolor; --darkreader-inline-border-top: currentcolor; border: medium none; margin: 0px 0px 0px 40px; padding: 0px;"><p>sudo CPATH=/usr/src/linux-headers-$(uname -r)/include/linux vmware-modconfig --console --install-all</p></blockquote><p><br /></p><p>Si esto no funciona:</p><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: currentcolor; --darkreader-inline-border-left: currentcolor; --darkreader-inline-border-right: currentcolor; --darkreader-inline-border-top: currentcolor; border: medium none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p><span data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" face="SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace" style="--darkreader-inline-bgcolor: #0f1111; --darkreader-inline-color: #cdc8c2; background-color: #131516; color: #d8d4cf; font-size: 12px; white-space: pre;">wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-16.2.1.tar.gz</span> </p><p><span data-darkreader-inline-bgcolor="" data-darkreader-inline-color="" face="SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace" style="--darkreader-inline-bgcolor: #0f1111; --darkreader-inline-color: #cdc8c2; background-color: #131516; color: #d8d4cf; font-size: 12px; white-space: pre;">tar -xzf workstation-16.2.1.tar.gz</span></p><p><span data-darkreader-inline-bgcolor="" style="--darkreader-inline-bgcolor: #0f1111; background-color: #131516; font-size: 12px; white-space: pre;"><span face="SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace">cd vmware-host-modules-workstation-16.2.1/</span></span></p><p><span data-darkreader-inline-bgcolor="" style="--darkreader-inline-bgcolor: #0f1111; background-color: #131516; font-size: 12px; white-space: pre;"><span face="SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace">make</span></span></p><p><span data-darkreader-inline-bgcolor="" style="--darkreader-inline-bgcolor: #0f1111; background-color: #131516; font-size: 12px; white-space: pre;"><span face="SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace">make install</span></span></p></blockquote><p>Si en el primer make se queja de que la versión de compilador del kernel original no coincide con el actual, podemos forzar a compilar con el nuestro:</p><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: currentcolor; --darkreader-inline-border-left: currentcolor; --darkreader-inline-border-right: currentcolor; --darkreader-inline-border-top: currentcolor; border: medium none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;">make CC=/usr/bin/gcc-11</p></blockquote><p>Si aún así no podemos compilar con la versión actual de kernel, siempre podemos instalar una versión anterior y compatible.</p><p> </p><p>Si ninguno de estos métodos funciona, seguir <a href="https://ubuntu-mate.community/t/20-04-vmware-workstation-player-fails-to-build-kernel-modules-vmmon-vmnet/21176" target="_blank">esta</a> guía <br /></p>imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-68381043826959336242021-11-21T10:54:00.004+01:002021-12-02T07:36:23.133+01:00VMWare: Cannot open /dev/vmmon<p>Si al intentar ejecutar una máquina virtual nos aparece el error de Cannot open /dev/vmmon, tenemos un problema con la carga de drivers no firmados. Esto suele ocurrir si tenemos el secure mode enabled.</p><p>Durante el primer arrance de VMWare -y en cada actualización- se generan los archivos vmmon.ko and vmnet.ko. Estos archivos necesitan ser firmados para evitar el problema descrito.</p><span><a name='more'></a></span><p>La descripción y solución del problema la tenemos <a href="https://kb.vmware.com/s/article/2146460" target="_blank">aquí</a>, en la página oficial.</p><p>No obstante, si queremos automatizar el proceso, podemos hacerlo utilizando un archivo <i>bash </i>que lo hace todo por nosotros.</p><p>En <a href="https://github.com/rune1979/ubuntu-vmmon-vmware-bash" target="_blank">esta página</a> tenemos el archivo y el proceso a seguir:</p><p></p><ul style="text-align: left;"><li>Abrimos una consola de comandos y copiamos lo siguiente: https://github.com/rune1979/ubuntu-vmmon-vmware-bash</li><li>Le damos permisos de ejecución al archivo: sudo chmod +x wm_autoupdate_key.sh</li><li>Lo ejecutamos: ./wm_autoupdate_key.sh</li></ul><div>Durante la ejecución nos pedirá un password y confirmación. Debemos recordarlo pues nos lo pedirá en el primer arranque del sistema operativo.</div><div>Ahora reiniciamos nuestro equipo. La primera vez nos aparecerá una pantalla azul. Elegimos <i>Enroll MOK > Continue > Yes </i>y cuando nos pregunte el password, introducimos el que pusimos anteriormente. Después seleccionamos reboot.</div><div><br /></div><div>Al finalizar el proceso, si ejecutamos VMWare, veremos que ya no nos dará el error.</div><div><br /></div><div>En cada actualización de VMWare, se repetirá el problema por lo que lo único que tendremos que hacer es ir a la carpeta donde nos hemos descargado el archivo <i>bash</i> y ejecutarlo</div><p></p><p><br /></p><p><br /></p>imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-11542532402301432802020-10-30T08:38:00.000+01:002016-12-18T11:19:45.512+01:00SensaMe: Esta aplicación puede salvarte la vida<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
<a href="https://play.google.com/store/apps/details?id=com.imahgin.sensame" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img border="0" height="76" src="https://2.bp.blogspot.com/-7DdcdYLfAWo/WE-n048_RoI/AAAAAAAAdtI/mfgp2eT8jUIUoP7llE0WtAoufMewMFxcACLcB/s200/es_badge_web_generic.png" width="200" /></a><a href="https://1.bp.blogspot.com/-zDjz056TRco/WClqr9utsMI/AAAAAAAAdYI/gODnByLk2fsPPthUIX_FS2DSFCruUkX1gCLcB/s1600/sensacrash.png" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-zDjz056TRco/WClqr9utsMI/AAAAAAAAdYI/gODnByLk2fsPPthUIX_FS2DSFCruUkX1gCLcB/s1600/sensacrash.png" /> </a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<h2 style="text-align: left;">
<u>QUÉ ES SENSAME</u></h2>
<div style="text-align: left;">
<i>SensaMe </i>es una aplicación gratuita que '<i>siente</i>' los movimientos de tu teléfono.<br />
<br /></div>
<div style="text-align: left;">
La mayoría de <i>smartphones</i> incorporan sensores que permiten medir entre otras cosas la posición, rotación, ángulo de giro y aceleración del dispositivo, y se utilizan en aplicaciones como realidad aumentada o juegos. <i>SensaMe </i>utiliza esta información para determinar si tu dispositivo ha recibido un fuerte impacto y en caso de que así sea, envía por <i>SMS</i> un mensaje con tú ubicación a las personas que hubieras indicado.<br />
<br />
<a name='more'></a><br />
<h2>
<u>DESCARGA DE LA APLICACIÓN</u></h2>
<h2>
<div style="font-size: medium; font-weight: normal;">
Puedes descargarte la aplicación desde <i>Play Store</i> siguiendo el siguiente enlace: <a href="https://play.google.com/store/apps/details?id=com.imahgin.sensame">https://play.google.com/store/apps/details?id=com.imahgin.sensame</a><br />
<br /></div>
</h2>
<h2>
<u>REQUISITOS</u></h2>
<div>
Estos son los requisitos mínimos que tiene la aplicación:</div>
<div>
<ul>
<li>Sistema operativo <i>Android</i> con versión 4.0 -Icecream- o superior.</li>
<li>Conectividad <i>GSM</i> para envío-recepción de <i>SMS.</i></li>
<li>Sensor aceleración: La mayoría de dispositivos incorporan este sensor.</li>
</ul>
</div>
</div>
<h2 style="text-align: left;">
<u>LIMITACIONES</u></h2>
<div style="text-align: left;">
<div>
Debido a las limitaciones y características propias de los sensores de los dispositivos, no se puede garantizar el 100% de efectividad en la detección de un posible impacto. También pueden producirse falsas alarmas, aunque la aplicación dispone de filtros y opciones de configuración que ayuda a evitarlas.<br />
Podemos modificar diferentes opciones para adecuarlas a nuestro gusto en función de nuestras necesidades, de las características de nuestra actividad o de las de nuestro propio dispositivo.<br />
<br /></div>
El sensor de aceleración de la mayoría de dispositivos está pensado para trabajar con movimientos 'normales' y el rango de dicho sensor no es muy amplio. Esto significa que la magnitud máxima que es capaz de medir suele estar por debajo de 4 g lo que condicionará el valor máximo que podremos configurar para la detección de un impacto.<br />
<br />
Los sensores del teléfono consumen energía y es por este motivo que, siempre que no sea necesario, estos se desconectan. <i>SensaMe</i> necesita leer continuamente esta información lo que obliga a mantener despierto al dispositivo mientras nos movemos.<br />
Aunque se utilizan diferentes mecanismos que permiten ahorrar batería -ver más abajo-, la duración será menor cuando <i>SensaMe </i>esté funcionando.<br />
<br />
<i>SensaMe</i> envía un <i>SMS </i>en caso de impacto informando de nuestra última posición, por tanto, es necesario que tengamos cobertura con nuestra operadora. </div>
<h2>
<u>FUNCIONES</u></h2>
<h3 style="text-align: left;">
Detección de impacto</h3>
<h2>
<div style="text-align: left;">
<span style="font-size: small; font-weight: normal;"><i>SensaMe</i> basa su funcionamiento en la lectura en tiempo real de los valores del sensor de movimiento de tu dispositivo. En caso de detectar un impacto, automáticamente se activa una alarma sonora y luminosa y el usuario tiene un tiempo -configurable- para cancelar el aviso.</span></div>
<div style="text-align: left;">
<span style="font-size: small; font-weight: normal;">Si se supera este tiempo y no se ha podido detener la alarma, la aplicación envía un <i>SMS </i>al número o números que tuviéramos configurados, informando del impacto junto con nuestra última posición conocida y la precisión<i>.</i></span></div>
</h2>
<h3>
Detección de inactividad</h3>
<div style="text-align: left;">
De la misma forma que <i>SensaMe</i> utiliza los sensores de movimiento para detectar un impacto, es capaz de detectar inactividad. Así, podemos configurar el tiempo máximo que el dispositivo puede permanecer inmóvil. Si se supera, se activará una alerta y en caso de no cancelarla, se enviará un <i>SMS</i> con nuestra última posición conocida.<br />
Esta función puede resultar útil, por ejemplo, si tenemos un familiar con edad avanzada y queremos controlar que no se supera un tiempo sin que se produzca movimiento.</div>
<div>
<h3>
Detección de ubicación</h3>
<h3>
<span style="font-size: small; font-weight: normal;">Si se habilita esta opción, otras personas podrán conocer la posición de nuestro teléfono a través de una solicitud por </span><i style="font-size: medium; font-weight: normal;">SMS</i><span style="font-size: small; font-weight: normal;">. Es posible habilitarlo para cualquier persona que conozca nuestro número o restringirlo a una lista.</span></h3>
</div>
<h2>
<div style="text-align: left;">
<div>
<span style="font-size: x-small; font-weight: normal;"><span style="font-size: small; font-weight: normal;">La persona que lo solicita no necesita tener la aplicación instalada. Simplemente deberá enviar un </span><i style="font-size: medium; font-weight: normal;">SMS </i><span style="font-size: small; font-weight: normal;">con la palabra </span><i><span style="font-size: large;">sensame</span></i><span style="font-size: small; font-weight: normal;"> a nuestro móvil y este contestará automáticamente con otro </span><i style="font-size: medium; font-weight: normal;">SMS</i><span style="font-size: small; font-weight: normal;"> indicando nuestra última posición conocida.</span></span></div>
<div>
<span style="font-size: small; font-weight: normal;"><br /></span></div>
<div>
<span style="font-size: small; font-weight: normal;"><i>Nota: es posible que la operadora aplique cargos ya que se envía un SMS ordinario.</i></span><br />
<h3 style="text-align: left;">
</h3>
</div>
</div>
</h2>
<h3>
Otros usos</h3>
<div>
<ul style="text-align: left;">
<li>Encuentra tu teléfono: ¿Has perdido o te han robado el teléfono? Si sigue encendido y con cobertura y no han desinstalado la aplicación, podrás conocer la posición de tu móvil enviando un mensaje <i>SMS </i>a tu número con la palabra <i style="font-weight: bold;">sensame</i>. Esto solo funcionará si tenías habilitada la función <i>Permitir recepción SMS para solicitar posición </i>-consulta el apartado de <i>Configuración </i>> <i>Información de contacto-</i></li>
<li>Alarma por movimiento o vibración: Si configuras el sensor de aceleración con un umbral de impacto muy bajo -por ejemplo 1.1-, cualquier pequeño movimiento o vibración disparará la alarma de impacto. Si dejas tu móvil reposando en una superficie con este valor bajo, un intento de coger el móvil hará saltar la alarma. Podrías detectar temblores provocados por un terremoto.</li>
</ul>
</div>
<h2>
<u>
PERMISOS</u></h2>
<div>
Para que la aplicación funcione correctamente necesita tener los siguientes permisos:<br />
<ul style="text-align: left;">
<li><u>Ubicación</u>: Tanto aproximada -antenas de telefonía- como por <i>GPS </i>-si lo tenemos habilitado-</li>
<li><i><u>SMS</u></i>: Envío y recepción de mensajes de texto.</li>
<li><u>Estado del teléfono</u>: Para monitorizar la señal <i>GSM </i>-cobertura-</li>
<li><u>Almacenamiento</u>: Para guardar <i>logs</i> con las incidencias en la memoria interna.</li>
<li><u>Cámara</u>: Para tener acceso al <i>flash</i>.</li>
</ul>
<div>
En dispositivos con sistema operativo anterior a <i>Marshmallow</i>, se conceden automáticamente al descargarla e instalarla. En dispositivos con <i>Marshmallow</i> o posteriores, se solicitarán de forma individual al iniciar la aplicación.</div>
</div>
<h2>
<u>
CARACTERÍSTICAS</u></h2>
<div>
Estas son las opciones y características de la aplicación las cuales pueden ser configuradas desde el menú de opciones.</div>
<ul style="text-align: left;">
<li>Auto-arranque con el inicio del sistema: Cada vez que enciendas tu dispositivo, <i>SensaMe</i> se ejecutará automáticamente.</li>
<li>Detección de impacto por sensor aceleración: Monitorización en tiempo real de los datos del sensor de aceleración en los tres ejes.</li>
<li>Alarma sonora tras detectar impacto: Se escuchará una alarma sonora incluso cuando el teléfono esté silenciado. También podemos configurarlo para que suene al máximo volumen independientemente del volumen que tuviéramos configurado en el dispositivo.</li>
<li>Envío de SMS después de impacto: Tras detectar un impacto, el usuario tiene un tiempo -configurable- para detener la alarma. Transcurrido este, se enviará un SMS al número o números configurados, indicando nuestra última posición conocida.</li>
<li>Triple sistema de detección de movimiento: Velocidad -medido por <i>GPS</i>-, diferencia de lectura de un eje del sensor y por umbral de aceleración.</li>
<li>Filtrado de señales para descartar errores: Evita falsos positivos descartando lecturas erróneas o fuera de tolerancia.</li>
<li>Registro de valores del sensor de aceleración actuales, máximos y mínimos.</li>
<li>Geo-localización usando triangulación por red de telefonía y/o GPS.</li>
<li>Registro y visualización de eventos -log- con guardado en memoria interna.</li>
<li>Notificaciones: La detección de movimiento se muestra en pantalla, a través de <i>LED </i>de notificaciones y en reloj Android Wear compatible.</li>
<li>Calibración del sensor de aceleración.</li>
<li>Test para probar notificación y envío de SMS.</li>
<li>Reset de valores mínimo y máximos memorizados.</li>
<li>Función de auto-despertar solo cuando está enlazado por Bluetooth -manos libres, por ejemplo-</li>
<li>Detección de zonas sin cobertura de red de telefonía -requiere tener la pantalla encendida-</li>
</ul>
<div>
<h2>
<u>RESPONSABILIDADES</u></h2>
<div>
Esta aplicación es gratuita y está disponible para uso personal, no permitiéndose su uso comercial.</div>
<div>
Se entrega tal cuál sin garantía de ningún tipo, expresa o implícita.</div>
Es posible que el Proveedor de Servicios Móviles -operador de telefonía- efectúe cargos por los servicios de envío de <i>SMS</i>. El usuario acepta la responsabilidad de los cargos que pudieran surgir, que en ningún caso revierten en beneficio del creador de la aplicación por tratarse de <i>SMS</i> estándar.</div>
<h2>
</h2>
<h2>
</h2>
<h2>
<u>DONACIONES</u></h2>
<div>
La mejor forma de ayudarme en este proyecto es compartir y difundir la aplicación.</div>
<div>
No obstante, si quieres colaborar económicamente, pudes hacerlo a través de <i>PayPal</i><br />
<i><br /></i></div>
<div>
<div>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="KYES77KWNPFPL" />
<input alt="PayPal. La forma rápida y segura de pagar en Internet." border="0" name="submit" src="https://www.paypalobjects.com/es_ES/ES/i/btn/btn_donateCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/es_ES/i/scr/pixel.gif" width="1" />
<br />
<br /></form>
</div>
</div>
<h2>
<u>ENLACES</u></h2>
<div>
Foro HTC: <a href="http://www.htcmania.com/forumdisplay.php?f=1004">http://www.htcmania.com/forumdisplay.php?f=1004</a><br />
Foro XDA: <a href="http://forum.xda-developers.com/android/apps-games/app-save-life-t3496878">http://forum.xda-developers.com/android/apps-games/app-save-life-t3496878</a></div>
<h2>
<u>
RECOMENDACIONES DE USO</u></h2>
<div>
Cada teléfono es diferente tanto por el hardware -sensores, procesador, etc.- como por el software instalado o la versión del sistema operativo.</div>
<div>
A esto le tenemos que añadir los gustos y necesidades personales por lo que no hay una configuración recomendada.</div>
<div>
No obstante, se sugiere entrar en la configuración y seguir los siguientes consejos antes de iniciar el servicio por primera vez:</div>
<div>
<ul style="text-align: left;">
<li><u>Calibración del sensor:</u> Permite fijar el valor de reposo del sensor de aceleración. Sitúa el dispositivo en una superficie plana y pulsa el botón de <i>Calibración</i> situado en el panel lateral de configuración.</li>
<li><u>Determinación del máximo valor medible por el sensor</u>: En algunos casos, el rango máximo informado por el sensor no es correcto por lo que primero habría que verificar realmente cuál es. Para ello, con el servicio activado, despliega el menú de configuración -lateral- y pulsa la opción <i>Reset max-min</i>. A continuación sujeta firmemente el teléfono para que no se caiga y agítalo violentamente. Anota el valor que aparece en <i>Max-Min</i>. Repítelo un par de veces para verificar cuál es el valor máximo que es capaz de dar el sensor.</li>
<li><u>Realiza una prueba</u>: Para verificar que la configuración es correcta y los ajustes están a tu gusto, puedes pulsar la opción de <i>Test</i> en el panel lateral para simular un impacto.</li>
<li><u>Mostrar movimiento con <i>LED</i> de notificaciones</u>: La detección del movimiento es clave para el funcionamiento de la aplicación. Si deseas verificar que la aplicación está detectando el movimiento de nuestro dispositivo, activa la notificación <i>LED</i> dentro de <i>Configuración</i> > <i>Notificaciones</i>.</li>
</ul>
<div>
IMPORTANTE: No actives el envío de alerta por <i>SMS </i>-en <i>Configuración</i> > <i>Notificaciones</i>- hasta que no hayas probado la aplicación durante unos días. Esto te permitirá ver si la aplicación funciona correctamente en tu dispositivo y qué valores son los idóneos para tus necesidades.</div>
</div>
<div>
Una vez veas que todo está bien, configura el número de teléfono -o números- a los que enviar la alerta en caso de impacto y avisa a esas personas explicándoles que podrían recibir un mensaje si se detectara un impacto en tu teléfono.</div>
<div>
<br /></div>
<div>
<i>Notas: </i></div>
<div>
<ul style="text-align: left;">
<li><i>El envío de SMS puede ocasionar un cargo dependiendo del contrato que tengas con tu operadora. Estos SMS son normales y no generan un coste añadido que revierta en beneficios para mí.</i></li>
<li><i>No pongas como teléfono de aviso el número de emergencia 112 o cualquier otro teléfono de emergencias como la policía o bomberos.</i></li>
</ul>
</div>
<h2>
<u>
CÓMO AHORRAR BATERÍA</u></h2>
<div>
En el momento en que la pantalla de nuestro dispositivo se apaga, <i>Android</i> intenta consumir lo menos posible entrando en lo que se denomina sueño profundo o <i>deep sleep. </i>Esto incluye la desactivación de sensores como el de aceleración.<br />
<i>SensaMe </i>necesita leer los datos de este sensor incluso cuando nuestro dispositivo está en este modo. Esto obliga a la aplicación a despertar periódicamente al teléfono con el fin de garantizar que estos datos están disponibles, pero esto también significa que el consumo será mayor cuando la aplicación está activa.<br />
<i><br /></i>
<i>SensaMe </i>es inteligente, despertando al dispositivo lo menos posible evitando así un uso innecesario de la batería. Aún así, es posible prolongar la duración de la batería teniendo en cuenta estos parámetros ajustables en el apartado de configuración:<br />
<ul style="text-align: left;">
<li>Aumentar el tiempo configurado para despertar el dispositivo: Podemos aumentar el tiempo que tiene la aplicación para despertar periódicamente el dispositivo. Cuanto mayor sea este tiempo, menos veces lo despertaremos pero la efectividad a la hora de detectar el movimiento se reducirá. </li>
<li>Permitir despertar automáticamente: En cualquier caso, una vez detectado movimiento, <i>SensaMe </i>mantendrá despierto el teléfono hasta que detecte que no hay movimiento. Si queremos el máximo ahorro de batería, podemos desactivar este comportamiento y la aplicación solo podrá leer los valores del sensor cuando el teléfono esté despierto. Esto, no obstante, reducirá las posibilidades de detectar un impacto ya que si sucede mientras el teléfono está en <i>deep sleep</i>, la aplicación no podrá leer el valor del sensor de aceleración.</li>
<li>Deshabilitar <i>log</i>: Únicamente activarlo si se observa un comportamiento extraño de la aplicación y es necesario reportarlo al desarrollador.</li>
<li>No activar localización por <i>GPS</i>: La localización por <i>GPS </i>es la más precisa pero consume más energía. <i>SensaMe</i> obtiene la localización por triangulación si el <i>GPS </i>no está disponible. Si nos movemos por zonas con buena cobertura, la precisión obtenida así es más que suficiente. Si nos vamos a desplazar por zonas con poca cobertura, es recomendable el uso de la señal <i>GPS</i>.</li>
<li>Servicio despierto solo cuando estamos enlazados por <i>Bluetooth</i>: Permite configurar a la aplicación para que despierte periódicamente al teléfono pero solo si estamos enlazados por <i>Bluetooth</i> con algún dispositivo. Esto es útil si utilizamos el manos libres del vehículo y queremos que <i>SensaMe</i> se ponga en marcha cuando estemos en nuestro vehículo.</li>
</ul>
</div>
<div>
<br /></div>
<h2>
<u>
OPCIONES Y CONFIGURACIÓN</u></h2>
Para acceder al menú de opciones y configuración debemos desplegar el panel lateral izquierdo, bien deslizando el dedo desde el borde izquierdo hacia la derecha o bien pulsando el icono superior izquierdo de la pantalla.<br />
<br />
<h3 style="text-align: left;">
Opciones</h3>
<div>
<ul style="text-align: left;">
<li><u>Borrar <i>Log</i></u>: Borra el archivo de <i>log </i>generado.</li>
<li><u>Ver <i>Log</i></u>: Muestra el archivo <i>log </i>almacenado.</li>
<li><u>Calibrar</u>: Permite calibrar el sensor de aceleración. Para ello, situar el teléfono en una superficie plana antes de pulsar esta opción.</li>
<li><u>Test</u>: Simula un impacto permitiendo así ver si las opciones de notificación que tengamos configuradas son correctas.</li>
<li><u>Reset max-min</u>: Restablece el valor máximo y mínimo detectado por la aplicación desde que se activó el servicio.</li>
</ul>
</div>
<h3 style="text-align: left;">
Configuración</h3>
<h4 style="text-align: left;">
General</h4>
<ul style="text-align: left;">
<li>Inicio de aplicación al encender dispositivo: La aplicación se ejecuta automáticamente al encender o reiniciar el dispositivo.</li>
<li>Habilitar <i>log</i>: Permite guardar en memoria la actividad detectada por la aplicación. Es útil en caso de fallo de la aplicación para determinar el origen del problema.</li>
<li>Log detallado: Permite guardar información más detallada de la actividad.</li>
<li>Saltar el patrón de desbloqueo: Si tenemos un patrón de bloqueo, en caso de detectar impacto/inactividad, se mostrará la alerta directamente sin necesidad de desbloquear el teléfono.</li>
<li>Wakelock: Mantiene el teléfono despierto siempre aunque esté la pantalla apagada. Asegura la detección instantánea de movimiento pero reduce la duración de la batería.</li>
<li>Permitir despertar automáticamente: Esta opción debe estar marcada si queremos asegurarnos que la aplicación detecta el movimiento del dispositivo aún cuando este se encuentre en <i>deep sleep</i>.</li>
<li>Tiempo para despertar: Si tenemos la opción anterior activada, aquí podremos fijar el intervalo de tiempo en que se despertará el dispositivo para verificar el movimiento. Cuanto menor sea, mejor se garantizará la detección pero aumentará el consumo de batería. Valor recomendado: 8-15 segundos.</li>
<li>Servicio despierto solo con Bluetooth enlazado: Permite ahorrar batería ya que la aplicación solo despierta al dispositivo en caso de estar enlazado por <i>Bluetooth</i>. Útil cuando nos desplazamos en vehículo y tenemos activado el manos libre ya que la aplicación se activará cuando detecte que estemos enlazados.</li>
<li>Localización por GPS: Obtiene la ubicación de la información del <i>GPS</i>. Requiere que lo tengamos activado en nuestro dispositivo. Si no está activada esta opción, la ubicación se calcula por triangulación de las antenas de telefonía.</li>
<li>Refresco de tiempo entre actualización de localización: Tiempo transcurrido entre muestras para actualizar nuestra ubicación.</li>
<li>Tiempo para enviar SMS después de impacto/inactividad: Tiempo que transcurrirá desde que se activa la alarma por detección de impacto/inactividad y el envío del <i>SMS. </i>Durante este tiempo, el usuario puede detener la alarma evitando así el envío del mensaje.</li>
</ul>
<div>
<h4>
Notificaciones</h4>
<ul>
<li>Notificaciones LED durante movimiento: Activa el <i>LED</i> de notificaciones al detectar movimiento. También muestra una notificación en la parte superior de la pantalla, en la barra de estado.</li>
<li>Mostrar valores del acelerómetro en notificación: Permite ver los valores del sensor -eje x,y,z y magnitud- en la barra de notificaciones (también se muestra en <i>Android Wear</i>)</li>
<li>Vibración en notificaciones: Cada notificación mostrada por detección de movimiento generará una pequeña vibración en el dispositivo.</li>
<li>Flash cuando detecta impacto: Al detectar un impacto/inactividad, enciende el flash de nuestro dispositivo para ayudarnos a encontrarlo en condiciones de baja luminosidad.</li>
<li>Flash dependiente de luz ambiental: El flash solo se enciende si la luz ambiental es baja.</li>
<li>Flash dependiente de sensor proximidad: El flash solo se enciende si el sensor de proximidad no está activo.</li>
<li>Vibrar cuando se detecta impacto: Además de la alerta sonora, también podemos hacer que el dispositivo vibre.</li>
<li>Sonido cuando se detecta impacto: Emite un sonido de alarma al detectar impacto/inactividad.</li>
<li>Volumen al máximo: Fija el volumen del altavoz al máximo mientras suena la alarma independientemente del volumen que tuviéramos configurado o de si estuviera silenciado el teléfono.</li>
<li>Señal GSM perdida: Emite un sonido de alerta si la señal <i>GSM </i> está por debajo de un umbral detectando así que nos quedamos sin cobertura. Por limitaciones del sistema operativo, para esta función se necesita mantener la pantalla encendida, lo cual reduce enormemente la duración de la batería.</li>
<li>Opción para mantener pantalla encendida siempre. Útil si tenemos la opción anterior activada.</li>
<li>Umbral de señal GSM: Permite fijar el valor de señal mínimo para ser notificados.</li>
</ul>
<h4 style="text-align: left;">
Información de contacto</h4>
</div>
<ul style="text-align: left;">
<li>Enviar <i>SMS </i>cuando se detecte impacto/inactividad: Permite enviar un mensaje de texto con información de nuestra última posición conocida.</li>
<li>Números de teléfono a los que enviar <i>SMS</i>: Lista de teléfonos separados por coma a los que se enviará el aviso.</li>
<li>Recepción de <i>SMS </i>solicitando posición: Permite que desde otro teléfono se pueda conocer la ubicación de nuestro dispositivo mediante el envío de un <i>SMS</i> con la palabra <b><span style="font-size: large;"><i>sensame</i></span></b>.</li>
<li>Números permitidos para solicitar la posición: Lista de teléfonos que pueden solicitar nuestra posición. Si lo dejamos en blanco y la opción anterior está activa, cualquiera que conozca nuestro número podrá solicitar nuestra posición.</li>
</ul>
<h4 style="text-align: left;">
Configuración acelerómetros</h4>
<ul style="text-align: left;">
<li>Tiempo máximo entre muestras para generar evento: Tiempo en <i>milisegundos</i> a partir del cual se genera una lectura forzada ya que el acelerómetro no ha dado señales. En condiciones normales, el sensor de aceleración envía múltiples actualizaciones por segundo por lo que no debería superarse ese tiempo.</li>
<li>Umbral para impacto: Valor en <i>g</i> a partir del cual se genera un evento de impacto. Valor recomendable superior a 3.</li>
<li>Umbral de movimiento: Permite fijar la sensibilidad con la que la aplicación detecta el movimiento -en m/s2-</li>
<li>Tiempo para reposo: Tiempo para detectar que ya no nos estamos moviendo.</li>
<li>Frecuencia de lectura del sensor de aceleración. Ajusta la velocidad de refresco del sensor de aceleración. Cuanto mayor sea mayor consumo de batería. El valor mínimo suele ser efectivo en la mayoría de dispositivos.</li>
<li>Filtrar valores repetidos: Ignora aquellos valores que se repiten ahorrando tiempo de proceso.</li>
<li>Esperar inactividad después de impacto: Permite evitar falsas alarmas. Si estamos realizando una actividad física como correr o saltar, es posible que el sensor de aceleración de un valor que supere el umbral de aviso, haciendo que <i>SensaMe</i> lo detecte como un impacto. Es posible evitar esta situación activando esta opción y fijando un tiempo de espera para reposo. Así, aunque se detecte un valor que haría disparar la alarma, solo sonará si después de ese evento, se produce un reposo antes del tiempo indicado. Normalmente, si tenemos un accidente o sufrimos una caída, habrá un valor alto de deceleración seguido un reposo.</li>
<li>Tiempo de espera para reposo después de impacto: Permite configurar el tiempo que esperará la aplicación después de detectar un impacto para que quede en reposo. Se muestra cuenta atrás en la barra de notificaciones.</li>
</ul>
<h4 style="text-align: left;">
Configuración inactividad</h4>
<div>
<ul style="text-align: left;">
<li>Monitorización de inactividad: Habilita la comprobación de inactividad. Si se supera el tiempo indicado, se activará una alarma. Si no se cancela, se enviará un <i>SMS</i> con nuestra posición.</li>
<li>Tiempo de inactividad: Tiempo de inactividad permitido. Si se supera, se genera una alarma.</li>
</ul>
</div>
<h2 style="text-align: left;">
</h2>
<div style="text-align: center;">
</div>
<h2>
<u>
PANTALLAS</u></h2>
<div>
Estas son algunas de las pantallas de la aplicación:</div>
<h3 style="text-align: left;">
Pantalla principal</h3>
<div>
Contiene información del modelo de dispositivo, rango máximo informado por el sensor que es capaz de dar, valor actual del sensor en las diferentes coordenadas, última posición detectada y estado de conexión <i>Bluetooth</i>.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Ackp0dFOWHM/WBTV0KS9yYI/AAAAAAAAdWk/9M1nJkx2O5sKgp0XHnMzD6-15t8YP2bMgCLcB/s1600/Screenshot_2016-10-29-14-32-08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://3.bp.blogspot.com/-Ackp0dFOWHM/WBTV0KS9yYI/AAAAAAAAdWk/9M1nJkx2O5sKgp0XHnMzD6-15t8YP2bMgCLcB/s640/Screenshot_2016-10-29-14-32-08.png" width="360" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En esta pantalla tenemos un botón que pemite iniciar o detener el servicio de detección de movimiento.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="clear: both; text-align: left;">
Panel lateral de opciones</h3>
<div>
Permite acceder a las opciones de la aplicación y al menú de configuración. Desliza desde el margen izquierdo de la pantalla hacia la derecha o pulsa el icono ubicado en la parte superior izquierda de la pantalla principal para desplegarlo.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-0ZxzLhoET0U/WBTV3wlieFI/AAAAAAAAdWw/azeHY-BVcikkgkQesMaUuLAvmuVHTJDhQCLcB/s1600/Screenshot_2016-10-29-14-32-33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://2.bp.blogspot.com/-0ZxzLhoET0U/WBTV3wlieFI/AAAAAAAAdWw/azeHY-BVcikkgkQesMaUuLAvmuVHTJDhQCLcB/s640/Screenshot_2016-10-29-14-32-33.png" width="360" /></a></div>
<br />
<h3 style="text-align: left;">
Menú de configuración</h3>
<div>
Las diferentes opciones están agrupadas en diferentes submenús. Accede a estos para ver o editar todas las opciones disponibles:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-xkH_Or61gQk/WBTV37_js8I/AAAAAAAAdWo/8VZoeRmfECADEb-gH-8Gs20S94X82wsOQCLcB/s1600/Screenshot_2016-10-29-14-32-53.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://3.bp.blogspot.com/-xkH_Or61gQk/WBTV37_js8I/AAAAAAAAdWo/8VZoeRmfECADEb-gH-8Gs20S94X82wsOQCLcB/s640/Screenshot_2016-10-29-14-32-53.png" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-2BT52I2I6X8/WBTV3zDSRRI/AAAAAAAAdWs/ZaqgYUrkdPA53xhO-a1LxV9QAzlZhst_QCLcB/s1600/Screenshot_2016-10-29-14-33-12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://2.bp.blogspot.com/-2BT52I2I6X8/WBTV3zDSRRI/AAAAAAAAdWs/ZaqgYUrkdPA53xhO-a1LxV9QAzlZhst_QCLcB/s640/Screenshot_2016-10-29-14-33-12.png" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-xlIvqkBF1WM/WBTV4ZAEQoI/AAAAAAAAdW0/SxJ9gpEb_SIYibVNC_ShgH6RTlKAKJq1gCLcB/s1600/Screenshot_2016-10-29-14-33-40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://1.bp.blogspot.com/-xlIvqkBF1WM/WBTV4ZAEQoI/AAAAAAAAdW0/SxJ9gpEb_SIYibVNC_ShgH6RTlKAKJq1gCLcB/s640/Screenshot_2016-10-29-14-33-40.png" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-hvzX6bY1glY/WBTV4LUkeCI/AAAAAAAAdW8/qURyiusUTy8OFPf2x35NsAZSHBWgX-RvQCLcB/s1600/Screenshot_2016-10-29-14-34-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://2.bp.blogspot.com/-hvzX6bY1glY/WBTV4LUkeCI/AAAAAAAAdW8/qURyiusUTy8OFPf2x35NsAZSHBWgX-RvQCLcB/s640/Screenshot_2016-10-29-14-34-01.png" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-nFZWwh-mhBg/WBTV4bQ0xLI/AAAAAAAAdW4/lodBmBAE5fcljlE3jHBXjrWtnpxUxqAFACLcB/s1600/Screenshot_2016-10-29-14-34-13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://2.bp.blogspot.com/-nFZWwh-mhBg/WBTV4bQ0xLI/AAAAAAAAdW4/lodBmBAE5fcljlE3jHBXjrWtnpxUxqAFACLcB/s640/Screenshot_2016-10-29-14-34-13.png" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-RpoFOwkOS6A/WBTV4myE6sI/AAAAAAAAdXA/rP6TI-0BX2EW-zggRRjFXs_R35ZQf-ZuwCLcB/s1600/Screenshot_2016-10-29-14-34-24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://1.bp.blogspot.com/-RpoFOwkOS6A/WBTV4myE6sI/AAAAAAAAdXA/rP6TI-0BX2EW-zggRRjFXs_R35ZQf-ZuwCLcB/s640/Screenshot_2016-10-29-14-34-24.png" width="360" /></a></div>
<br />
<h3 style="text-align: left;">
Pantalla de aviso</h3>
<div>
Cuando se produzca el evento de impacto o de detección de inactividad, saltará una alarma y se mostrará una pantalla como la siguiente:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-GaxXZ04X7es/WCrxEadfzKI/AAAAAAAAdd8/kKtXxZ_9ba8Z99xTYPfhXAycjE3-TjyCwCKgB/s1600/Screenshot_2016-11-15-12-26-06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://2.bp.blogspot.com/-GaxXZ04X7es/WCrxEadfzKI/AAAAAAAAdd8/kKtXxZ_9ba8Z99xTYPfhXAycjE3-TjyCwCKgB/s640/Screenshot_2016-11-15-12-26-06.png" width="360" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
El usuario tiene un tiempo -configurable- para cancelar la alarma, el cual se muestra como cuenta atrás en pantalla, y si se supera este, se envía un <i>SMS</i> con nuestra posición a los teléfonos que hubiéramos indicado.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com2tag:blogger.com,1999:blog-3798863297119448774.post-21607598716779193662020-10-24T10:55:00.001+02:002020-10-24T10:55:15.143+02:00Cómo instalar driver para Realtek RTL8812BU en UbuntuRecientemente he adquirido un dispositivo WiFi en formato USB 3.0 el cual indica ser compatible con Linux.<div>Aunque en los sistemas operativos soportados de la caja no lo especifica, en el manual que le acompaña así lo afirma y en el CD de drivers existe una carpeta específica para Linux.</div><div>Existen dos carpetas en función del chip utilizado y aunque no hay referencia alguna a cúal es el que monta este, se trata de un Realtek RTL8812BU.</div><div>Le acompaña un readme.txt el cual explica de manera no muy sencilla el proceso de instalación, pero esta no funciona. En su lugar <a href="https://askubuntu.com/questions/1079377/how-do-i-install-drivers-for-realtek-rtl8812bu" target="_blank">este</a> enlace da pistas de cómo proceder.</div><div><br /></div><div>Estos son los pasos para <i>Ubuntu </i>-probado en 20.04-:</div><div><ul style="text-align: left;"><li>Necesitamos conexión a <i>Internet</i> para obtener los archivos necesarios.</li><li>Abrimos una terminal y nos vamos a una carpeta cualquiera de <i>/home</i>, por ejemplo <i>/home/rtl8812bu</i></li><li>Entramos en esa carpeta y tecleamos lo siguiente:</li><ul><li>sudo apt-get update</li><li>git clone https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959</li><li>cd rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959</li><li>VER=5.3.1</li><li>sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}</li><li>sudo dkms add -m rtl88x2bu -v ${VER}</li><li>sudo dkms build -m rtl88x2bu -v ${VER}</li><li>sudo dkms install -m rtl88x2bu -v ${VER}</li><li>sudo modprobe 88x2bu</li></ul><li>Si conectamos el USB deberá detectarlo y en conectividad aparecerá el módulo <i>WiFi </i>desde el cual podremos conectarnos a reder 2.4 y 5 GHz</li></ul>Para acabar de verificar que todo funciona, solo tenemos que reiniciar el equipo y verificar que sigue siendo detectado por <i>Linux</i></div><div><i><br /></i></div><div><i>Nota: después de actualizar a Ubuntu 20.10, el driver deja de funcionar por lo que debe ser reinstalado</i></div><div><br /></div>Para ello, primero deberemos limpiar del sistema el driver anterior:<div><ol style="text-align: left;"><li>Nos vamos a la carpeta /var/lib/dkms y borramos la subcarpeta rtl****</li><li>Nos vamos a la carpeta lib/modules/KERNEL_VERSION/updates/dkms/ y borramos el archivo rtl***.ko</li><li>Finalmente: sudo /sbin/depmod -a <br /></li><li>Reiniciamos</li></ol><div><div><br /></div></div><div>Otra fuente probada en Ubuntu 20.10 con kernel 5.8.0-25- generic es <a href="https://github.com/fastoe/RTL8812BU">esta</a></div><div><pre style="border-radius: 6px; box-sizing: border-box; color: #24292e; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: normal;">sudo apt update
sudo apt -y install dkms git bc
git clone https://github.com/fastoe/RTL8812BU.git
<span class="pl-c1" style="box-sizing: border-box; color: #005cc5;">cd</span> RTL8812BU
VER=<span class="pl-s" style="box-sizing: border-box; color: #032f62;"><span class="pl-pds" style="box-sizing: border-box;">$(</span>sed -n <span class="pl-s" style="box-sizing: border-box;"><span class="pl-pds" style="box-sizing: border-box;">'</span>s/\PACKAGE_VERSION="\(.*\)"/\1/p<span class="pl-pds" style="box-sizing: border-box;">'</span></span> dkms.conf<span class="pl-pds" style="box-sizing: border-box;">)</span></span>
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-<span class="pl-smi" style="box-sizing: border-box;">${VER}</span>
sudo dkms add -m rtl88x2bu -v <span class="pl-smi" style="box-sizing: border-box;">${VER}</span>
sudo dkms build -m rtl88x2bu -v <span class="pl-smi" style="box-sizing: border-box;">${VER}</span>
sudo dkms install -m rtl88x2bu -v <span class="pl-smi" style="box-sizing: border-box;">${VER}</span>
sudo modprobe 88x2bu
sudo reboot</pre><div>Pero <b>NO</b> funciona, dando errores de compilación.</div><div></div>Es necesario modificar las siguientes líneas de código:</div><div><ul style="text-align: left;"><li>/usr/src/rtl88x2bu-5.6.1/include/rtw_security.h</li></ul><div><ul> /*struct sha256_state {<br /> u64 length;<br /> u32 state[8], curlen;<br /> u8 buf[64];<br /> };*/<br /><br /><li>/usr/src/rtl88x2bu-5.6.1/os_dep/linux/ioctl_cfg80211.c</li></ul></div> <span> </span><span> </span><span> </span>//.mgmt_frame_register = cfg80211_rtw_mgmt_frame_register,<br /><div><br /></div></div></div>imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-47858427613695493262020-01-02T07:30:00.003+01:002022-02-26T09:36:10.764+01:00Cómo instalar la última versión VMWare Player en Ubuntu<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
Hacernos con la última versión de la versión gratuita de VMware es muy sencillo siguiendo estos pasos:<br />
<br />
<a name='more'></a>En primer lugar, si ya tenemos instalada una versión previa, la desinstalaremos desde la línea de comandos con el sigutente comando -cerrar antes la aplicación si estuviera abierta-<br />
<br /></div><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div style="text-align: left;" trbidi="on">
sudo vmware-installer -u vmware-player</div></blockquote><div dir="ltr" style="text-align: left;" trbidi="on">
<br />
El desinstalador nos preguntará si deseamos conservar los archivos de configuración, algo recomendable.<br />
<br />
A continuacióen nos descargamos la última versión desde el siguiente enlace, eligiendo nuestro sistema operativo -host-:<br />
<br />
</div><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div style="text-align: left;" trbidi="on"><a href="https://www.vmware.com/es/products/workstation-player.html">https://www.vmware.com/es/products/workstation-player.html</a></div></blockquote><div dir="ltr" style="text-align: left;" trbidi="on">
<br />
El archivo descargado tiene la extensión <i>bundle</i>. Para instalarlo deberemos abrir un terminal en la carpeta de descarga e teclear lo siguiente:<br />
<br /></div><blockquote data-darkreader-inline-border-bottom="" data-darkreader-inline-border-left="" data-darkreader-inline-border-right="" data-darkreader-inline-border-top="" style="--darkreader-inline-border-bottom: initial; --darkreader-inline-border-left: initial; --darkreader-inline-border-right: initial; --darkreader-inline-border-top: initial; border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div style="text-align: left;" trbidi="on">
sudo sh VMware-Player-xxxx-xxxx.architecture.bundle</div></blockquote><div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Cuando lo ejecutemos por primera vez, deberemos aceptar el acuerdo de licencia</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-68457523432742299672019-01-13T22:23:00.000+01:002019-01-13T22:23:00.276+01:00Mover Git local a GitHub con todos los commits<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/Cmy95J1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="163" data-original-width="187" src="https://i.imgur.com/Cmy95J1.png" /></a></div>
<br />
Ahora que<a href="https://blog.github.com/changelog/2019-01-08-pricing-changes/"> <i>GitHub </i>permite crear repositorios privados en la cuenta gratuita</a>, podemos plantearnos mover nuestro repositorio local a la plataforma <i>online </i>de <i>GitHub</i> siguiendo estos pasos:<br />
<br />
<a name='more'></a>Abrimos un terminal y nos vamos a la carpeta del proyecto donde tengamos el repositorio local de <i>Git</i><br />
<i>cd /home/imahgin/Android/mAhGauge</i><br />
<br />
Verificamos que sea un repositorio correcto y no tenga errores<br />
<i>git status</i><br />
<br />
Ir a <i>github</i> y crear repositorio<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/W7Bg7yp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="66" data-original-width="322" height="65" src="https://i.imgur.com/W7Bg7yp.png" width="320" /></a></div>
<br />
Darle nombre y marcarlo como privado dejando el resto de opciones por defecto<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/35A24aF.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="596" data-original-width="522" height="640" src="https://i.imgur.com/35A24aF.png" width="560" /></a></div>
<br />
Nos aparecerá lo siguiente:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/jmrz8eW.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="611" height="640" src="https://i.imgur.com/jmrz8eW.png" width="616" /></a></div>
<br />
Seguimos las instrucciones para un repositorio ya existente y desde la terminal, en la carpeta donde tenemos alojado el proyecto:<br />
<br />
<i> git remote add origin https://github.com/imahgin/mAhGauge.git<br /> git push -u origin master<br /></i><br />
<br />
En este último paso nos pedirá el nombre de usuario y contraseña de Git tras lo cual veremos algo así:<br />
<div>
<div>
<br /></div>
<div>
<i> Total 454 (delta 119), reused 0 (delta 0)</i></div>
<div>
<i> remote: Resolving deltas: 100% (119/119), done.</i></div>
<div>
<i> To https://github.com/imahgin/mAhGauge.git</i></div>
<div>
<i> * [new branch] master -> master</i></div>
<div>
<i> Rama 'master' configurada para hacer seguimiento a la rama remota 'master' de 'origin'.</i></div>
</div>
<div>
<br /></div>
<div>
Si volvemos a la página de <i>GitHub</i> solo tenemos que refrescar y veremos el proyecto con <b>TODOS</b> los <i>commits</i> realizados:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/wISd2mi.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="221" data-original-width="691" height="203" src="https://i.imgur.com/wISd2mi.png" width="640" /></a></div>
<div>
<br /></div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-71642772965135533832018-05-01T15:06:00.000+02:002016-12-18T11:22:40.439+01:00Sensame: This app could save your live<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-zDjz056TRco/WClqr9utsMI/AAAAAAAAdYM/xoEqUPeBsBUl0IbspytaD7EvM3XMrmfngCEw/s1600/sensacrash.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-zDjz056TRco/WClqr9utsMI/AAAAAAAAdYM/xoEqUPeBsBUl0IbspytaD7EvM3XMrmfngCEw/s1600/sensacrash.png" /></a></div>
<h2 style="text-align: left;">
<a href="https://play.google.com/store/apps/details?id=com.imahgin.sensame" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img border="0" height="76" src="https://1.bp.blogspot.com/-2G9tjmH9Q_c/WE-pAoj8ngI/AAAAAAAAdtU/u4Z4tF_5AWYP9CXGXYwaDL2XnvxapvDkgCLcB/s200/EN_google-play-badge.png" width="200" /></a><u><br /></u></h2>
<h2 style="text-align: left;">
<u><br /></u></h2>
<h2 style="text-align: left;">
<u><br /></u></h2>
<h2 style="text-align: left;">
<u>WHAT IS <i>SENSAME?</i></u></h2>
<div style="text-align: left;">
SensaMe is a free application that 'feels' the movements of your phone.<br />
<br />
Most smartphones uses sensors for measuring, among other things, the position, rotation, steering angle and device acceleration, and are used in applications such as games or augmented reality. <i>SensaMe</i> uses this information to determine if your device has received a strong impact and if so, sends an <i>SMS</i> message with your location to people you had indicated.<br />
<br />
<a name='more'></a><br /></div>
<div style="text-align: left;">
<h2>
<u>DOWNLOAD</u></h2>
<h2>
<div style="font-size: medium; font-weight: normal;">
<div style="text-align: left;">
You can download <i>Sensame</i> from the <i>Play Store</i> by following this link:</div>
<div style="text-align: left;">
<a href="https://play.google.com/store/apps/details?id=com.imahgin.sensame">https://play.google.com/store/apps/details?id=com.imahgin.sensame</a><br />
<br /></div>
</div>
</h2>
<h2>
<u>REQUIREMENTS</u></h2>
<div>
These are the minimum requirements of the application:<br />
<ul style="text-align: left;">
<li>Android operating system version 4.0 or higher -Icecream-.</li>
<li>GSM connectivity for sending-receiving <i>SMS</i>.</li>
<li>Acceleration Sensor: Most devices have this sensor.</li>
</ul>
<br /></div>
<div>
<ul>
</ul>
</div>
</div>
<h2 style="text-align: left;">
<u>LIMITATIONS</u></h2>
<div style="text-align: left;">
Because of the limitations and sensor device characteristics, <i>Sensame </i>can not guarantee 100% effectiveness detecting a possible impact. False alarms can also occur, although the application has filters and settings that helps to avoid them.<br />
You can modify different options to suit your needs, your activity or of your device's features.<br />
<br />
The acceleration sensor of most devices is designed to work with 'normal' movements and the range of the sensor could not be wide enough. The maximum magnitude that is capable of measure is usually below 4 g, thus determining the maximum value that can be configured to detect an impact.<br />
<br />
Phone sensors uses energy and because of this, if they are not necessary, they are switched off. <i>SensaMe</i> needs to continually read movement sensors forcing the device to keep awake while moving. Although it provides some different mechanisms to save battery -see below-, it will last less when <i>SensaMe</i> is running.<br />
<br />
<i>SensaMe</i> sends an <i>SMS</i> in the event of an impact reporting our last position, therefore, we must have <i>GSM </i>signal with our provider.<br />
<br /></div>
<h2>
<u>FUNCTIONS</u></h2>
<h3 style="text-align: left;">
Impact detection</h3>
<i>SensaMe</i> operation is based in real time reading of your device motion sensor values. In case of an impact, an audible and visual alarm is automatically activated and the user has a configurable time to cancel the notice.<br />
If this time is exceeded the application sends a <i>SMS</i> to the number or numbers that you had set, reporting the impact event, your last known position and accuracy.<br />
<br />
<h3>
Inactivity detection</h3>
<div style="text-align: left;">
In a similar way that <i>SensaMe</i> uses the motion sensors to detect an impact, is able to detect inactivity. Thus, we can set the maximum time that the device can remain motionless. If exceeded, an alert will be activated and if not canceled, it will send an <i>SMS</i> with your last known position.<br />
This feature can be useful, for example, if you have an old person and want to control that does not exceed a time without detection his/her movement.<br />
<br /></div>
<div>
<h3>
Location detection</h3>
<h3>
<span style="font-size: small;"><span style="font-weight: normal;">If this option is enabled, other people can know the position of our phone via an <i>SMS</i> request. You may enable it for anyone who knows your number or restrict it to a list.</span></span></h3>
<h3>
<span style="font-size: small; font-weight: normal;">The person requesting does not need to have the application installed. Simply send a <i>SMS</i> with the word </span><span style="font-size: small;"><i>sensame</i></span><span style="font-size: small; font-weight: normal;"> to your mobile phone and <i>Sensame</i> will automatically answer with another <i>SMS</i> indicating your last known position.</span></h3>
<h3>
<span style="font-size: small; font-weight: normal;"><i>Note: the operator may apply charges as an ordinary SMS is sent.</i></span></h3>
</div>
<h2>
</h2>
<h3 style="text-align: left;">
</h3>
<h2>
<div style="text-align: left;">
<div>
</div>
</div>
</h2>
<h3>
Other uses</h3>
<div>
<ul style="text-align: left;">
<li>Find your phone: Have you lost your phone or somebody have stolen it? If the phone still has <i>GSM </i>signal and the application is running, you can know the position of your mobile by sending an <i>SMS</i> message to your number with the word <b>sensame</b>. This will only work if you have enabled the <i>Allow SMS reception to request position </i>in settings > contact information.</li>
<li>Motion or vibration alarm: If you set the acceleration sensor with a threshold of impact too low for example 1.1-, any slight movement or vibration will trigger the alarm. If you leave your mobile resting on a surface with this low value, an attempt to catch the phone will trigger the alarm. You could even detect tremors caused by an earthquake!!!!</li>
</ul>
</div>
<h2>
<u>FEATURES</u></h2>
<div>
These are the options and features of <i>Sensame </i>which can be modified in the settings menu.</div>
<ul style="text-align: left;">
<li>Auto-start: Each time you switch on your device, <i>Sensame </i>will start automatically.</li>
<li>Acceleration sensor impact detection: Real-time monitoring of acceleration sensor data on all three axes.</li>
<li>Audible alarm after impact/inactivity detection: An audible alarm will be heard even if the phone is muted. We can also configure it to sound at maximum volume regardless of the volume we had configured on the device.</li>
<li>Sending <i>SMS</i> after impact: After detecting an impact, the user has a time to stop the alarm. If not stopped, an <i>SMS</i> will be sent to the number or numbers configured, indicating our last known position.</li>
<li>Triple motion detection system: Speed - measured by <i>GPS</i> -, reading difference of a sensor axis and by acceleration threshold.</li>
<li>Signal filtering to rule out errors: Avoid false positives by discarding erroneous readings or out of tolerance values.</li>
<li>Acceleration sensor register: Current value, max and min.</li>
<li>Geolocation: Using triangulation by telephone network and/or GPS.</li>
<li>Log and display of events saved in internal memory.</li>
<li>Notifications: Motion detection is displayed on the screen, via notification LEDs and on Android Wear compatible watch.</li>
<li>Acceleration sensor calibration.</li>
<li>Test to check notification and sending SMS.</li>
<li>Reset of minimum and maximum values stored.</li>
<li>Self-wake-up function only when linked by Bluetooth -hands-free, for example-</li>
<li>Detection of zones without telephony network coverage -requires having the screen turned on-</li>
</ul>
<h2>
<u>PERMISSIONS</u></h2>
<div>
The following permissions are needed for the application to work properly:<br />
<ul style="text-align: left;">
<li>Location: From different sources as GPS, Cell-ID, WiFi.</li>
<li>SMS: Sending and receiving text messages.</li>
<li>Phone Status: To monitor the GSM signal.</li>
<li>Storage: To save logs in internal memory.</li>
<li>Camera: To access the flash.</li>
</ul>
<br />
In devices previous to Marshmallow, this permissions are granted when the application is downloaded and installed. In Marshmallow devices or later, they will be requested individually when the application starts.<br />
<br /></div>
<ul style="text-align: left;">
</ul>
<div>
<h2>
<u>DISCLAIMER</u></h2>
<div>
This application is free and is available for personal use, not allowing its commercial use.<br />
It is delivered as is without warranty of any kind, express or implied.<br />
It is possible that the Mobile Service Provider - telephony operator - charges for <i>SMS</i> delivery services. The user accepts responsibility for any charges that may arise, which in no case revert to the benefit of the creator of the application.</div>
</div>
<h2>
</h2>
<h2>
</h2>
<h2>
<u>DONATIONS</u></h2>
<div>
The best way to support this project is spreading the app.</div>
<div>
However, if you want to help with money, you can use <i>PayPal</i>:<br />
<br />
<br /></div>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="Q74JVG4S26CNG" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/es_ES/i/scr/pixel.gif" width="1" />
</form>
<h2>
<u><br /></u></h2>
<h2>
<u>LINKS</u></h2>
<div>
XDA forum: <a href="http://forum.xda-developers.com/android/apps-games/app-save-life-t3496878">http://forum.xda-developers.com/android/apps-games/app-save-life-t3496878</a> </div>
<h2>
<u>RECOMENDATIONS FOR USE</u></h2>
<div>
Each phone is different due to hardware - sensors, processor, etc. -, installed software or even the operating system version.<br />
We also have to add personal tastes and needs, so there is no "ideal configuration".<br />
However, it is suggested to enter the configuration and follow the following tips before starting the service for the first time:<br />
<br />
<ul style="text-align: left;">
<li><u>Sensor calibration</u>: Allows you to set the resting value of the acceleration sensor. Place the device on a flat surface and press the <i>Calibration button</i> on the configuration side panel.</li>
<li><u>Maximum value measurable by the sensor</u>: In some cases, the maximum range informed by the sensor is not correct so you would first have to verify what this value is ok. To do this, with the service activated, press the <i>Reset max-min</i> option in the side panel. Then hold the phone firmly so that it does not fall over and shake it violently. Record the value that appears in Max-Min. Repeat it a couple of times to verify the maximum value that the sensor can give.</li>
<li><u>Perform a test</u>: To verify that the configuration is correct and the settings are to your liking, you can press the <i>Test option</i> on the side panel to simulate an impact.</li>
<li><u>Show motion with notification LEDs</u>: Motion detection is key to the operation of the application. If you want to verify that the application is detecting the movement of our device, activate the <i>LED</i> notification in <i>Settings> Notifications</i>.</li>
</ul>
<div>
<br /></div>
</div>
<div>
IMPORTANT: Do not activate <i>SMS</i> alert - in <i>Settings> Notifications</i> - until you have tried the application for a few days. This will allow you to see if the application works correctly on your device and what values are right for your needs.<br />
Once you see that everything is fine, set the phone number or numbers to send the alert in case of impact and warn those people by explaining that they could receive a message if an impact was detected on your phone.</div>
<div>
<br /></div>
<div>
<i>Notes: </i></div>
<div>
<ul style="text-align: left;">
<li><i>Sending SMS can cause a charge depending on the contract you have with your operator. These SMS are normal and do not generate an added cost that will turn into benefits for me.</i></li>
<li><i>Do not set emergency number like 911 or any other emergency telephone number such as police or firefighters.</i></li>
</ul>
</div>
<h2>
<u>HOW TO SAVE BATTERY</u></h2>
<div>
By the time the screen of your device goes off, <i>Android</i> tries to save battery by entering what is called <i>deep sleep</i>. This includes the deactivation of sensors such as acceleration.<br />
<i>SensaMe</i> needs to read the data from this sensor even when the device is in this mode. This forces the application to periodically wake up the phone in order to ensure that this data is available, but this also means that the battery drain will be slightly higher when the application is active.<br />
<br />
SensaMe is smart, awakening the device as little as possible, thus avoiding unnecessary use of the battery. Even so, it is possible to extend the battery life considering adjusting the following parameters in the configuration section:<br />
<ul style="text-align: left;">
<li><u>Increase the time configured to wake the device</u>: We can increase the time the application has to wake up the device periodically. The longer this time, the less times it will wake it up, but the effectiveness in motion detecting will be reduced.</li>
<li><u>Allow automatic wake-up</u>: In any case, once motion is detected, <i>SensaMe</i> will keep the phone awake until it detects that there is no motion. If we want the maximum battery savings, we can disable this behavior and the application will only be able to read the sensor values when the phone is awake. This will, however, reduce the chances of detecting an impact because if it happens while the phone is in deep sleep, the application will not be able to read the value of the acceleration sensor.</li>
<li><u>Disable logging</u>: Only activate it if you see strange behavior of the application and need to report it to the developer.</li>
<li><u>Do not activate GPS location</u>: GPS location is the most accurate but consumes more energy. <i>SensaMe</i> gets the location by triangulation if GPS is not available. If we move through areas with good coverage, the precision obtained is more than sufficient. If we are going to move around areas with little coverage, it is advisable to use the GPS signal.</li>
<li><u>Wake-up service only when linked by Bluetooth</u>: Allows you to configure the application to periodically wake up the phone but only if we are linked by Bluetooth with a device. This is useful if we use the handsfree of the vehicle and we want <i>SensaMe</i> to start when we are in our vehicle.</li>
</ul>
</div>
<h2>
<u>OPTIONS AND SETTINGS</u></h2>
To access the options and settings menu we must access the left side panel, either by sliding the finger from the left edge to the right or by pressing the upper left icon of the screen.<br />
<h3 style="text-align: left;">
Options</h3>
<div>
<ul style="text-align: left;">
<li><u>Delete Log</u>: Deletes the log file from internal memory.</li>
<li><u>View Log</u>: Displays the stored log file.</li>
<li><u>Calibrate</u>: Allows you to calibrate the acceleration sensor. To do this, place the phone on a flat surface before pressing this option.</li>
<li><u>Test</u>: Simulates an impact allowing to check if the notification options that we have configured are correct.</li>
<li><u>Reset max-min</u>: Resets the maximum and minimum value detected by the application since the service was activated.</li>
</ul>
</div>
<h3 style="text-align: left;">
Settings</h3>
<div>
<br /></div>
<div style="text-align: left;">
<b>
General</b></div>
<ul style="text-align: left;">
<li><u>Start application on startup</u>: The application runs automatically when the device boots.</li>
<li><u>Enable log</u>: Saves the activity detected by the application in memory. It is useful in case of application failure to determine the source of the problem.</li>
<li><u>Verbose Log</u>: Saves more detailed information about the activity.</li>
<li><u>Bypass the unlock pattern</u>: If we have a lock pattern, in case of impact/inactivity, the alert will be displayed directly without the need to unlock the phone.</li>
<li><u>Wakelock</u>: Keeps the phone awake whenever the screen is off. It ensures instant motion detection but reduces battery life.</li>
<li><u>Enable auto-wake up</u>: This option must be checked if we want to make sure that the application detects the movement of the device even when it is in deep sleep.</li>
<li><u>Time to wake-up</u>: If we have the previous option enabled, here we can set the time interval in which the device will wake up to verify the movement. The lower it is, the better the detection will be guaranteed but the battery consumption will increase. Recommended value: 8-15 seconds.</li>
<li><u>Awake service only with Bluetooth linked</u>: Allows you to save battery since the application only wakes up the device if it is linked by <i>Bluetooth</i>. Useful when you ride a vehicle and you have activated the handsfree. <i>Sensame</i> will be activated when it detects that you are linked.</li>
<li><u>Location from GPS</u>: Obtains the location from <i>GPS</i>. Requires that we have <i>GPS</i> enabled in our device. If this option is not enabled, the location is calculated by triangulation of the telephony antennas.</li>
<li><u>Time interval between location update</u>: Elapsed time in seconds between samples to update our location.</li>
<li><u>Time to send SMS after impact / inactivity</u>: After impact/inactivity detection, is the time in seconds that will wait before sending and SMS. During this time, the user can stop the alarm thus avoiding sending the message.</li>
</ul>
<div>
<div style="text-align: left;">
<b>
Notifications</b></div>
<ul>
<li><u>Enable LED notifications when in motion</u>: Enables the notifications <i>LED</i> when motion is detected. It also displays a notification at the top of the screen, in the status bar.</li>
<li>Show accelerometer values in notification: Real time values are shown in notifications (<i>Android Wear </i>too) </li>
<li><u>Enable vibration in notifications</u>: Each notification displayed by motion detection will generate a small vibration in the device.</li>
<li><u>Enable torch when impact detected</u>: When an impact/inactivity is detected, turn on the flash of the device to help us to find it in low light conditions.</li>
<li><u>Torch dependent on ambient light</u>: The flash only lights up if the ambient light is low.</li>
<li><u>Torch dependent on proximity sensor</u>: The flash only lights up if the proximity sensor is not active.</li>
<li><u>Enable vibration when impact detected</u>: In addition to the sound alert, we can also make the device vibrate.</li>
<li><u>Sound when impact detected</u>: It emits an alarm sound when it detects impact/inactivity.</li>
<li><u>Volume MAX</u>: Sets the loudspeaker volume to the maximum while the alarm sounds regardless of the volume we have set or even if the phone is muted.</li>
<li><u>GSM signal lost</u>: Emits an alert sound if the <i>GSM</i> signal is below a threshold detecting that we are out of coverage. Due to limitations of the operating system, this function is only available if screen is on, which greatly reduces battery life.</li>
<li><u>Screen on</u>: Keeps the screen on always. Useful if we have the previous option enabled.</li>
<li><u>GSM signal threshold</u>: Set the minimum signal value to be notified (1: poor, 31: best)</li>
</ul>
<div style="text-align: left;">
<b>
Contact information</b></div>
</div>
<ul style="text-align: left;">
<li><u>Send SMS when impact/inactivity is detected</u>: Send a text message with information from our last known position.</li>
<li><u>Telephone numbers to send <i>SMS</i></u>: List of comma-separated telephones to which the message will be sent.</li>
<li><u>Enable incoming <i>SMS</i> to request position</u>: It allows to request our position from another phone by sending an SMS with the word <i><b>sensame</b></i>.</li>
<li><u>Enabled phones to request position</u>: List of comma-separated telephones that can request our position. If we leave it blank and the previous option is enabled, anyone who knows our phone number will be able to request our position.</li>
</ul>
<div style="text-align: left;">
<b>
Accelerometer settings</b></div>
<ul style="text-align: left;">
<li><u>Max time between samples to trigger</u>: Time in milliseconds from which a forced reading is generated since the accelerometer has not given signals. Under normal conditions, the acceleration sensor sends multiple updates per second so this time should not be exceeded.</li>
<li><u>Impact threshold</u>: Value in <i>g</i> from which an impact event is generated. Recommended value greater than 3.</li>
<li><u>Motion movement</u>: Sets the sensitivity with which the application detects the movement -in m / s2-</li>
<li><u>Time to rest</u>: Time to detect that we are no longer moving in ms.</li>
<li><u>Acceleration sensor rate</u>: Adjusts the refresh rate of the acceleration sensor. The greater the value, the greater the battery will drain. The minimum value is usually effective on most devices.</li>
<li><u>Filter repeated values</u>: Ignores those values that are repeated, saving process time.</li>
<li><u>Wait for inactivity after impact</u>: Allows to prevent false alarms. If we are performing a physical activity such as running or jumping, it is possible for the acceleration sensor to a value that exceeds the warning threshold, causing <i>SensaMe</i> to detect it as an impact. It is possible to avoid this scenario by activating this option and setting a waiting time for rest. Thus, even if a value is detected that would trigger the alarm, it will only sound if, after that event, a rest occurs before the indicated time. Normally, if we have an accident or suffer a fall, there will be a high deceleration value followed by a rest.</li>
<li>Time to wait for rest after impact: Allows you to set the time the application will wait after an impact is detected and it comes to rest. Countdown shown in notification area.</li>
</ul>
<div>
<div style="text-align: left;">
<b>
Inactivity settings</b></div>
</div>
<div>
<ul style="text-align: left;">
<li>I<u>nactivity monitoring</u>: Enables the inactivity check. If the indicated time is exceeded, an alarm will be activated. If it is not canceled, an <i>SMS</i> will be sent with our position.</li>
<li><u>Inactivity time</u>: Idle time allowed. If exceeded, an alarm is generated.</li>
</ul>
</div>
<h2 style="text-align: left;">
</h2>
<div style="text-align: center;">
</div>
<h2>
<u>SCREENS</u></h2>
<h3 style="text-align: left;">
Main screen</h3>
<div>
Contains information on the device model, maximum range reported by the sensor that is able to detect, accelerometer sensor current value in the different coordinates, current magnitude, max-min magnitude detected, last detected position and Bluetooth connection status.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/gzU1zTg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/gzU1zTg.png" width="388" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
The button placed at the bottom of the screen allows you to start/stop the service.</div>
<div class="separator" style="clear: both;">
<br /></div>
<h3 style="clear: both;">
Options panel</h3>
<div>
Access the application options and the settings menu. Swipe from the left margin of the screen to the right or tap the icon at the top left of the main screen to display it.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/CcpEZbn.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/CcpEZbn.png" width="384" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<h3 style="text-align: left;">
Settings menu</h3>
<div>
The different options are grouped in different sub-menus:</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/xYorT03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/xYorT03.png" width="384" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/IXq4a9H.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/IXq4a9H.png" width="392" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/7rM8tJa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/7rM8tJa.png" width="384" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/cPprU6C.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/cPprU6C.png" width="386" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/ghLyHXP.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/ghLyHXP.png" width="384" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/0FENH4W.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/0FENH4W.png" width="386" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h3 style="text-align: left;">
Alert screen</h3>
<div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Whenever an impact or inactivity detection occurs, an alarm is generated and a screen like the following will be displayed:<br />
<br />
<div style="text-align: center;">
<a href="http://i.imgur.com/KiBveAd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="640" src="https://i.imgur.com/KiBveAd.png" width="384" /></a></div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="" style="clear: both;">
The user has a configurable time to cancel the alarm, which is displayed as a countdown on the screen, and if this is exceeded, an <i>SMS</i> is sent with our position to the phone numbers that we would have indicated.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<br />
<br />
<br /></div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com1tag:blogger.com,1999:blog-3798863297119448774.post-17923987536699682442018-04-29T11:19:00.000+02:002018-04-29T11:19:03.688+02:00No puedo instalar aplicaciones desde el teléfono<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: justify;">
Por alguna extraña razón, no puedo instalar según qué aplicaciones desde el <i>Google Play</i> del propio teléfono. La aplicación aparece en listado y es compatible con la versión de <i>Android </i>pero al hacer clic sobre ella para instalarla me aparece un error indicando que no tengo conexión, a pesar de activada la <i>WiFi</i>.</div>
<div class="separator" style="clear: both; text-align: justify;">
No es un problema de datos pues con otras aplicaciones no tengo problemas pero por ejemplo con <i>Google Fotos</i> o <i>Alarma de lluvia</i>, no es posible realizar la instalación. </div>
<div class="separator" style="clear: both; text-align: justify;">
O bien me aparece esta pantalla</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-oMSqfJNhpMg/WuWCYYQYADI/AAAAAAAAiNI/LCNuJzGsfdIJQ8UFQkoSCvR95QGuuBaSQCKgBGAs/s1600/Screenshot_2018-04-29-10-04-23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="640" src="https://2.bp.blogspot.com/-oMSqfJNhpMg/WuWCYYQYADI/AAAAAAAAiNI/LCNuJzGsfdIJQ8UFQkoSCvR95QGuuBaSQCKgBGAs/s640/Screenshot_2018-04-29-10-04-23.png" width="360" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
O bien aparece el siguiente error:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-g4YcJ2qJFyc/WuWHEVLu08I/AAAAAAAAiNs/pu9jmnNv7eMcLq1iG5w05GELVtsQX-jVgCKgBGAs/s1600/Screenshot_2018-04-29-10-48-22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="640" src="https://2.bp.blogspot.com/-g4YcJ2qJFyc/WuWHEVLu08I/AAAAAAAAiNs/pu9jmnNv7eMcLq1iG5w05GELVtsQX-jVgCKgBGAs/s640/Screenshot_2018-04-29-10-48-22.png" width="360" /></a></div>
<br />
<a name='more'></a>El problema sea posiblemente a un fallo de la versión de <i>Google Play </i>instalada y aunque no tengo claro por qué aparece ese error solo con algunas aplicaciones, la solución es muy simple.<br />
Tan solo hay que instalarla desde un navegador accediendo a la tienda de <i>Google: <a href="https://play.google.com/store">https://play.google.com/store</a>, </i>buscar la aplicación deseada e indicar que la quieres instalar en tu dispositivo<br />
<br />
<div style="text-align: center;">
<a href="https://i.imgur.com/1ysbnZP.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="611" data-original-width="733" height="532" src="https://i.imgur.com/1ysbnZP.png" width="640" /></a></div>
<div style="text-align: center;">
<a href="https://i.imgur.com/AoL8JgC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="246" data-original-width="611" height="256" src="https://i.imgur.com/AoL8JgC.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Al cabo de unos instantes la aplicación se instalará de forma automática sin problema</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-mQmvfvrZtHM/WuWCYa1X0fI/AAAAAAAAiNI/33emWrUuS5UJ9JDPppcu_NiE_nM1cVpoQCKgBGAs/s1600/Screenshot_2018-04-29-10-07-21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="640" src="https://4.bp.blogspot.com/-mQmvfvrZtHM/WuWCYa1X0fI/AAAAAAAAiNI/33emWrUuS5UJ9JDPppcu_NiE_nM1cVpoQCKgBGAs/s640/Screenshot_2018-04-29-10-07-21.png" width="360" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-49532514106010916262018-04-14T12:03:00.000+02:002018-04-14T12:03:16.278+02:00Gtk-WARNING **: cannot open display: :0<div dir="ltr" style="text-align: left;" trbidi="on">
<div align="justify">
Intentando ejecutar Nautilus como root me apareció el siguiente mensaje de error:</div>
<div align="justify">
<br /><div style="background-color: white; font-size: 13px; text-align: center;">
<span style="color: red; font-family: inherit; font-size: medium;"><i> Gtk-WARNING **: cannot open display: :0</i></span></div>
<div style="background-color: white; color: #444444; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;">
<span style="font-size: medium;"></span></div>
<a name='more'></a><span style="font-size: medium;"><br /></span></div>
<div align="justify">
La solución es simple y pasa por ejecutar antes el siguiente comando:</div>
<div style="text-align: justify;">
<span style="background-color: #eff0f1; color: #111111; font-family: consolas, menlo, monaco, "lucida console", "liberation mono", "dejavu sans mono", "bitstream vera sans mono", "courier new", monospace, sans-serif; font-size: 13px; text-align: left;">xhost +</span></div>
<div align="justify">
<div style="background-color: white; color: #444444; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;">
<span style="font-size: medium;"><br /></span></div>
Después de hacerlo veremos un mensaje similar al siguiente:</div>
<div align="justify">
<br /></div>
<div align="justify" style="background-color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;">
<span style="color: red; font-size: medium;">access control disabled, clients can connect from any host</span></div>
<div align="justify">
<div style="background-color: white; color: #444444; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;">
<span style="font-size: medium;"><br /></span></div>
Al ingresar posteriormente como root ya podremos ejecutar programas desde la terminal.</div>
<div align="justify">
<br /></div>
<div align="justify">
Otra forma alternativa es mediante el siguiente comando:<div style="background-color: white; color: #444444; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;">
<span style="font-size: medium;"><span style="background-color: #eff0f1; color: #111111; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 13px; text-align: left;">xhost local:root</span></span></div>
</div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-48569841210831977912018-04-14T11:56:00.001+02:002018-04-14T11:56:07.077+02:00systemd-resolve consume mucha CPU después de actualizar a Ubuntu 17.04<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="border: 0px; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Seguramente no serás la única persona a la que la actualización a la versión 17.04 de <i>Ubuntu </i>le ha creado problemas de consumo de <i>CPU</i>.</div>
<div style="border: 0px; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Si abres un administrador de tareas verás que <i>system-resolve</i> consume mucho procesador lo cual afecta al rendimiento del equipo.</div>
<div style="border: 0px; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Destruyendo el proceso, se soluciona... hasta que vuelve a ser lanzado, ya que es el servicio que se encarga de proporcionar las <i>DNS</i> cuando nos conectamos a <i>Internet</i>.</div>
<div style="border: 0px; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
<a name='more'></a>Para solucionarlo definitivamente tendremos que editar el archivo <i>/etc/default/dnsmasq </i>y añadir la siguiente línea </div>
<div style="border: 0px; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
<div style="background-color: white; color: #111111; font-family: ubuntu, arial, "libra sans", sans-serif; font-size: 15px;">
<code style="background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;">DNSMASQ_EXCEPT=lo</code> </div>
</div>
Después, deberemos reiniciar el servicio de la siguiente manera:<div>
<br /><pre style="background-color: #eff0f1; border: 0px; color: #111111; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">sudo service systemd-resolved restart</code></pre>
</div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-60748305039655374022018-04-14T11:49:00.002+02:002018-04-14T11:49:26.862+02:00GIT: Remote error refusing to update checked out branch<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Este mensaje me apareció al intentar hacer un <i>push</i> al repositorio de <i>Git</i><br />
<i><br /></i>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/yaQ9nfM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://i.imgur.com/yaQ9nfM.png" width="586" /></a></div>
<br />
<br />
<a name='more'></a>Pare solucionarlo, simplemente podemos convertir el repositorio remoto a un repositorio 'desnudo' o <i>bare </i>el cual contendrá una copia del repositorio actual.<br />
Para ello nos vamos al <i>path </i>del repositorio actual -si utilizamos <i>SourceTree </i>podemos clicar aquí-<br />
<br />
<a href="http://i.imgur.com/Gsn5dGz.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="88" src="https://i.imgur.com/Gsn5dGz.png" width="640" /></a>y ejecutamos:<br />
<br />
<pre style="text-align: center;"><code>git config --bool core.bare true
</code></pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/weZUNBF.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="https://i.imgur.com/weZUNBF.png" width="640" /></a></div>
Una vez se completa la operación, borramos todos los archivos y carpetas de ese directorio excepto <i>.git</i><br />
A partir de ese momento podrás realizar el <i>push </i>sin problema<br />
<div>
<br />
Una alternativa a este proceso sería ejecutar la siguiente línea<br />
<br />
<pre style="text-align: center;"><code>git init --bare</code></pre>
</div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-24632374867112988602018-04-14T11:36:00.000+02:002018-04-14T11:36:48.390+02:00Instalar consola Linux en Windows 10<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Algo está cambiando en <i>Microsoft</i> y su acercamiento a <i>Linux </i>lo demuestra.<br />
Con su modo <i>Powershell</i> que acepta comandos de <i>Linux</i> ya se veía el guiño a esta plataforma, pero ahora es posible instalar una consola <i>Linux </i>en <i>Windows 10 </i>a través de la tienda oficial de <i>Windows</i> como si se tratara de una aplicación más.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/3Kzo8wJ.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="623" data-original-width="800" height="497" src="https://i.imgur.com/3Kzo8wJ.png" width="640" /></a></div>
<br />
<br />
<a name='more'></a>Aunque solo se trata de la consola -no es el <i>Ubuntu </i>gráfico que conocemos<i>- </i>permite a los desarrolladores trabajar con una consola de <i>Linux </i>desde <i>Windows</i> sin necesidad de instalar una máquina virtual.<br />
No obstante, antes de poder instalar estas aplicaciones, deberemos habilitar algunas opciones en nuestro <i>Windows</i>:<br />
<ul style="text-align: left;">
<li>Activar <i>Windows subsystem for Linux:</i></li>
<ul>
<li style="text-align: left;"><i>Panel de control >> Programas >> Activar o desactivar características de Windows</i></li>
</ul>
</ul>
<a href="https://i.imgur.com/8hBc22V.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="334" data-original-width="682" height="312" src="https://i.imgur.com/8hBc22V.png" width="640" /></a><br />
<ul style="text-align: left;"><ul>
<li><i style="font-style: italic;"> Marcar Subsistema de Windows para Linux</i><i> </i>y reiniciar cuando lo pregunte<i>. </i>El proceso de aplicar cambios puede tardar unos segundos</li>
</ul>
</ul>
<div style="text-align: center;">
<a href="https://i.imgur.com/7oV3JTl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="369" data-original-width="416" height="353" src="https://i.imgur.com/7oV3JTl.png" width="400" /></a></div>
<ul style="text-align: left;"><ul>
<li>Otra opción es hacerlo desde la consola <i>Powershell</i>. La abrimos con derechos de administrador y tecleamos lo siguiente:</li>
</ul>
</ul>
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;">
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;">
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;">
<i>Enable-WindowsOptionalFeature<span class="hljs-parameter" style="background-color: #f9f9f9; color: #007d9a; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 0.875rem; word-spacing: normal;"> -Online</span><span class="hljs-parameter" style="background-color: #f9f9f9; color: #007d9a; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 0.875rem; word-spacing: normal;"> -FeatureName</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 0.875rem; word-spacing: normal;"> </span><span class="hljs-pscommand" style="background-color: #f9f9f9; color: #0101fd; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 0.875rem; word-spacing: normal;">Microsoft-Windows</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 0.875rem; word-spacing: normal;">-</span><span class="hljs-pscommand" style="background-color: #f9f9f9; color: #0101fd; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 0.875rem; word-spacing: normal;">Subsystem-Linux</span></i></blockquote>
</blockquote>
</blockquote>
<br />
Después del proceso, reiniciamos el ordenador<br />
<br />
Con estos pasos realizado, ya podemos ir a la tienda de <i>Windows </i>y elegir la consola <i>Linux </i>que más nos guste.<br />
Aquí os dejo algunos enlaces directos:<br />
<ul style="font-size: 16px; margin: 16px 0px 16px 38px; padding: 0px;">
<li style="list-style: disc outside none;"><a data-linktype="external" href="https://www.microsoft.com/store/p/ubuntu/9nblggh4msv6" style="cursor: pointer; text-decoration-line: none; word-wrap: break-word;"><span style="background-color: white; color: black; font-family: inherit;">Ubuntu</span></a></li>
<li style="list-style: disc outside none;"><a data-linktype="external" href="https://www.microsoft.com/store/apps/9njvjts82tjx" style="cursor: pointer; text-decoration-line: none; word-wrap: break-word;"><span style="background-color: white; color: black; font-family: inherit;">OpenSUSE</span></a></li>
<li style="list-style: disc outside none;"><a data-linktype="external" href="https://www.microsoft.com/store/apps/9p32mwbh6cns" style="cursor: pointer; text-decoration-line: none; word-wrap: break-word;"><span style="background-color: white; color: black; font-family: inherit;">SLES</span></a></li>
<li style="list-style: disc outside none;"><a data-linktype="external" href="https://www.microsoft.com/store/apps/9PKR34TNCV07" style="cursor: pointer; text-decoration-line: none; word-wrap: break-word;"><span style="background-color: white; color: black; font-family: inherit;">Kali Linux</span></a></li>
<li style="list-style: disc outside none;"><a data-linktype="external" href="https://www.microsoft.com/store/apps/9MSVKQC78PK6" style="cursor: pointer; word-wrap: break-word;"><span style="background-color: white; color: black; font-family: inherit;">Debian GNU/Linux</span></a></li>
</ul>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-52496628223799919712018-04-14T11:21:00.001+02:002018-04-14T11:21:19.129+02:00The VirtualBox kernel modules do not match this version of VirtualBox<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="border: 0px; box-sizing: inherit; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Intentando instalar <i>VirtualBox </i>en mi distro <i>Linux</i> me apareció el siguiente mensaje:<br />
<br />
<span style="color: red;">The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful</span><br />
<br />
La instalación la realicé descargando el último binario disponible en la página <i>web</i>, no a través del gestor de aplicaciones de <i>Linux.</i><br />
<br />
<a name='more'></a>Previamente había instalado la versión disponible en el gestor de aplicaciones y posiblemente este sea el problema.<br />
Vi que la versión colgada en la tienda no era la última disponible en la página <i>web </i>así que desinstalé la que tenía y me descargué la nueva.<br />
Después de instalarla, al ejecutarla e intentar crear una máquina virtual nueva me aparecía el error antes comentado.<br />
El problema es que, aunque desinstalé la versión previa, los módulos de <i>kernel</i> no se desinstalan por lo que la nueva versión se queja de un conflicto de versiones.<br />
<br />
Para solucionar el problema deberemos verificar si <i>virtualbox-dkms</i> está instalado.</div>
<pre style="border: 0px; box-sizing: inherit; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #111111; font-family: consolas, menlo, monaco, "lucida console", "liberation mono", "dejavu sans mono", "bitstream vera sans mono", "courier new", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">dpkg -l | grep virtualbox-dkms</code><span style="border-color: initial; border-image: initial; border-style: initial; box-sizing: inherit; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit;">
</span></pre>
Seguramente nos aparecerá una entrada en la lista y esta será la causa del problema por lo que procederemos a desinstalarlo e instalarlo de nuevo -con la última versión-<div>
<br /><pre style="background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #111111; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">sudo apt-get purge virtualbox-dkms && \
sudo apt-get install dkms </code></pre>
<div style="border: 0px; box-sizing: inherit; clear: both; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
Finalmente reconstruiremos los módulos de <i>kernel </i>para nuestro actual <i>VirtualBox</i><span style="color: #111111; font-family: ubuntu, arial, libra sans, sans-serif;"><span style="background-color: white; font-size: 15px;">:</span></span></div>
<pre style="background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #111111; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">sudo /sbin/vboxconfig </code></pre>
</div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-45403699128794897002018-04-14T10:35:00.000+02:002018-04-21T09:59:53.229+02:00Linux: Velocidad muy lenta al escribir archivos grandes en discos NTFS<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
¿Tienes problemas de rendimiento de memorias <i>USB</i> en tu distribución de <i>Linux</i>?</div>
Recientemente observé que una memoria <i>flash </i>que funcionaba perfectamente en <i>Windows</i> no lo hacía tan bien en <i>Linux Mint </i>cuando se trataba de copiar archivos con un tamaño grande.<br />
Con otras memorias <i>USB</i> no tenía problema y esta en cuestión no estaba dañada pues en <i>Windows </i>funcionaba correctamente.<br />
La única cosa que difería de otras <i>USB</i> que tenía es que esta estaba particionada con formato <i>NTFS</i>.<br />
Buscando en <i>Internet </i><a href="https://www.tuxera.com/community/ntfs-3g-faq/#perfstatus">esta</a> página me dio alguna pista.<br />
<br />
<br />
<a name='more'></a>El problema es debido a cómo se montan las particiones <i>NTFS </i>en <i>Linux</i>. <i>NTFS </i>es originario de <i>Windows </i>y por algún motivo, no se comporta con rendimiento óptimo en <i>Linux</i> debido al tamaño de los bloques haciendo que el uso de <i>CPU</i> pueda sea elevado y el rendimiento de la escritura sea muy bajo con archivos de gran tamaño.<br />
<br />
La solución pasa por indicar explícitamente que queremos trabajar con un tamaño de bloque mayor que el que <i>NTFS </i>tiene por defecto y eso lo podemos hacer montando la unidad con la opción <i>big_writes</i>. Esto significa, no obstante, que tenemos que desmontar la unidad si ya la teníamos montada.<br />
<br />
El proceso sería el siguiente:<br />
<br />
<ul style="text-align: left;">
<li>Listamos los dispositivo montados: De esta forma tenemos que identificar el punto de montaje de nuestra unidad. Eso lo hacemos con el comando:</li>
</ul>
<br />
<div style="text-align: center;">
<i> <span style="color: red;">lsblk</span></i></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/QfUnwdE.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="211" data-original-width="556" height="242" src="https://i.imgur.com/QfUnwdE.png" width="640" /></a></div>
<br />
<br />
<ul style="text-align: left;">
<li>Desmontamos la unidad deseada: En este caso se trata de la memoria <i>USB sdb</i> montada en <i>/media/imahgin/imahgin</i> </li>
</ul>
<br />
<div style="text-align: center;">
<i><span style="color: red;">sudo umount /media/imahgin/imahgin</span></i></div>
<br />
<br />
<ul style="text-align: left;">
<li>Lo montamos con la opción <i>big_writes</i>: Para ello primero creamos una carpeta donde montaremos la unidad y después la montaremos con la opción <i>big_writes</i></li>
</ul>
<br />
<br />
<div style="text-align: center;">
<span style="color: red;"><i>sudo mkdir /media/imahgin/imahgin</i></span></div>
<div style="text-align: center;">
<span style="color: red;"><i>sudo mount -o big_writes /dev/sdb1 /media/imahgin/imahgin</i></span></div>
<div style="text-align: center;">
<br /></div>
Si listamos las particiones con el comando <i>mount</i> nos aparecerá así:<br />
<i><span style="color: blue;">/dev/sdb1 on /media/imahgin/imahgin type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)</span></i><br />
<div>
<br /></div>
<br />
A partir de ese momento podemos trabajar normalmente con la unidad y podremos ver como al copiar archivos de gran tamaño, el rendimiento no cae.<br />
Cuando queramos desmontarlo, podemos hacerlo desde el navegador de nuestro <i>Linux </i>o por consola como ya hicimos al principio borrando después el punto de montaje:<br />
<br />
<div style="text-align: center;">
<span style="color: red;">sudo umount /media/imahgin/imahgin</span></div>
<div>
<div>
<div style="text-align: center;">
<span style="color: red;">sudo rm -r /media/imahgin/imahgin/</span></div>
</div>
</div>
<div>
<br /></div>
Si bien durante la copia no hay merma de rendimiento, hay que tener en cuenta que estos dispositivos utilizan una memoria <i>caché</i> intermedia que ayuda a aumentar el rendimiento. Al desmontarlo esta caché se volcará a la unidad motivo por el cual podrá tardar unos segundos en función del tamaño de los datos a grabar.<br />
<br />
Si queremos que estos cambios se realicen de forma automática cada vez que insertamos el disco, debemos editar la configuración en el archivo <i>/etc/fstab. </i>También podemos hacerlo desde la utilidad de discos del sistema operativo. Si ejecutamos <i>Discos</i> nos aparecerán los discos detectados en nuestro equipo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/E9iue3u.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="460" data-original-width="642" height="458" src="https://i.imgur.com/E9iue3u.png" width="640" /></a></div>
<br />
<br />
Seleccionamos el disco en cuestión y la partición donde se encuentran los datos y que queremos montar de esta forma especial, pulsamos en el icono de herramientas y seleccionamos <i>Editar las acciones de montaje</i>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/TCvJ3OO.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="503" data-original-width="728" height="442" src="https://i.imgur.com/TCvJ3OO.png" width="640" /></a></div>
<br />
En esta pantalla deberemos deseleccionar la primera opción -<i>Opciones de montaje automático-</i> y añadir <b><i>big_writes</i> </b>como se aprecia en la imagen.<br />
La próxima vez que insertéis la unidad, este cambio se tomará en cuenta.<br />
<br /></div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-38263662921267062842017-12-24T10:59:00.000+01:002017-12-24T10:59:01.033+01:00Correo temporal con adjuntos<div dir="ltr" style="text-align: left;" trbidi="on">
¿Necesitas registrarte en una página y no quieres dar tu correo real?<br />
Existen muchos servicios que permiten obtener una cuenta temporal a la que recibir mensajes de registro, pero en algunos casos la activación o la información que deseas viene en forma de un adjunto. En este caso las opciones se reducen ya que hay pocos servicios gratuitos que ofrezcan dicha solución<br />
<br />
<br />
<a name='more'></a>Para mí, una de las mejores opciones es <i><a href="https://dropmail.me/es/">Dropmail</a>. </i><br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/21MSyKf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="176" data-original-width="800" height="140" src="https://i.imgur.com/21MSyKf.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Entre sus características podemos destacar:<br />
<br />
<ul style="text-align: left;">
<li>Gratuito: Completamente gratis. No tienes que pagar nada por utilizar sus servicios. Solo hay un pequeño <i>banner</i> publicitario pero no molesta en exceso y está libre de programas maliciosos o que realicen minería de cripto-monedas -por lo menos en el momento de escribir estas líneas-. Si te gusta el servicio, puedes realizar una donación.</li>
<li>Muy sencillo de utilizar: No requiere registro alguno y tan solo debes copiar la dirección de correo que te aparece en la parte superior. Cuando facilites ese correo, todos los mensajes que se envíen allí, podrás verlos en esta página.</li>
<li>No caduca: Algunos servicios gratuitos mantienen esa cuenta durante un tiempo limitado. En <i>Dropmail</i>, se mantiene indefinidamente mientras no refresques el navegador -si lo haces, generará un nuevo correo temporal.</li>
<li>Seguro: La conexión es segura, con certificado válido y esa dirección solo la tienes tú. En otros servicios similares, la dirección es compartida por varios usuarios y puedes ver mensajes que llegan a otras personas y estas pueden ver los tuyos!!!</li>
</ul>
<div>
Además tiene dos funciones adicionales también gratuitas que lo hace especialmente interesante:</div>
<div>
<ul style="text-align: left;">
<li>Podemos reenviar los correos recibidos a esta cuenta a nuestro <i>e-mail</i> verdadero. Así, el remitente no conoce nuestro auténtico correo y recibimos la información directamente en nuestra bandeja de correo. </li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/ZQQ8tOY.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="130" data-original-width="800" height="104" src="https://i.imgur.com/ZQQ8tOY.png" width="640" /></a></div>
<div>
<br /></div>
Podemos desactivarlo cuando ya no lo necesitemos.<br />
<ul style="text-align: left;">
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/rt5HdgY.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="278" data-original-width="758" height="234" src="https://i.imgur.com/rt5HdgY.png" width="640" /></a></div>
<div>
<br />
<ul style="text-align: left;">
<li><b>Acepta ficheros adjuntos</b>: No solo podremos ver los mensajes que nos lleguen a la cuenta temporal sino que si estos tienen un adjunto, podremos descargarlo desde la propia página</li>
</ul>
</div>
</div>
</div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-76491644547055006312017-12-24T10:33:00.001+01:002017-12-24T10:33:09.312+01:00mke2fs process ended with signal: 6<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="font-stretch: normal; line-height: 20px;">
Al intentar actualizar la <i>ROM </i>de mi <i>smartphone</i> a través del <i>recovery,</i> me aparecen varios errores.</div>
<div style="font-stretch: normal; line-height: 20px;">
Si intento realizar un <i>wipe</i> previo tengo los siguientes mensajes de error:</div>
<blockquote style="color: #454545; font-family: Hind, sans-serif; font-size: 14px;">
<span style="color: red; line-height: normal;">mke2fs -t ext4 -m 0 /dev/block/mmcblk0p18 process ended with signal: 6<br />Unable to wipe Cache<br />Unable to wipe /cache</span></blockquote>
Si intento <i>flashear</i> directamente la <i>ROM</i>, los mensajes son estos:<blockquote style="-webkit-text-stroke-width: 0px; color: #454545; font-family: Hind, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<span style="color: red; line-height: normal;">E1001: Failed to update system image<br />Updater process ended with ERROR: 7</span></blockquote>
<br />
<a name='more'></a>El problema es debido al <i>Recovery</i>. Para instalar esta <i>ROM</i> era necesario actualizar el <i>recovery </i>primero -<i>TWRP-</i> y para que el proceso funcione, es necesario usar la opción <i>rm</i> en lugar de <i>formatting</i>.<br />
<br />
Por tanto, antes de hacer nada, deberemos ir a las opciones del <i>recovery </i>y en las opciones generales marcar la opción <i><span style="color: red;">Use tm -rf instead of formatting</span></i><br />
<span style="color: #454545; font-family: "hind" , sans-serif;"><span style="font-size: 14px;"><br /></span></span><span style="background-color: #ebebeb; color: #454545; font-family: "hind" , sans-serif; font-size: 14px;"></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/tyVaHtl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="450" height="640" src="https://i.imgur.com/tyVaHtl.png" width="360" /></a></div>
<br />
<br />
Si volvemos a intentar grabar la nueva <i>ROM</i> ahora debería funcionarnos</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-69082216474066179692017-12-24T10:25:00.000+01:002017-12-24T10:25:05.515+01:00Cómo sacar una ventana corredera<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: justify;">
Aunque no debiera ser muy difícil, retirar una ventana corredera para limipiarla puede ser una tarea complicada.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
En mi caso, la ventana en cuestión no da a un balcón o terraza sino que da directamente a la calle.</div>
<div class="separator" style="clear: both; text-align: justify;">
Imagino que por temas de seguridad, extraer estas ventanas requieren en un proceso adicional al simple levantar y retirar.</div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<a name='more'></a><br /><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Si intentamos levantar la ventana para sacarla de las guías veremos que no es posible y que solo podemos hacerlo unos milímetros, induficientes para poderla quitar de su emplazamiento.<br />
Esto es debido a que existen unos topes de seguridad que evita que podamos retirarla accidentalmente con el peligro que caiga sobre la calle.<br />
<br />
Aunque en la foto no puede apreciarse con claridad, en el lateral de las ventanas veremos que hay una pieza de plástico anclada con un tornillo<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-jap13X5OQ8o/Wgi37eGmPnI/AAAAAAAAgYE/UK_5YHEqNnkCheDSDpspdpASri1LBXYOACKgBGAs/s1600/IMG_20171112_115503.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="900" height="640" src="https://4.bp.blogspot.com/-jap13X5OQ8o/Wgi37eGmPnI/AAAAAAAAgYE/UK_5YHEqNnkCheDSDpspdpASri1LBXYOACKgBGAs/s640/IMG_20171112_115503.jpg" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Necesitamos retirar dicha pieza -una en cada ventana- para poder levantar la corredera y sacarla del riel por el que se desplaza<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-uW83W5MEMnU/Wgi37R6KgRI/AAAAAAAAgYE/GR87PKOb6JIr4O31eu7XBmi7RwLs4eLyACKgBGAs/s1600/IMG_20171112_115722.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="900" height="640" src="https://2.bp.blogspot.com/-uW83W5MEMnU/Wgi37R6KgRI/AAAAAAAAgYE/GR87PKOb6JIr4O31eu7XBmi7RwLs4eLyACKgBGAs/s640/IMG_20171112_115722.jpg" width="360" /></a></div>
<br />
Si no queremos complicarnos y solo queremos limpiar la ventana, acceder a la hoja que queda en el exterior es muy sencillo si desplazamos la hoja interior al lado contrario de la exterior.<br />
Aunque parezca que no va a pasar y que hay un tope, en mi caso no es así. Haciendo una ligera fuerza podremos pasar la ventana al otro lado, teniendo así al alcance la hoja a la que no podíamos llegar con el brazo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-pe9e5jsgB_w/Wgi37YrfawI/AAAAAAAAgYE/Pp0UchTOdvIg8dccWqnlmXmSVZHALS9UwCKgBGAs/s1600/IMG_20171112_123857.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="900" height="640" src="https://4.bp.blogspot.com/-pe9e5jsgB_w/Wgi37YrfawI/AAAAAAAAgYE/Pp0UchTOdvIg8dccWqnlmXmSVZHALS9UwCKgBGAs/s640/IMG_20171112_123857.jpg" width="360" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br /></div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-22528849292566240582017-12-24T08:32:00.000+01:002017-12-24T08:32:34.765+01:00Fallo de pantalla después de despertar en Windows 10<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: justify;">
Las actualizaciones, aunque necesarias, a veces ocasionan 'daños' colaterales provocando nuevos fallos o conflictos.</div>
<div class="separator" style="clear: both; text-align: justify;">
En esta ocasión, una de las últimas actualizaciones de <i>Windows</i> <i>10 </i>hacía que el ordenador mostrara una pantalla como esta después de '<i>despertar</i>'</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-oHsTRONlKk4/Wgfic1bXLZI/AAAAAAAAgVY/oj3C83BrV-gGd7d9HMXxg9saRE8wBi0YQCKgBGAs/s1600/IMG_20171112_063447.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://3.bp.blogspot.com/-oHsTRONlKk4/Wgfic1bXLZI/AAAAAAAAgVY/oj3C83BrV-gGd7d9HMXxg9saRE8wBi0YQCKgBGAs/s640/IMG_20171112_063447.jpg" width="640" /></a></div>
<br />
Como se aprecia en la imagen, no se distingue absolutamente nada y el cuadrado más brillante que aparece casi en medio, se corresponde con el ratón.<br />
No hay forma de cambiar la pantalla y la única solución consiste en forzar el apagado del equipo.<br />
Al iniciarlo se vuelve a ver la pantalla con normalidad, pero si <i>suspendemos</i> de nuevo el ordenador, cuando vuelve a <i>despertarse</i>, tenemos de nuevo el problema.<br />
<br />
<a name='more'></a>Algo de esta última actualización está generando un conflicto con algún controlador.<br />
Inmediatamente sospeché de la controladora gráfica ya que parece ser la afectada, así que lo primero que debemos hacer es verificar el <i>driver</i> instalado.<br />
Normalmente, cuando se actualiza el controlador, se guarda una copia del anterior de forma que si tenemos un comportamiento extraño, siempre podemos restaurarlo.<br />
<br />
Para ello abrimos el <i>Panel de control</i> y nos vamos al apartado de <i>Hardware y sonido</i>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/wa7YVEz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="490" data-original-width="667" height="470" src="https://i.imgur.com/wa7YVEz.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Desde ahí seleccionamos el <i>Administrador de dispositivos </i>y desplegamos la opción <i>Adaptadores de pantalla.</i><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/Aiqalm2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="572" data-original-width="781" height="468" src="https://i.imgur.com/Aiqalm2.png" width="640" /></a></div>
<br />
En este caso tengo dos controladores. El de <i>Windows</i>, y el propio de la tarjeta gráfica.<br />
Si pulsamos en el primero, veremos el controlador actual:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/QkD9Ca1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="455" data-original-width="400" height="640" src="https://i.imgur.com/QkD9Ca1.png" width="562" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Para mi sorpresa, el botón de <i>revertir al controlador anterior</i> aparece deshabilitado así que probé a <i>Actualizar el driver</i>.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/pOlDgzQ.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="454" data-original-width="614" height="472" src="https://i.imgur.com/pOlDgzQ.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Si seleccionamos <i>automáticamente</i>, <i>Windows</i> tratará de buscar <i>online</i> el mejor controlador para nuestro dispositivo. Teóricamente esto ya debiera haberlo hecho él durante la actualización del sistema, pero no fue así y ese era el origen del problema.</div>
<div class="separator" style="clear: both; text-align: justify;">
Al forzar la actualización, <i>Windows</i> instala el último controlador disponible si lo hubiera...</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/55TuHSK.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="454" data-original-width="614" height="472" src="https://i.imgur.com/55TuHSK.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
... cosa que sí ocurre</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/uKdgKdB.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="454" data-original-width="614" height="472" src="https://i.imgur.com/uKdgKdB.png" width="640" /></a></div>
<br />
Durante este proceso, la pantalla puede que se apague brevemente.<br />
<br />
Al finalizar...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/rLCnZnK.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="454" data-original-width="614" height="472" src="https://i.imgur.com/rLCnZnK.png" width="640" /></a></div>
<br />
... podremos ver la nueva versión instalada:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/788VDD0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="455" data-original-width="400" height="640" src="https://i.imgur.com/788VDD0.png" width="562" /></a></div>
<br />
Como puede apreciarse, la versión actual es más moderna que la anterior y ahora sí que tenemos la opción de restaurar el controlador anterior por si este nos diera algún problema.<br />
Tras la instalación, reiniciamos por si acaso y probamos de nuevo a suspender el equipo. En este caso, la actualización del controlador ha solucionado el problemma!!!</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-9919954961812100112017-12-24T08:12:00.001+01:002017-12-24T08:12:16.350+01:00Qt no muestra mensajes al usar qDebug<div dir="ltr" style="text-align: left;" trbidi="on">
Después de actualizar <i>Qt Creator </i>y añadir el último <i>SDK</i> disponible, no puedo ver por consola los mensajes enviados con <i>qDebug()</i>. Sin embargo sí puedo verlos si utilizo en su lugar <i>qWarning()</i><br />
<br />El problema tiene que ver indudablemente con la actualización ya que anteriormente su funcionamiento era el experado.<br />
Al parecer, durante la actualización ha habido un problema y se ha borrado accidentalmente un archivo que contiene la configuración de <i>logging</i> de <i>Qt</i>.<br />
<br />
<br />
<a name='more'></a>La solución es muy sencilla y pasa por restaurar dicho archivo.<br />
En <i>Linux</i> lo tenemos en <i><b><span style="color: red;">~/.config/QtProject/qtlogging.ini</span></b></i><br />
<i><b><br /></b></i>
Si existe, revisar que tengamos la siguiente entrada:<br />
<pre class="bz_comment_text
bz_wrap_comment_text" style="font-size: small; white-space: pre-wrap; width: 50em; word-wrap: break-word;"><span style="color: red;"><b> [Rules]
*.debug=true</b></span></pre>
<pre class="bz_comment_text
bz_wrap_comment_text" style="font-size: small; white-space: pre-wrap; width: 50em; word-wrap: break-word;"></pre>
<br />
Si no existe, simplemente debemos crearlo vacío.<br />
<br />
Hecho esto, si volvemos a ejecutar nuestra aplicación, veremos que <i>qDebug()</i> funciona nuevamente.</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-36377880340170874402017-12-24T07:57:00.001+01:002017-12-24T07:57:05.836+01:00undefined reference to `vtable for XXXXX'<div dir="ltr" style="text-align: left;" trbidi="on">
Este es un fallo cuya descripción no ayuda mucho a su solución.<br />
El error hace referencia a una variable que está correctamente definida e inicializada pero por mucho que compilemos o limpiemos el proyecto para volverlo a compilar, vuelve a aparecer:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-IbtnSymh9VE/We7YDa7fTbI/AAAAAAAAgPA/X9FMYELLV_8xLDrlZod68b-ZlHyQ2FAFwCLcBGAs/s1600/Screenshot%2Bfrom%2B2017-10-24%2B08-03-32.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="137" data-original-width="771" height="112" src="https://2.bp.blogspot.com/-IbtnSymh9VE/We7YDa7fTbI/AAAAAAAAgPA/X9FMYELLV_8xLDrlZod68b-ZlHyQ2FAFwCLcBGAs/s640/Screenshot%2Bfrom%2B2017-10-24%2B08-03-32.png" width="640" /></a></div>
<br />
<br />
<br />
<a name='more'></a><br /><br />
Generalmente este problema aparece si hemos añadido o borrado manualmente alguna macro de tipo <i>Q_OBJECT</i>.<div>
El problema reside en que algunos(s) de los archivos <i>moc</i> -meta-object compiler- compilados por <i>qmake</i> no son generados de nuevo ni siquiera si hacemos un <i>clean </i>del proyecto.</div>
<div>
<br /></div>
<div>
Para solucionarlo basta con forzar la compilación de nuevo con <i>qmake </i>de forma que se regenere el código para los meta datos, o simplemente borrar el contenido de la carpeta donde se generan los archivos compilados. Tras esto, volvemos a hacer un <i>build</i> y problema resuelto.</div>
</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com1tag:blogger.com,1999:blog-3798863297119448774.post-8064635817499799162017-10-22T19:27:00.000+02:002017-10-22T19:27:31.950+02:00No se escuchan algunos vídeos de Youtube en Windows<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: justify;">
¿Tienes problemas a la hora de reproducir ciertos vídeos del <i>Youtube</i> y no escuchas su audio? ¿Te pasa también con otras páginas? </div>
<div class="separator" style="clear: both; text-align: justify;">
Si reproduces el resto de multimedia correctamente, posiblemente tu problema sea debida a la configuración del audio de tu equipo.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<a name='more'></a>Abre el administrador de dispositivos y selecciona la opción de <i>Sonido</i>. Verás todas las opciones de tu tarjeta de sonido y estará marcada la que tienes activada actualmente.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/QsQwUvfl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="458" data-original-width="424" height="640" src="https://imgur.com/QsQwUvfl.png" width="592" /></a></div>
<br />
En este caso está seleccionada la salida de <i>Altavoces</i> e incluso en el lado derecho puede verse una barra horizontal que mide el volumen del audio.<br />
Si estás reproduciendo un vídeo que no escuchas y esta barra sí que marca que hay audio, tienes un problema en la configuración de los <i>Altavoces</i>.<br />
<br />
Pulsa el botón <i>Configurar</i> para ver la lista de opciones de los altavoces. Se mostrará la opción seleccionada actualmente.<br />
Pulsa el botón <i>Probar</i> para escuchar un sonido por cada uno de los altavoces. Si solo escuchas los frontales derecho e izquierdo, es que no está bien configurado.<br />
Aunque tengas un equipo 5.1, si esta conectado a la salida de audio analógica, solo se escucharán los canales derecho e izquierdo.<br />
<br />
Algunos vídeos de <i>Youtube </i>tienen codificación para 5.1 y emiten el audio por los canales <i>surround </i>y central. Si este es el caso, puesto que tú solo tienes los laterales, no escucharás nada o perderás parte del audio.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/pgu1Jd3l.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="393" data-original-width="505" height="498" src="https://imgur.com/pgu1Jd3l.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
La solución es bien sencilla y pasa por configurar correctamente la configuración de audio.</div>
<div class="separator" style="clear: both; text-align: justify;">
En este caso basta con seleccionar la opción <i>Estéreo</i> y probar nuevamente.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/LmyD1pul.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="394" data-original-width="508" height="496" src="https://imgur.com/LmyD1pul.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Si pulsamos en siguiente veremos algunas opciones adicionales de esta configuración...</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/F5JqbFal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="394" data-original-width="505" height="498" src="https://imgur.com/F5JqbFal.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
... y finalmente tendremos nuestro sistema de audio configurado.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/25Bmxfgl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="390" data-original-width="503" height="496" src="https://imgur.com/25Bmxfgl.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
No es necesario reiniciar. Tras pulsar en el botón <i>Finalizar</i>, podrás escuchar el audio correctamente.</div>
<br /></div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-27668871328786567302017-10-21T14:08:00.002+02:002017-10-21T14:08:51.263+02:00Cómo buscar libros PDF con Google Chrome<div dir="ltr" style="text-align: left;" trbidi="on">
¿Están interesado en buscar un libro o publicación en formato <i>PDF?</i><br />
El navegador de <i>Google</i> permite realizar búsquedas especiales y podemos indicarle incluso que nos filtre por tipo de archivo.<br />
Así es mucho más fácil encontrar lo que buscas entre los miles de resultados que nos ofrece.<br />
<br />
<a name='more'></a>Lo único que tenemos que hacer es teclear en la barra de búsqueda de nuestro navegador el nombre del libro/artículo que estamos buscando y a continuación -separado por un espacio- debemos poner <b style="color: red;">filetype: </b>seguido de la extensión que deseamos filtrar.<br />
<div>
<br /></div>
<div>
Así, por ejemplo si queremos encontrar libros en formato <i>PDF</i> de la <i>teoria de la relatividad</i> de <i>Einstein</i> deberemos teclear:</div>
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b><i><br /></i></b></span></div>
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b><i>teoria de la relatividad filetype:pdf</i></b></span></div>
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b><i><br /></i></b></span></div>
<div class="separator" style="clear: both; text-align: left;">
Este será el resultado de la búsqueda anterior. Nótese que todas las entradas mostradas se corresponden a documentos en formato <i>PDF</i>:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/KIHSMEal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="617" height="640" src="https://imgur.com/KIHSMEal.png" width="616" /></a></div>
<div>
<br /></div>
Evidentemente esto es válido para cualquier otro tipo de extensión de archivo</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0tag:blogger.com,1999:blog-3798863297119448774.post-43291754204985108932017-10-21T13:58:00.002+02:002017-10-21T13:58:38.744+02:00Windows se queda colgado hibernando / reanudando<div dir="ltr" style="text-align: left;" trbidi="on">
Las actualizaciones de <i>Windows </i>permiten corregir problemas y añadir funciones pero en ocasiones provocan nuevos fallos.<br />
Si después de una actualización tu equipo intenta hibernar pero se queda bloqueado en la pantalla '<i>HIBERNANDO</i>' y no finaliza nunca el proceso...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imgur.com/SpesedEl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="355" data-original-width="640" height="177" src="https://imgur.com/SpesedEl.png" width="320" /></a></div>
<br />
... deberás seguir los siguientes pasos.<br />
<a name='more'></a>En primer lugar apaga completamente el equipo. Para ello mantén presionado el botón de apagar durante más de 5 segundos. Es importante esperar ese tiempo porque muchos equipos, al pulsar brevemente el botón de apagar, simplemente se suspenden y apagan la pantalla, pero no se apagan completamente.<br />
<br />
Vuélvelo a encender y deja que el sistema arranque con normalidad.<br />
Si volviera a aparecer la pantalla de <i>hibernando</i> deberemos volver a apagar el equipo como antes, pero además, esta vez tendremos que quitarle la alimentación.<br />
Si se trata de un equipo de sobremesa desconéctalo de la red. Si es un portátil, quita la batería y espera unos segundos.<br />
<br />
Ahora, vuélvelo a encender y comprueba que arranca correctamente.<br />
Es posible que al no haberse hibernado correctamente, ahora intente reanudar con lo cual nos quedaremos nuevamente en una pantalla parecida a la anterior pero que ponga '<i>REANUNDANDO'</i>.<br />
Si es así, vuelve a apagar el equipo apretando más de 5 segundos el botón de apagar y vuelve a encenderlo.<br />
Ahora sí, debería arrancar sin ningún problema.</div>
imahginhttp://www.blogger.com/profile/15646105027314922087noreply@blogger.com0