Más allá de lo que ves

domingo, 6 de junio de 2021

Linux no responde tras suspender el equipo [Solventado]

Llevo casi un año con problemas en mi Dell Inspiron 15 Serie 5000, tras una actualización del sistema operativo, tenía instalado Ubuntu 19, cada vez que estaba trabajando y bajaba la tapa del portátil, se bloqueaba la sesión... al volver a usarlo el sistema operativo no se recuperaba, no arrancaba, se quedaba la pantalla en negro y la única forma de utilizarlo era forzar un reinicio. 

Durante todo este tiempo he buscado en Google que podía estar ocurriendo para intentar solucionarlo, he actualizado la Bios a su última versión, instalado y desinstalado muchas distribuciones de Linux. Si bien con la instalación base todo iba bien, en cuanto las actualizaba volvía a ocurrir lo mismo, he modificado, instalado... drivers de Nvidia, aplicado cambios en el Grub... todo ello sin éxito.

Cansado de probar cosas me resigne a pensar que igual tendría que usar solo la parte de Windows en mi portátil, instalé elementary OS y me limité a usarlo sabiendo que cada vez que lo tuviera que volver a usar tendría que forzar el reinicio. 

Una noche volví a probar suerte y busqué en Google por si encontraba algo, "dell linux crash resume", "nvidia problems linux dell"... en una de las búsquedas acabé en un enlace que me llevó a otro donde se indicaba "Como arrelgar la supensión con el driver de NVIDIA en Ubuntu y además reducir el consumo energético" como en tantas otras ocasiones me decidí a probar; mi sorpresa fue que en este caso si que funcionó !!!

A continuación indico los sencillos pasos que se deben dar para modificar el Grub y solucionar el problema al menos en mi caso, no he probado con otros sistemas operativos pero en mi Elementary no he tenido que volver a reiniciar tras una suspensión, bloqueo... del portátil.

Desde una ventana de terminal ejecutamos:
$ sudo nano /etc/default/grub

Localizamos la línea que contiene el valor GRUB_CMDLINE_LINUX_DEFAULT, es suficiente con modificarla y añadir al final "pci_aspm=off", en mi caso la línea queda como sigue;
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=off"

Guardas los cambios y cierras el editor, actualizas el grub y reinicias. Voilà!! problema solucionado !!!
$ sudo update-grub
$ reboot

Referencias

domingo, 29 de diciembre de 2019

Cansado de recordar tus credenciales git en Visual Studio Code?

Hola !, si has llegado a este post, es por que estás cansado de introducir tus credenciales git cuando desde Visutal Studio Code vuelcas tus cambios a repositorio remoto Github, Gitlab...

Para evitar esto es sencillo no tienes más que utlizar Credential Helper de Git.

En una consola de terminal introduce:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
El tiempo por defecto de cache es de 15 minutos, pero lo podemos modificar, en mi caso lo he puesto en 5 horas (no creo que esté más tiempo conectado y probando, Solidity, Angular, React...):

Para establecer 1 hora no tienes más que ejecutar;
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Espero que te sea útil.


Referencias:

Using Version Control in VS Code
Caching your GitHub password in Git

viernes, 29 de noviembre de 2019

Instalar Citrix Receiver en Ubuntu 19

El caso que nos ocupa en este post, ha sido la necesidad de instalar Citrix Receiver sobre Ubuntu 19.10.

Desde el siguiente enlace podemos acceder a la descarga de los paquetes. En mi caso he instalado la opción Full Package y la de soporte para USB.

Una vez descargado reporta error por que le faltan dependencias:


Para solventar esto vamos a necesitar instalar 3 dependencias concretas que necesitamos descargar desde los siguientes enlaces;

Una vez descargadas podemos comenzar con la instalación:

sudo dpkg -i libicu60_60.2-3ubuntu3_amd64.deb
sudo dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb
sudo dpkg -i libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb
sudo dpkg -i icaclient_19.3.0.5_amd64.deb ctxusb_2.7.20_amd64.deb

Una vez instalado ya podemos acceder.

Si obtienes errores de conexión de certificado -> deberás crear un enlace simbólico a los certificados de Citrix. Para Firefox no tendrás más que ejecutar:

