31 octubre 2012

Steam: ¿Un punto de inflexión?

Si algo ha faltado siempre en Linux son programas comerciales. El mercado siempre se ha dirigido a la plataforma dominante: Windows. Es lógico si se analiza fríamente: Microsoft ha hecho todo lo posible para facilitar el desarrollo en su plataforma y, paralelamente, imposibilitar el desarrollo multiplataforma lo máximo posible. Por tanto, si se quiere vender, se desarrolla para Windows y se dejan de lado el resto de plataformas. Si una plataforma sube significativamente su cuota de mercado, las desarrolladoras desvían su mirada hacia ésta. Puede verse como ejemplo, aunque no sea el mismo caso exactamente, que, cuando Firefox subió su cuota por méritos propios, todos los desarrolladores web tuvieron que cumplir los estándares y probar con este navegador. Cuando surgió iOS, se abrió un nicho de mercado que no acababa de arrancar: los juegos para móviles. Cuando surgió Android, este nicho se amplió aun más. Surgió OpenGL ES, dando un gran impulso a este estándar vapuleado antes por Microsoft y por sus propios desarrolladores. La llegada de Windows 8 y su tienda ha mosqueado a Valve. Steam ha sido una exitosa plataforma de compra de juegos en linea, y, como siempre, Microsoft intenta utilizar su posición dominante para borrar a la competencia. Valve no se ha quedado con los brazos cruzados y ha buscado una "válvula" de escape: Steam para Linux. El resurgimiento de OpenGL gracias a los móviles y este movimiento de una gran desarrolladora de juegos, que es lo que más dinero mueve, puede ser el espaldarazo definitivo al entorno de escritorio de Linux. Canonical está trabajando con ellos, así como con Intel, AMD y nVidia para que todo vaya como la seda y para que la distribución elegida inicialmente sea Ubuntu. Posteriormente podrán ser otras. Esto lleva a otra conclusión: es vital unificar. Aunque a muchos partidarios del software libre quieren que el privativo no se acerque, es condición necesaria para que nuestro sistema crezca, y lo haría exponencialmente. Cuanta más gente mejor. Hace tiempo que se acabaron los tiempos en los que Linux era de minorías especializadas. Ha de abrirse al mundo. Y a ver si de una puta vez se unifican las estúpidas y artificiales diferencias que existen entre distribuciones como, para empezar, poner en rutas o archivos distintos la configuraciones de programas determinados (apache...). Y si se crea un nuevo sistema de paquetes con lo mejor de todos... no, tampoco hay que fantasear tanto. Este mes se ha abierto la beta pública limitada de Steam para que 1000 usuarios puedan probarlo, aquí.

19 octubre 2012

Ubuntu 12.10 lanzada

El quetzal cuántico ya está aquí. Esta noche he actualizado mi equipo principal a esta nueva versión sin ningún tipo de problema, como siempre. Únicamente he de decir que me ha preguntado tres o cuatro veces si deseo sobreescribir sendos archivos de configuración, y esto a estas alturas no debería ocurrir. Debería guardárselo e informar al iniciar el sistema y no bloquear la instalación. Así de primeras, estos son los cambios que he notado. - En mi equipo no es más rápido que la versión anterior. Igual se nota en equipos nuevos, tal como prometen. - Se puede conectar remotamente desde la pantalla de bienvenida. Esto tendré que probarlo un día de estos. - Aparecen dos iconos nuevos en el lanzador, que corresponden a páginas web de Amazon y Ubuntu one. Al entrar en facebook me pregunta si deseo añadir facebookmessenger. Acepto y me añade otro icono que simplemente abre Firefox con la página, o lleva a su pestaña si ya estaba abierto. - El icono de notificación y los de su menú han cambiado. Se han extendido las notificaciones: Al haber añadido facebook me notifica aquí sobre mensajes y notificaciones de éste. - POR FIN pueden cerrarse ventanas en exposición y hasta se ve el título. Esto debió estar desde el principio. Era una carencia muy grave. - La animación de minimizar mola. - Las previsualizaciones del menú de Ubuntu, el Dash, están muy bien. Podrá integrarse prácticamente cualquier cosa aquí. Se previsualiza pulsando con el botón secundario sobre cualquier cosa en cualquier lente, y según de lo que se trate se muestra de una manera diferente. Por ejemplo, para un álbum musical aparece la lista de canciones (aunque no reproduce por alguna razón) y para una foto permite abrirla, enviarla por correo, o abrir la carpeta en donde se encuentra, además de mostrar datos sobre ella. Por otra parte, es ligeramente lento si no se tiene una gráfica ágil. - Libreoffice Calc no tiene menú. Si se abre un segundo documento sí. - Writer POR FIN tiene una regla decente y no el pegote triangular negro. - El HUD busca en cualquier parte de la aplicación actual. Mi impresión: es como debió ser la versión anterior en algunos aspectos y un camino claro hacia lo que debe ser un sistema operativo de escritorio: Integración total. Me gusta. Conforme la vaya utilizando veré si ahora se puede trabajar en serio con esta versión, sobre todo por el intercambio entre ventanas.

