Nunc Id Vides, Nunc Ne Vides

"La mentira puede dar la vuelta al mundo, antes de que la verdad se ponga las botas"

Archive for the ‘GNU/Linux’ Category

Steam & Team Fortress en Debian Wheezy 64 bits

Posted by jumax9 en 20 noviembre, 2012

Escribo este post para poner más o menos en orden lo que he necesitado hacer para instalar la versión nativa de Steam y jugar a Team Fortress en Linux.

Mi tarjeta gráfica es una ATI Radeon HD 6670 (de la familia HD6000).

1 – Descargar -e instalar- el driver más reciente de la página de ATI para tu tarjeta gráfica:

(pero no la beta, el más reciente estable, a la hora de escribir esta entrada era 12.10, si hay alguno más reciente… vamos a suponerlo mejorado).

2 – Escribir en un terminal, siendo root:

dpkg –add-architecture:i386

Esto es algo que van a agradecer los scripts del paso siguiente.

3 – Entrar al foro de Steam y descargar uno de los scripts. Ambos funcionan (sí, he instalado Steam de siete formas distintas, tirando por lo bajo). Ahora mismo está instalado con el de Kanotix, pero con el otro también pude abrir Steam bien.

4 – Añadir estas líneas:

export LANG=C

export LC_NUMERIC=POSIX

