Probando el Subsistema Windows 10 para Linux (Beta)

El 30 de marzo saltaba la noticia: las llamadas al sistema de Linux  se podrán ejecutar en Windows 10 de forma «nativa» (se podrán traducir en tiempo real a llamadas al sistema de Windows, algo así como un WINE a la inversa):

Intenté probarlo en su día, pero no encontraba tiempo. Tampoco creo que estuviera disponible para todos los usuarios… Hoy he recordado la noticia y le he dedicado un rato porque necesito ejecutar algunas funcionalidades de Linux en una máquina Windows (y la opción de Cygwin me parece demasiado «heavy»… y problemática, la he sufrido en alguno de mis cursos, donde he recibido numerosas peticiones de auxilio 😉

Para probar el subsistema Windows para Linux (Windows Subsystem for Linux o WSL) hay que tener la actualización Windows 10 Anniversary Update (se publicó en Agosto de este año). La forma más sencilla es a través de este enlace oficial a la web de Microsoft. Tras la instalación/upgrade, hay que activar el modo programador entrando en Configuración / Para programadores

bash_win_0

A continuación, entramos en Panel de Control / Programas / Activar o desactivar las características de Windows . Activamos el Subsistema de Windows para Linux (beta) y reiniciamos las veces que haga falta 😛

subsistema_Linux

Ahora viene lo bueno. Ejecutamos bash desde el menú de inicio (tecleamos bash y pulsamos intro) y al ser la primera vez se lanzará la instalación:

bash_win_1

Le costará un rato descargar WSL (al final está descargando una especie de versión de Ubuntu Server) y activarlo. Cuando lo haga, nos pedirá crear un usuario (que por defecto estará en la lista de sudoers)bash2

Le asignamos un pass al nuevo user y tachán, ya estamos en Bash 🙂

bash3

Se hace raro poder ejecutar ls, id, pwd, cat, vi ! , apt (sí apt-get!) en Windows sin recibir mensajes de error…bash4

Realmente estamos en Bash dentro de un Ubuntu 14.04 ejecutándose sobre Windows 10. Buf… si me lo llegan a decir hace un tiempo hubiera puesto cara de incrédulo.bash5

Los archivos están donde deben (en un sistema que siga el LSB) y tienen el contenido esperado.

bash6

El sistema de archivos del anfitrión Windows está montado en /mnt . Tenemos los repos apt de Ubuntu a nuestra disposición para instalar las aplicaciones que necesitemos.

bash8

Otro puntazo a favor es que tenemos un intérprete python y un intéprete perl instalados de serie (los mismos que instala Ubuntu 14.04, claro)

bash9

También he visto que hay un servicio ssh lanzado en el puerto 22, pero por lo que he probado NO es openssh (se puede ver el fingerprint del servidor mediante un simple telnet – sí, telnet, para ver el banner del server – al puerto 22), sino un servidor SSH de Windows (yo diría que en alfa, porque aún no he conseguido autenticarme y creedme que he probado de todo). ¿Tal vez sea una implementación en desarrollo del port openssh de Microsoft ?

bash7

Leyendo algunos foros comentaban que openssh se puede configurar para que escuche en un puerto distinto al 22 (el 60022, por ejemplo), abrir una regla en el firewall de Windows para ese nuevo puerto y listo. Si no lo tenemos instalado por defecto (en mi caso sí lo estaba) siempre podremos instalarlo con sudo apt-get update && sudo apt-get install openssh 🙂

A continuación, modificamos /etc/ssh/sshd_config y lo dejamos así:

Port 60022
ListenAddress 0.0.0.0
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation no
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication no
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

Si openssh ya estaba instalado, antes de reiniciar el server openssh lo reconfiguramos (si no lo hacemos, arrancará, pero no conseguiremos conectar porque no habrá generado los ficheros necesarios):

$ sudo dpkg-reconfigure openssh-server

Ahora sí, reiniciamos el server openssh:

sudo service ssh restart

Y conectamos desde localhost para probar:

bash_win_10

¡Funciona! 🙂

UPDATE (5/09/2016): si en algún momento la liamos parda con la configuración del WSL, siempre podremos desinstalar y volver a instalar con dos sencillos comandos:

C:\> lxrun.exe /uninstall /full
C:\> lxrun.exe /install

UPDATE (6/09/2016): es posible iniciar el servidor openssh de WSL al arrancar el equipo. Para ello, basta con parar el Server SSH de Microsoft (el que viene por defecto) y lanzar OpenSSH con la configuración indicada, salvo que ahora podremos lanzarlo en su puerto natural, el 22. Además, si queremos lanzar el servidor cada vez que iniciemos el equipo, podremos crear un script de arranque.

Jugando al póquer online con Linux :-)

