25
February
2010

Con tiempo y una caña he conseguido que mi cabeza diera de sí un rato y adaptar de forma legible mi web al iPod Touch que siempre me acompaña.

Este blog, mi blog, es un wordpress. Y existen varios plugins o plantillas para adaptarlo. Y algunos lo hacen muy bien. Pero prefiero ‘cuasi’ hacerlo yo mismo.

Después de algunas pruebas, pocas en realidad, me decidí por el más simple: iPhone Wordpress Plugin and Theme. Es antiguo, del 2007, pero funciona y hace lo que debe: detectar si el dispositivo es un iPod o un iPhone y mostrar una plantilla, tema, teme o template diferente al que mi wordpress tiene por defecto. Esta nueva plantilla es la que he modificado para que su apariencia en el iPod sea lo más cómoda de leer posible.

Pantallazo de MacOSas.com para iPhone

Pantallazo de MacOSas.com para iPhone

Adaptando los PHP
En los PHP del teme es recomendable hacer alguna modificación, como:

- en el index.php solo mostrar el excerpt y no el contenido del mensaje completo

- en header.php desactivar el plugin ‘jquery’ para los Lightbox, que aunque funciona el JavaScript perfectamente en iPhone, no es cómodo de ver. Quizá si modificara las CSS del lightbox conseguía algo… para otra ocasión, eje

Para no usar widgets y resolver la plantilla más rápida incluyo el searchform.php donde me ha parecido mejor, el footer.php, como include PHP. Que elegante quedarían los widgets… pues seguro que si, para otra, jajajaja

Modificación header.php para que no ejecute los lightbox en el iPhone/iPod:

<?php
wp_enqueue_script('jquery');
wp_deregister_script( 'jquery' );
?>
<?php wp_head(); ?>

Esto lo desactiva en todo el blog, sin distinguir homo (is_home), categories (is_category), mensaje único (is_single), paging (is_page)…. Corto por lo sano, que no dé guerra. OJO: se debe poner antes de la función wp_head().

Adaptación de estilo, CSS
Lo que más he modificado es el estilo del theme, como es normal. Como base he utilizado el teme del propio plugin que he usado. Además de modificar tamaños de texto, las fuentes que uso para iPhone/iPod mirando el listado de las preinstaladas, colores, cabeceras y pies, añadir el buscador a la plantilla y alguna cosas más, los más importante es limitar los anchos de los contenidos: imágenes, vídeos, galerías, el tag <pre> que uso para escribir código…

- Limitar ancho de las imágenes, vídeos y contenidos mayores del ancho del iPhone/iPod (320px de pantalla):

max-width: 310px !important;
height: auto !important;

- Para líneas de texto que la etiqueta per no hace el salto de línea, debemos forzarlo con el CSS para que no quede al ancho del texto sino que se limite, lo más posible, al ancho del propio dispositivo:

white-space: pre-wrap;

Y por fin, si tenéis un iPhone, iPod Touch o simulador a mano podéis ver mi web legible en este cómodo y versátil dispositivo, donde la lectura es tan cómoda como en un dispositivo de tinta electrónica.

SaludoX

23
November
2009

Este método se aplica a Debian. Aunque el comando y las opciones varían un poco para otros Linux, pero la base es esta, aplíquese como deba en cada caso

No sé por qué, pero mi usuario y la interfaz de administración de un equipo cliente de Debian no se llevan bien, y para cambiar los ajustes de red no me que queda otra que recurrir a cambiarlos por consola de comandos. Ya lo hice varias veces y siempre se me olvida, por eso me lo apunto aquí porque cada vez me toca buscar por la red de redes hasta dar otra vez con la solución.

Editar configuración, debemos abrir en un editor de textos el fichero interfaces, y de la configuración que tenga, poner la interfaz ethernet que nos convenga con los datos de IP fija o dhcp que nos convenga:

$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1

Una vez editado el fichero guardamos cambios y reiniciamos los servicios de red, en Debian:

$ sudo /etc/init.d/networking restart

Y ya tendremos la red respondiendo con nuestros datos.

30
April
2009

Propósito
Para que al lanzar un comando de Unix como súper usuario, sin serlo, con el modificador ‘sudo‘ no pida la correspondiente contraseña, editaremos el fichero de configuración ‘sudoers‘.

Qué es lo que hace realmente
Podemos decidir que un usuario, un grupo, o desde una máquina en concreto, por su nombre de host o rango de ip’s incluso, ejecuten comandos restringidos al usuario root o a usuarios de sistema.

La tarea no es difícil, pero es recomendable seguir unos pasos de seguridad mínima.

Seguridad ante todo, que si cualquiera puede ejecutarlo todo, menuda podemos liar. Daremos permisos de ejecuciones con los dedos contados, y por hacernos la vida más fácil a los administradores, no al usuario, que tampoco va a usar los comandos en Mac OS X.

Primero de todo, hacer una copia del fichero de configuración, editarlo, probarlo con un comando antes de ponerlo como definitivo en el sistema y finalmente sustituir el fichero sudoers por el nuevo para empezar a usarlo inmediatamente.

Este fichero puede ser consultado por varios usuarios simultáneamente, por eso utilizamos no cualquier editor de texto, sino el artefacto ‘visudo’ que nos permitirá editarlo con vi, pero con la elegancia de editar un fichero temporal que no será accedido y que solo sustituirá al de sistema cuando lo guardemos.

Una idea general del fichero sudoers
En cada línea del fichero podemos hacer alias de comandos, alias de hosts, de usuarios, de grupos… que luego podemos manejar en las líneas de acciones para usuarios, grupos y hosts.

Una línea se compone de nombre_usuario_grupo (tabulador) nombre_host=comando, donde nombre_usuario_grupo es o el nombre de un usuario en concreto, de un grupo, que puede ser del sistema, poniendo ‘%’ delante, %staff, o creado con alias en el propio sudoers, RUTEROS, nombre en mayúsculas, o aplicarse a todos los usuarios, ALL. nombre_host puede ser localhost, el nombre DNS, del equipo local o remoto, un alias de hosts, con el nombre en mayúsuculas, o aplicarse a todos los hosts, ALL.

Paso a paso, y un caso concreto
Hacemos una copia del fichero sudoers como usuario root, o supersusuario.

$ su
password:

root$ cp /etc/sudoers /etc/sudoers.backup
root$ visudo

Al final del archivo añadimos las líneas que necesitemos, en mi caso:

ALL    ALL=NOPASSWD: /sbin/route

en la que a todos los usuarios (primer ALL) desde cualquier host (segundo ALL) le decimos que ejecute solamente el comando ‘route’ sin que pida la contraseña de súper usuario, de forma que cuando se ejecute el comando ‘route’ con el modificador ’sudo’ no sea necesario meter la contraseña de administrador y un script de arranque de usuario pueda ejecutarse para añadir unas rutas de red al equipo.

Y al escribir en Terminal el comando:

sudo /sbin/route add -net 192.168.1.0 192.168.2.1

no nos preguntará la contraseña, y se podrá meter en cualqueir script que necesitemos sin necesidad de dejar el script parado. Genial.

Bibiliografía
AFP548.com – Essential Sudoers
Sudoers Manual
OS X Faq