Al principio de /usr/bin/steam (pero por debajo de #!bin/bash/, claro). Esto no necesariamente hace falta, a mí no me ha hecho, pero yo tengo el sistema en inglés y parece que es un problema bastante común en el mundo no anglosajón, ya que está relacionado con el hecho de no usar “.” sino “,” para separar decimales.

5 – Para abrir steam, si no tienes invitación a la beta:

steam steam://store

6 – Poner el TF2 en modo ventana.

Al intentar iniciar el TF2 a pantalla completa, el ratón solo tenía acceso -por alguna razón que desconozco- a una pequeña ventana del menú principal. Podía jugar sin problemas, pero no seleccionar opciones, lo cuál es un coñazo.

Como de todas formas me gusta más jugar en modo ventana que a pantalla completa, la solución a esto ha pasado por darle con el botón derecho al TF2 y en “propiedades > launch options” escribir “-windowed”

—————-

Tras varias horas (entre hoy y ayer) de pruebas -la mayoría fallidas- mi conclusión sobre todo esto son principalmente tres:

1 – ATI hace drivers de mierda. Porque el driver de hace dos meses no me funcionaba para no me acuerdo qué y el de este mes (el 12.11) hace reventar a Steam también. Cojones.

2 – Se nota mucho que Steam para Linux es una beta todavía. No obstante, el Team Fortress 2 funciona sorprendentemente bien, va más fluido que en Windows (aunque se ha quedado pillado un par de veces¹).

3 – De repente me gustan las listas.

Bonus:

Lista de librerías necesarias para Ubuntu de 64 bits, apt-friendly: link

Hilo de reddit con un listado de juegos que funcionan (o no): link

 

Actualización: Tras algunos parches y actualizaciones de Steam, este método sigue funcionando bien y TF2 (que es prácticamente a lo único que juego en Linux) cada vez falla menos. Un abrazo para Valve.

 

¹No, no es en plan fanboy. Cuando funciona va más fluido que en Windows.

Posted in GNU/Linux, Videojuegos | Etiquetado: , , , , | Leave a Comment »

Denty – Cliente de Identi.ca para Android (beta)

Posted by jumax9 en 25 mayo, 2012

Llevaba un tiempo queriendo desarrollar algo para Android (desde que me compré el Arc, realmente) y dado que no encontraba ningún cliente decente para identi.ca pensé que sería buena idea crear uno.

Así que, sin tener ni idea de java ni de cómo funcionan las cosas en Android, intenté ponerme a ello. Hay mucha documentación en Internet sobre ambas cosas (y la gente de Stack Overflow come gracias a Android, estoy seguro) así que no ha sido especialmente complicado.

El cliente que he hecho es por ahora muy sencillito: lee el timeline y las menciones y las guarda en una base de datos (en esta beta, el timeline cada minuto y las menciones cada diez). Usa la autorización básica, porque no conseguí que funcionase oauth bien (y ya que la básica tira bien para identi.ca, he preferido todavía no meterme ahí, pero quiero que esté para cuando lo “complete”).

He subido a github el código fuente de la aplicación y el AndroidManifest, junto a un apk para que quien quiera instalarlo pueda. Las bibliotecas no, es cuestión de bajarlas de donde toque. Las que uso ahora mismo son: twitter4j y ActionBarSherlock.

Recordad que el programa es solo una beta¹ y que le faltan cosas tan básicas como pulsar sobre los elementos de la lista o un manejo eficiente de la base de datos.² En el código fuente hay cosas redundantes y /muchos/ Log.d que he usado para depurar, he quitado algunos más innecesarios, pero pueden quedar cosas por ahí sueltas. Los comentarios³ son mejorables, pero creo que es más o menos legible.

Y por supuesto, cualquier bug, cualquier fallo cualquier cosa que encontréis, por favor, comentadlo (junto a información sobre la versión de Android/móvil). Ahora mismo solo lo puedo probar en una Galaxy Tab con ICS y en un Xperia Arc con Android 2.3.4, así que mi rango de pruebas está bastante limitado, pero debería funcionar en cualquier cosa⁴ a partir de Android 2.1

Denty en Github

Bugs conocidos:
De vez en cuando se solapan las columnas mentions y timeline. Solo me ha ocurrido en 2.3.3, pero parece ser aleatorio.

To-do:
DMs
Usar asyncTask para enviar dents
Opciones en los dents

¹ Y dado que se acercan los exámenes, lo seguirá siendo bastante tiempo, por eso he preferido liberar algo funcional ahora y tras los exámenes, al market.
² Dado que identi.ca no tiene el movimiento que tiene twitter, esto no es /realmente/ un problema, pero hay que arreglarlo. O al menos dejarlo elegante.
³ La extraña mezcla entre español e inglés depende de la hora a la que me despertase ese día.
⁴ Y esto incluye tostadoras. Siempre que el modelo sea adecuado.

Posted in Android, GNU/Linux, Informática | Etiquetado: , , , | 2 Comments »

Usando tweepy: clase para autentificar en twitter…

Posted by jumax9 en 21 marzo, 2012

… y meter las cosas en una base de datos. Es más, ahora mismo necesita de una base de datos para funcionar (aunque la clase se encarga de crear y modificar lo necesario, solo necesita que se le introduzca una ruta a lo “basedatos.dat”).

La he subido a dropbox, por si alguien la quiere descargar.

Confieso que no está demasiado ordenada (y nada comentada, tengo que arreglar eso) pero hasta donde he probado, funciona. Quiero todavía cambiar algunas cosas así que la vamos a llamar, a la espera de futuras actualizaciones¹, “1.0”.

El funcionamiento de la clase es bastante simple: recibe el Consumer Key y Consumer Secret del programa en cuestión, una ruta para una base de datos y el nombre del programa (aunque esto no es obligatorio). A partir de ahí busca en la base de datos algún usuario y se conecta a twitter. Si el usuario no existe, da los pasos necesarios para crearlo (y registrarlo en la base de datos). Con el método “devuelveapi”² conseguimos la api de twitter con el usuario ya conectado.

Por si no quedó claro en el título³, la⁴ api que estoy utilizando es la de tweepy, que funciona razonablemente bien. Para saber cómo seguir a partir de ahí recomiendo la página propia página de Twitter o la de tweepy 1.4 cuya organización me gusta aunque no esté del todo completa (a la hora de escribir estas líneas va por la versión 1.9, aunque esta clase está hecha usando la versión 1.8).

¹ Que, siendo serios, puede que nunca lleguen.
² Festival de la originalidad.
³ Fruto de un “mira, con esto que acabo de hacer por fin puedo actualizar el blog”.
⁴ Algún día descubriré si en español es más correcto “la” o “el”⁵
⁵ Y me lo ha descubierto McManus en un comentario. ¡Gracias!

Posted in GNU/Linux, Informática, python | Etiquetado: , | 1 Comment »

Control remoto en Fedora 15 (o cualquier otra distribución) desde Android vía SSH

Posted by jumax9 en 6 septiembre, 2011

He estado mirando por Google, no he encontrado ningún tutorial para habilitar el control del PC con Fedora 15 (Lovelock) desde un móvil Android y esto a mí me viene de perlas para copiar y pegar cada vez que reformatee.

En primer lugar vamos a habilitar el servicio de ssh en Fedora (y le vamos a decir que lo ejecute siempre al inicio). Como superusuario escribimos lo siguiente:

~# systemctl start sshd.service

~# chkconfig sshd on

Con esto ya tendríamos configurado el cliente ssh, para comprobarlo simplemente hacemos en terminal (cambiando, obviamente, pepe por tu nombre de usuario).

~$ ssh pepe@localhost

En Android vamos a usar  Connect Bot para conectarnos a nuestro servidor SSH. Al abrir la aplicación, en la parte de abajo, tenemos un cuadro de texto en el que pondremos:

pepe@ip-de-nuestro-pc:22

Siendo 22 el puerto que se suele utilizar para ssh. Podéis usarlo, mientras estéis conectados a la misma red del PC, poniendo como ip “192.168.X.Y” (donde X e Y os las dará vuestro router).

Pero esto es algo molesto, eso de tener que ir poniendo la ip. ¿Y si cambia? Qué putada, ¿eh? Puedes ir al final del post si te da algún error para ver las soluciones más comunes o seguir por aquí, donde vamos a crear una cuenta en no-ip.com para despreocuparnos de la ip:

Con la cuenta recién registrada en la mano vamos a pulsar a la izquierda en “Add host”. Lo único a tener en cuenta es escoger la opción: “DNS Host (A)”, lo demás es irrelevante. Si por ejemplo hemos puesto de nombre “pepe.zapto.org”, pepe.zapto.org hará las veces de IP, ¡y es mucho más fácil recordar un nombre que una IP!

Cuando hayamos comprobado que funciona, nos volvemos a nuestro ordenador a instalar el cliente de no-ip para que se actualice solo (y no tengamos que entrar a mano a cambiar la ip cada vez que nuestro ISP decida que es hora de cambiarla). Abrimos una terminal en Fedora (si usas otra distribución, cambia yum por apt-get… o lo que uses) y escribimos lo siguiente:

sudo yum -y install noip

Idealmente, tras terminar de instalarse te pedirá que lo configures. Si no ocurre así, lo tendremos que hacer a mano:

sudo rm /etc/no-ip2.conf

noip2 -C

Si no me he dejado nada (¡creo que no!) no debería haber ningún error. Noip puede tardar un rato en actualizarse desde que creemos nuestro Host, así que si no funciona la primera vez esperen ~15 minutos.

Troubleshooting

“No me funciona desde fuera de mi router”

¿Tienes un router o un firewall? La respuesta más común a esto será “Sí”. En el caso del router no te puedo ayudar mucho, ya que cada modelo es un mundo, pero puedo decirte “Busca algo parecido a port forwading y redirige el puerto 22 a tu ip local”.

En el caso del firewall, otro tanto, pero dado que estoy desde Fedora: pulsemos ALT+F2 y escribamos “system-config-firewall” (sin las comillas), si pensamos que podemos hacerlo a mano, al igual que en el caso del router tenemos que abrir el puerto 22 por tcp. Si no nos creemos suficiente hombres (o si sois vagos, como yo) arriba a la izquierda tenemos un Asistente que, escogiendo la configuración para servidor, nos abrirá el puerto 22.

“No soy un trigre”

Ni yo una vaca.

“Warning: Permanently added ‘localhost’ (RSA) to the list of known hosts? ¿Qué hago?”

Decir que “sí”.

“Could not chdir to home directory. ¿Esto es malo, verdad?”

No necesariamente, todo lo que ocurrirá es que entrarás en la raíz del sistema en lugar de /home. Es un problema de permisos y, aunque la solución no es complicada en muchos casos, te aconsejo no tocar nada. Jugar con los permisos de /home es peligroso, la experiencia te habla.

Cualquier otra pregunta que se me haga, problema que me encuentre, cosa ambigua que vea, intentaré meterla aquí.

—–

Lo sé, llevaba más de 6 meses sin poner nada. A ver si consigo volver.

Posted in GNU/Linux, Informática | Etiquetado: , , , , , , | Leave a Comment »