19 septiembre 2012

Integración Ubuntu Linux con "Active Directory" II: Usuarios

Seguimos con la integración de Ubuntu en el directorio activo de Windows Server que empezamos con este artículo. Vamos ahora a configurar nuestro sistema Linux para que valide los usuarios frente al servidor Windows. El sistema usa /etc/nsswitch.conf para determinar dónde mirar al resolver algunas cuestiones. Es aquí donde hay que indicar dónde tendrá que comprobar el sistema las credenciales que introduzcamos al iniciar sesión tanto local como remota. Para usuarios y grupos del directorio activo, hay que añadir referencias al módulo del servicio de nombres winbind: passwd: compat winbind group: compat winbind shadow: compat winbind Con esto, primero se hace una validación local, como siempre, y en caso de que el nombre de usuario no se encuentre, se comprueban las credenciales contra el servidor Windows. Si se desea que lo que se compruebe primero sean las credenciales de los usuarios del directorio activo, habrá que invertir el orden: AVISO: EN CASO DE ERROR, ESTO PUEDE IMPOSIBILITAR EL ACCESO AL SISTEMA. **HABILITAR LA CUENTA DE ROOT ANTES DE HACER LO SIGUIENTE** passwd: winbind compat group: winbind compat shadow: winbind compat Por alguna razón, en ubuntu 12.04 no funciona correctamente la comprobación de credenciales. Es un problema con lightdm. Sin embargo, existen opciones para poder introducir usuarios que no existen localmente. Para ello, se edita /etc/lightdm/lightdm.conf y se añade la siguiente linea: greeter-show-manual-login=true Para ocultar los usuarios que han entrado previamente, que podría ser una larga lista: greeter-hide-users = True Pero, como decía, desde la pantalla gráfica, durante las pruebas, no funcionó si primero se valida ante el servidor. Sí funcionan correctamente los accesos remotos en la 12.04, y en la 10.04 y siguientes con gdm todo funciona correctamente. Toda la documentación encontrada se refiere a versiones bastante antiguas de samba, y se indica que hay que editar bastantes archivos de PAM. En realidad, esto ya no es necesario. Puede verse que todos los módulos implicados están activados: pam-auth-update Sólo hay que editar /etc/pam.d/common-session y añadir: session required pam_mkhomedir.so umask=0022 skel=/etc/skel Finalmente hay que crear el directorio /home/MIDOMINIO-COM, ya que aquí es donde se crearán las carpetas de los usuarios del dominio con el esqueleto configurado antes. Para activar los cambios hay que reiniciar los servicios implicados (ahora es el momento crítico que requiere tener root en caso de error): sudo service winbind restart sudo service smbd restart Ahora se podrá mostrar el listado de usuarios y grupos del dominio al estilo unix: getent passwd getent group Y validarse ante el servidor tanto localmente como remotamente.

29 agosto 2012

¿Apple es el abanderado de la innovación?

Lo de las patentes en EEUU no se si es de risa o para llorar. Apple denunció a Samsung por "robo", es decir, violación de patentes. No se si es que en Europa tenemos otra visión de las cosas y ellos tienen razón o es que son totalmente ridículos y ponen precio hasta al aire. Diría que es más bien lo segundo, que tienden hasta a poner precio a sus madres. El problema es que arrastran al resto del mundo, y así nos va.

Según he leido, han violado 6 patentes:

- Ampliación de documentos tocando la pantalla. En symbian creo que se hacía desde hace muchos años, y en todo navegador de internet móvil. No parece muy innovador, más bien algo que se le puede haber ocurrido a miles de personas.


- 'Rebote' de la página al desplazarse más allá del límite. Igual aquí se les ha visto el plumero. Es algo más estético que otra cosa, pero seguramente a Apple le molestó que la competencia tuviera hasta detallitos iguales. En cualquier caso, no lo veo patentable. Es un detalle de usabilidad bastante prescindible y por otra parte, me parece recordar haberlo visto en algún otro sistema.