Artículo de Miguel Pérez, encargado de casinotoplists.com , una web con noticias y artículos sobre el mundo de los casinos online. No entra en  detalle, una lástima, pero al menos trae a DiarioLinux un mundo que no habíamos tocado hasta el momento y que me ha parecido interesante (para relajarnos un poco del «Si yo pudiera…» que seguirá unos días más 😉

«Voy a hablaros  sobre uno de los temas por los que mucha gente todavía no se ha decidido a usar el sistema operativo libre y seguro del pingüino. Todavía hay usuarios que piensan que Linux no es un sistema que nos permita jugar a los diferentes juegos que hay en el mercado, aunque este punto cada vez va a mejor. De hecho, hoy voy a centrarme en explicar que es posible usar Linux en los juegos online de moda:  las salas de póker y los casinos online. Cada día son más y más las personas que deciden echarse sus partidas de póker, blackjack, ruleta o cualquiera de las diferentes opciones que nos ofrecen estas páginas, pero muy poca gente sabe que es posible poder hacerlo también, sin problemas, en Linux.
Podemos decir que hay varias opciones para poder continuar utilizando nuestro seguro y cómodo sistema operativo sin necesidad de tener que abandonarlo para poder disfrutar de unas manos de póker o de Black Jack. En este artículo voy a hablaros de tres opciones para poder unirnos a estos juegos en salas de póker y casinos online conservando nuestro sistema operativo:
– Salas con software para Linux: Todavía son minoría las que nos ofrecen esta posibilidad, pero muchas de estas salas están desarrollando sus juegos para no perder muchos de los potenciales jugadores que utilizan Linux. El más conocido de los que han sido testados es el Casino 888, aunque también se ha probado con éxito en 21 Nova,  Jackpotcity y Bodog.
– Salas para jugar directamente en el navegador (sin programas específicos): De esta forma no sería necesario tampoco instalar ningún software. La gran ventaja de esta opción es que podríamos jugar en cualquier sitio e incluso podríamos utilizar otro ordenador sin necesidad de instalarle nada adicional a ningún familiar o amigo. Todos los comentados anteriormente nos permiten jugar también directamente excepto jackpotcity.
– Salas que sólo funcionan con Windows:  muchas veces ocurre que por alguna razón una sala nos llama la atención por encima del resto y da la casualidad que sólo se puede jugar si tenemos Windows, pero esto tampoco debería de preocuparnos. Wine consigue que funcionen prácticamente todas las aplicaciones de Windows sin ningún problema, por lo que el caso de los juegos de póker o de casinos no debería ser ninguna excepción. Un consejo es probar siempre la aplicación jugando una partida de póker, una de blackjack o una de ruleta online gratis para comprobar que funciona perfectamente antes de utilizar nuestro dinero.
Yo no soy de los que quiere jugarse el dinero, por lo que os recomiendo utilizar los bonos gratis sin depósito que nos ofrecen muchas de estas salas para disfrutar de estos juegos y aprender sin necesidad de gastarnos ninguna parte de nuestros ahorros.»

How to install Flash Builder on Linux

Lately, I’ve been wondering how to use Flash Builder on Linux. You know, Adobe is apparently putting Flash Builder (formerly also known as Flex Builder) for Linux on hold. So, if you are a Linux user, you’d better look for alternatives to FB (and certainly, there are a few...) However, I think that FB is the most feature-packed IDE for Flex development. So, how could we use that tool in our beloved system? Well, I managed to install it using Wine 1.1.23 on Ubuntu 9.04. This is the process that I’ve followed.

Download Flash Builder for Windows from Adobe Labs. Before the installation, you will have to configure Wine and install some needed DLL files. To do that, first and foremost, you’ll need to download the winetricks application and make it executable:

$ wget http://www.kegel.com/wine/winetricks
$ chmod a+x ./winetricks
$ ./winetricks

Now, you must select vcrun2005 and vcrun2005sp1 to install the needed dependencies : MS Visual C++ 2005 libraries and the related service pack.

Ok, time to install Flash Builder under wine:

$ wine flashbuilder4_b1_win_060109.exe

After finishing the installation, if you try to execute the application, you’ll get the following error:

«Licensing for this product has stopped working . This product has encountered a problem which requires that you restart your computer before it can be launched»

Restart the computer? on Linux? No way! 🙂 Now comes the tricky part, because you have to copy from a Windows installment some needed files:

a) On Windows, open the regedit tool and export the following branches:
HKEY_LOCAL_MACHINESOFTWAREAdobe –> adobe.reg
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesFLEXnet Licensing Service –> flexnet.reg

b) Back on Linux, import the previously saved registry branches

$ wine regedit
(now import adobe.reg and flexnet.reg files)

Now, mount the windows partition and copy this folders to the related wine folder:

$ cp -R /mnt/windows/Program Files/Common Files/Adobe ~/.wine/drive_c/Program Files/Common Files/

$ copy -R «/mnt/windows/Program Files/Common Files/Macrovision Shared» ~/.wine/drive_c/Program Files/Common Files/

Voilá! After entering the Serial Number or choosing the trial version, you’ll be able to work with Flash Builder on Linux 🙂 Enjoy!

Note: don’t forget to visit the WineHQ AppDB page about Flash Builder, for learning some hacks&tweaks that will allow you to address some annoying issues with code completion and the use of spaces as tabs.

CrossOver Chromium: instalar Chrome en Linux

Ya vimos que es posible instalar Chrome sobre Wine (con algunas dificultades). Uno de los problemas que se planteaba (aparte de la inestabilidad), es el nulo soporte de HTTPS en Chrome corriendo sobre Wine. La gente de CrossOver, ha publicado una versión de Chrome que no necesita de Wine (realmente tiene Wine embebido) y que además, activa el soporte HTTPS de Chrome. Por otra parte, la instalación de CrossOver Chromium es trivial: descargar el paquete .DEB o .RPM de la página oficial e instalar con dpkg -i chromium.deb.

Linux, Wine y Chrome: es posible

Receta rápida para usar Chrome en Linux (usando Wine, hasta que Google se digne a sacar una versión para Linux nativa, o bien algún desarrollador externo lo consiga):

 

wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list
sudo apt-get update

 

sudo apt-get install wine

juanan@cox:/tmp$ wine –version

wine-1.1.3

wget http://gpdl.google.com/chrome/install/149.27/chrome_installer.exe

wine chrome_installer.exe

 

wget http://www.kegel.com/wine/winetricks
sh ./winetricks riched20 riched30
sh ./winetricks corefonts tahoma wine "$HOME/.wine/drive_c/windows/profiles/$USER/Local Settings/Application Data/Google/Chrome/Application/chrome.exe" --new-http --in-process-plugins