sudo ln -s /usr/share/ca-certificates/mozilla/*    
    /opt/Citrix/ICAClient/keystore/cacerts/
sudo c_rehash /opt/Citrix/ICAClient/keystore/cacerts/

Muchas gracias a nicoctx por  su respuesta en el siguiente recurso

domingo, 24 de noviembre de 2019

Kernel driver not installed (rc=-1908) [SOLVENTADO]

Cuanto tiempo sin escribir una entrada !!! Voy a intentar retomar la buena costumbre de recoger todas las cuestiones que me voy encontrando por el camino y que seguro pueden ayudar a otros, que como yo, pasen por la misma situación.

En este caso la cuestión trata sobre Linux. Recientemente adquirí un portátil Dell Inspiron con su licencia Windows 10 Profesional correspondiente pero acostumbrado a Mac como estoy en el curro y queriendo "jugar y aprender" cuestiones relacionadas con Blockchain me decante por instalar una distribución Linux. Tras consultar con verdaderos gurus de la materia, finalmente me recomendaron instalar una Ubuntu y elegí la 19.

Si ya instalar en el Dell la distribución Ubuntu fue una travesía algo tortuosa que al final como no podía ser de otra manera el fin de semana pasado acabo en éxito. El motivo de recoger este post ha sido precistamente otro escollo en el camino, concretamente al intentar en este caso correr una máquina VirtualBox en la que poder ejecutar por ejemplo un entorno de desarrollo de la red blockchain de Alastria.

Me he encontrado con el siguiente error:

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please install virtualbox-dkms package and load the kernel module by executing


'modprobe vboxdrv'

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.


where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT. 



Tras buscar en Google y probar diferentes recursos, la solución ha sido; reinstalar virtualbox-dkms con el comando;

sudo apt-get install --reinstall virtualbox-dkms

Este comando te solicitará una clave para firmar los componentes necesarios, fcuando inaliza el asistente te solicitará un pass que debes recordar, ya que en el siguiente inicio del equipo te la solicitará para acabar de confirmar la configuración.

Con esto se ha solventado el error y ya puedo iniciar la máquina virtual.

Tiene guasa no?, Ubuntu 16 sobre Ubuntu 19...





martes, 10 de abril de 2018

Git ¿Como clonar carpetas concretas?

Te ha pasado que accedes a un repositorio en github donde hay un ejemplo de lo que andas buscando pero resulta que en el repositorio hay volcadas muchas carpetas de diferentes proyectos pero que a ti tan solo te interesan algunas de ellas? Si es así Sparse Checkout es tu opción en git.

Esta característica te permitirá clonar solo aquellas carpetas que te puedan interesar del repositorio.
Vamos a verlo con un sencillo ejemplo. Supongamos que del siguiente repositorio en github https://github.com/fjmontesinos/jhipster.git tan solo deseas clonar la carpeta prueba-sparse-checkout que como puedes comprobar tan solo tiene un fichero de texto sin código alguno a modo de prueba.

Tan solo debes seguir los siguientes sencillos pasos:

  1. Crea un carpeta y accede a ella.
$ mkdir miproyecto
$ cd miproyecto
  1. Inicializa un repositorio git en la carpeta.

$ git init

  1. Activa sparse-checkout en el repositorio.

$ git config core.sparsecheckout true

  1. Indícale a git la carpeta o carpetas que desas clonar de forma exclusiva, para el caso del ejemplo: prueba-sparse-checkout

$ echo prueba-sparse-checkout >> .git/info/sparse-checkout

  1. Añade el repositorio remoto a git

$ git remote -f origin https://github.com/fjmontesinos/jhipster.git

  1. Haz un pull del proyecto y ejecuta un ls, comprobarás que tan solo se ha clonado la carpeta indicada

$ git pull origin master
$ ls -la
total 16
drwxrwxr-x 4 javiermontesinos javiermontesinos 4096 abr 10 05:49 .
drwxrwxr-x 8 javiermontesinos javiermontesinos 4096 abr 10 05:59 ..
drwxrwxr-x 8 javiermontesinos javiermontesinos 4096 abr 10 05:49 .git
drwxrwxr-x 2 javiermontesinos javiermontesinos 4096 abr 10 05:49 prueba-sparce-checkout