- Distinción entre los gestos de un solo toque y los gestos multitoque, como la ampliación 'pellizcando' la pantalla. Esto es propio de la pantalla, y Apple no fabrica pantallas, pero Samsung sí. Lo que estaría patentado sería la tecnología multitoque, que sí es innovación, pero el propio uso es estúpido patentarlo.

- Diseño ornamental del iPhone, patente en blanco y en negro. Vale, aquí tenemos algo más lógico. Hacer un producto con la misma apariencia es tocar los colgantes masculinos, y no es siquiera necesario patentarlo, al menos en Europa; el hecho de estar en el mercado ya da un derecho y que la competencia use la misma apariencia es denunciable. Aquí habría que ver si realmente poseen la misma apariencia. Y yo no confundo un Galaxy y un Iphone, así que a lo mejor es que no son iguales. Si entran en que son parecidos, el 90% de los móviles del mercado son parecidos. El hecho de que lo hayan patentado en negro da muestras de mala fe, ya que el color abanderado de Apple es blanco.

- Las esquinas redondeadas de los iconos de las aplicaciones. Me descojono, con perdón. ¿Esto se puede patentar? Vale que Apple cuida mucho la apariencia, pero, ¿esto tiene que ver con la innovación?

El hecho de que Apple haya ido por delante en crear sistemas fáciles de usar y con una muy buena estética aunque no necesariamente potentes o completos no significa que sean los únicos que lo hacen y han de hacerlo. Todas las empresas copian detalles y es totalmente normal; otra cosa es que se copie tecnología que ha costado dinero desarrollar. Ahí entramos en otra cuestión. Pero que denuncien por estas tonterías... para mí, es buena publicidad para Samsung y mala para Apple. Y si a pesar del esnobismo que hace ganar a Apple dinero a espuertas gracias al consumismo existente con los móviles, una marca no tan chachipiruli como Samsung ha conseguido superarlos, quizá es que están trabajando mejor.

Tenía cierta simpatía a Apple cuando Steve Jobs estaba vivo, pero por mí que los borren del mapa entre Samsung, HTC, ZTE y LG. No incluyo a Nokia porque su pacto con el diablo me produce la misma simpatía que ahora Apple. Además, llevaban años viviendo del cuento.

Visto esto, creo que voy a ir a EEUU y voy a patentar el cagar.

28 agosto 2012

Integración Ubuntu Linux con "Active Directory" I: Unir máquina

El directorio activo de Microsoft es simplemente una integración completa del estándar de directorio LDAP con autenticación Kerberos y resolución DNS, ligeramente modificado, al estilo Microsoft, para complicar las cosas.

Desde hace tiempo quería probar si se podía integrar fácilmente una máquina Linux con un servidor de dominio Windows, para que cualquier usuario del dominio pueda acceder a la máquina y, pese a que la documentación disponible está desfasada, sí, es posible, y dentro de lo que cabe bastante sencillo. En los artículos consultados se propone el uso de herramientas de terceros, pero el procedimiento que voy a describir hace uso únicamente de samba y de algunas herramientas de autenticación necesarias también incluidas en los repositorios.


Empecemos con el proceso. Se describe la integración con Windows Server 2003 y 2008 (supongo que también funcionará con el 2000) para Ubuntu 10.04 y 12.04. El resto de distribuciones desde hace un par de años seguirán un proceso muy similar, exceptuando la instalación de paquetes y la ubicación de algunos archivos. Otras anteriores seguirían un procedimiento más laborioso en la segunda parte del artículo.

Tendremos por tanto un dominio midominio.com con un servidor Windows llamado servidor y una máquina linux que se llama ubuntu.

Lo primero es instalar los programas necesarios:

sudo apt-get install winbind samba krb5-user libpam-mount

Durante la configuración postinstalación se pide el nombre del reino predeterminado. Se introducirá en mayúsculas el nombre del dominio. Según versión también preguntará el servidor de kerberos y el servidor administrativo, que corresponden a la máquina del servidor de dominio Windows servidor.MIDOMINIO.COM.

Los datos anteriores se guardan en el archivo /etc/krb5.cnf. En caso de que no se pregunten en la postinstalación, habrá que editar dicho archivo e introducirlo manualmente en cada una de las secciones siguientes. En cualquier caso, puede confirmarse que los datos son correctos:


[libdefaults]
        default_realm =MIDOMINIO.COM

[realms]
       MIDOMINIO.COM = {
                kdc = servidor.MIDOMINIO.COM
                admin_server = servidor.MIDOMINIO.COM
                default_domain = MIDOMINIO.COM
        }

[domain_realm]
        .midominio.com = MIDOMINIO.COM
        midominio.com = MIDOMINIO.COM

En la configuración de la interfaz de red hay que indicar el dominio de búsqueda. Si se usa NetworkManager se indicará gráficamente en la pestaña Ajustes de IPV4, pero si se trata de un servidor sin entorno de escritorio instalado, se editará /etc/resolv.conf y se añadirá la IP del servidor DNS si no estuviera ya indicado (puede ser distinto al servidor Windows), y el dominio de búsqueda:

domain midominio.com
search midominio.com
nameserver 192.168.1.10
Se indica también el nombre y dirección IP en la red de la máquina propia en /etc/hosts:

127.0.1.1       ubuntu
192.168.1.29  ubuntu ubuntu.midominio.com

En un directorio Windows es muy importante la sincronización horaria debido a la autenticación por kerberos, por lo que hay que configurar como servidor horario el mismo servidor que tenga el servidor de dominio, o al propio servidor de dominio. Se edita /etc/default/ntpdate:

NTPSERVERS="servidor.midominio.com"
NTPOPTIONS="-u"
La segunda opción evita usar puertos privilegiados.

Ya está preparada la configuración básica. Vamos a empezar a tocar la de Samba, que se ha de configurar como cliente de ADS.
Primero es recomendable hacer un respaldo del archivo original para evitar problemas y como referencia, ya que es una buena fuente de información sobre los parámetros existentes:
cd /etc/samba
mv smb.conf smb.conf.orig

He preparado un archivo funcional smb.conf que puede usarse como base. Atención a workgroup, que ha de llevar guión, y a las mayúsculas:
[global]
    workgroup = MIDOMINIO-COM
    realm = MIDOMINIO.COM
    server string = Servidor %h (Samba, Ubuntu)
    security = ADS
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Introduzca\snueva\s*\sclave:* %n\n *Repita\snueva\s*\sclave:* %n\n *clave\sactualizada\scorrectamente* .
    unix password sync = Yes
    restrict anonymous = 2
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    announce version = 4
    announce as = NT Workstation
    os level = 0
    local master = No
    domain master = No
    dns proxy = No
    usershare allow guests = Yes
    panic action = /usr/share/samba/panic-action %d
    template shell = /bin/bash
    winbind cache time = 10
    winbind enum users = Yes
    winbind enum groups = Yes
    winbind use default domain = Yes
    winbind refresh tickets = Yes
    winbind offline logon = Yes
    invalid users = root
A continuación, según versión, se añadirá también:
- En Ubuntu 10.04   
   idmap uid = 167771-335549
   idmap gid = 167771-335549
   passdb backend = tdbsam

- En Ubuntu 12.04:
 idmap config * : range = 167771-335549
 idmap config * : backend = tdb

Lo siguiente viene por defecto en el original y se añadirá al final:
[printers]
    comment = All Printers
    path = /var/spool/samba
    create mask = 0700
    printable = Yes
    print ok = Yes
    browseable = No

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers

Si se configura una copia del original o se realiza cualquier otro cambio, es recomendable, por no decir imprescindible, utilizar la utilidad de verificación de samba:

testparm
Lo que devuelve será la configuración corregida en su caso y podrá sustituirse el actual smb.conf por lo que devuelva.

Vamos a empezar a probar lo que hemos configurado. Probemos Kerberos:

sudo kinit Administrador@MIDOMINIO.COM
Para lo anterior y para los casos siguientes puede usarse cualquier otra cuenta con permisos de administración del dominio en lugar de Administrador.

Si todo va bien, no debe mostrar ningún mensaje. Para visualizar los tiques kerberos almacenados:
sudo klist
Y ahora vamos a meter de una vez la máquina en el dominio:
en el dominio:
sudo net ads join -U administrador

Para los dominios NT en lugar de ads se hubiera usado domain. Introducido esto, el sistema contestará:
Using short domain name -- MIDOMINIO-COM
Joined 'UBUNTU' to realm 'midominio.com'
DNS Update for ubuntu.midominio.com failed: ERROR_DNS_GSS_ERROR
DNS update failed!
El error DNS es normal si el servidor de dominio no es servidor DNS, ya que lógicamente no ha podido actualizar el registro DNS de la máquina.

Para el caso de querer abandonar el dominio se introduciría algo muy similar a lo anterior:
net ads leave -U Administrador
Una vez introducida la máquina en el dominio, se puede probar la conexión con el directorio activo:
sudo net ads testjoin
Desde el servidor Windows ya constará la máquina como miembro y podrá organizarse en el grupo que convenga. En la segunda parte del artículo se indicará cómo configurar la máquina Linux para que valide usuarios contra el dominio.