19 junio 2009

Enlaces simbólicos reales en Windows

Para crear un enlace simbólico (NO un acceso directo) podemos utilizar el comando junction que ofrece microsoft en esta página:

http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

Y que debemos copiar dentro del directorio C:\Windows\System32 para que esté accesible desde la consola de comandos.

El uso es muy sencillo:

junction <fich-dir_enlace> <fich-dir_a_enlazar>

Ejemplo:

Si tenemos un directorio en C:/ enlazando con las fotos de Vista podríamos hacer:

>junction C:\fotos C:\Users\Pepe\Imágenes

Si lo que queremos es borrar un enlace:

junction -d <fich-dir_enlace>

Más información: http://eliax.com

15 abril 2009

Tarjeta gráfica no detectada en XP tras reinstalar

Recientemente me he topado con un problema muy curioso. Tras un falso positivo del Antivirus Comodo en ciertos ficheros del sistema, el Windows XP dejó de funcionar. La solución: reinstalar XP por encima.

Tras realizar la operación, en principio el problema parecía resuelto, pero curiosamente la tarjeta gráfica no aparecía por ninguna parte. Y cuando digo que no aparecía no me refiero a que faltaba el driver específico de la gráfica, sino que en el Administrador de dispositivos no aparecía ningún Adaptador de pantalla detectado, de modo que non existía la posibilidad de actualizar el controlador. De hecho al intentar instalar los drivers de ATI y el CCC, aparecía un mensaje avisando de que no se encontraba ningunha tarjeta gráfica compatible y que la instalación no podía continuar. Así que las cosas se estaban mostrando con una especie de driver VGA genérico que alcanzaba la resolución correcta, pero mostraba los desplazamientos dentro de las ventanas a saltos (aparte de aceleración 3D nula).

Tras darle varias vueltas y actualizar la BIOS, las DirectX y todo lo que se me ocurría di con la clave. Al parecer tenía que instalar un controlador para AGP, puesto que por alguna extraña razón había algún conflicto con eso y no se mostraba aviso en ningún lado. Después de descargarlo de la página web de la placa e instalarlo todo fue bien.

Aprovecho para comentar que instalar la última versión de los drivers de ATI no siempre es mejor, sobre todo cuando la gráfica no es de última generación. De hecho, muchos juegos no funcionan correctamente con las últimas versiones (7.x), pero al usar una anterior (6.x), de la época de la gráfica, todo fuciona a la perfección. Y es que en estos casos es muy cierto lo que se suele decir: "si funciona, no lo toques".

06 febrero 2009

Xming: abrir aplicaciones Linux en Windows

Xming es un servidor X ligero que nos permite abrir aplicaciones Linux remotamente desde Windows. Para ello sólo necesitamos seguir estos pasos:

  1. Instalar el software de Xming y el putty (aunque hay una versión del Xming que ya trae el putty)
  2. Arrancar el Xming (no el Xlauch que lía un poco)
  3. Abrir el putty y antes de conectar ir a la categoría Connection > SSH > X11 y marcar Enable X11 forwarding (se puede poner localhost:0 en el X display location, pero es opcional si ponemos todo por defecto)
  4. Entrar en el servidor remoto como root y editar el fichero /etc/ssh/sshd_config
  5. Asegurarse de que pone: X11Forwarding yes
  6. Si hicimos cambios en el fichero (cambiar 'no' por 'yes') debemos reiniciar el servidor sshd ejecutando: > /etc/init.d/ssh restart

05 febrero 2009

Iniciar Outlook mostrando el Calendario

Si queremos que al cargar el Outlook nos aparezca el calendario en vez del correo electrónico podemos hacer lo siguiente:

  1. Ir al menú [Herramientas>Opciones]
  2. Hacer click en la pestaña Otros y luego en Opciones avanzadas...
  3. En la sección Configuración general, donde pone Iniciar en esta carpeta, hacer click en [Examinar]
  4. Seleccionar en la ventana la carpeta con la que se desea iniciar el Outlook (Calendario, Contactos, Tareas, Bandeja de entrada...)


Fuente:
http://office.microsoft.com/es-es/outlook/HP052431673082.aspx

18 enero 2009

Ventana de Windows Media Center siempre visible

Si usamos el Windows Media Center para ver la TV mientras trabajamos con nuestro PC, seguramente nos interese tenerlo en una pequeña ventana siempre visible. Para lograr este comportamiento debemos seguir los siguientens pasos:

  1. En la pantalla de inicio, desplazarse a Tareas, hacer clic en configuración, en Generaly, a continuación, en Comportamiento de inicio y de ventana.

  2. Activar la casilla Ventana de Windows Media Center siempre visible.

  3. Haga clic en Guardar para guardar los cambios.

Fuente: http://windowshelp.microsoft.com
Capturas (Windows Media Center 2005): http://microsoft.com

26 diciembre 2008

Barra de inicio rápido personalizada (Vista)

Para crear una barra personalizada como la descrita aquí en Windows Vista, lo único que tenemos que hacer es crear una carpeta vacía en el escritorio y luego arrastrarla hacia uno de los bordes de la pantalla (izquierda) para que se acople. Luego ya podemos añadir nuevas barras de herramientas sobre esa zona pulsando el botón derecho sobre ella y siguiendo los pasos del otro post. Finalmente debemos eliminar la propia barra "Nueva carpeta" que usamos para iniciar el proceso una vez tangamos definidas las otras barras pulsando en ella con el botón derecho y seleccionando "Cerrar Barra de herramientas".



Ésto hay que hacerlo de esta forma porque en Vista no se permite arrastrar las barras acopladas a la barra de teareas hacia el escritorio. Al terminar de configurar nuestra barra, ya podemos cerrar la barra de acceso rápido de la barra de tareas (si es que la ubicamos en la otra) para no tenerla repetida.

Más información: http://windowshelp.microsoft.com

18 noviembre 2008

Barra de inicio rápido personalizada

No podría vivir sin ella. Lo cierto es que nada más instalar Windows es lo primero que hago, ya que es muy cómodo tener en una barra personalizada con acceso a los dispositivos y a los programas más utilizados con un solo click. Veamos paso a paso como crear nuestra barra a medida:

  1. Hacemos click con el botón derecho en la barra de tareas y si lo tenemos marcado, desmarcamos "Bloquear la barra de tareas".



  2. Volvemos a hacer click con el botón derecho en la barra de tareas y seleccionamos [Barra de herramientas > Nueva barra de herramientas...].

  3. En la ventana que aparece seleccionamos Mi PC y pulsamos [Aceptar].



  4. Nos aparecerá en la barra de tareas una nueva sección casi oculta con los elementos de Mi PC. La arrastramos hacia el escritorio pinchando en la parte izquierda de la sección.



  5. Nos aparecerá una ventana con el contenido de Mi PC. Ahora pinchamos en la barra de título de esa ventana y la arrastramos hacia un extremo del escritorio hasta que notemos que se acopla (por ejemplo hacia el lado izquierdo).



  6. Hacemos click con el botón derecho en esa nueva barra y desmarcamos "Mostrar texto" y "Mostrar título" para que no aparezcan.



  7. Marcamos además "Siempre visible" y si queremos también "Ocultar automáticamente".

  8. Ahora redimensionamos la barra para que solamente ocupe el ancho de los iconos.



  9. Ya tenemos en nuestra barra los accesos a los elementos de Mi PC. Añadiremos también los accesos directos a nuestros programas preferidos.

  10. Por defecto la barra de inicio rápido ya viene incrustada en la barra de tareas, si no apareciese, haríamos click con el botón derecho de nuevo y seleccionaríamos [Barra de herramientas > Inicio rápido].

  11. Una vez localizada la barra de herramientas la arrastramos hacia el escritorio igual que hicimos con la barra de Mi PC (paso 4).



  12. Una vez en el escritorio ya la podemos arrastrar hacia donde está la otra barra (a la izquierda) para acoplarla a ella.

  13. Podemos ajustar la separación vertical a nuestro gusto y ya tenemos nuestra barra lista.



  14. Hacemos click una vez más en la barra de tareas para volver a activar la opción "Bloquear la barra de tareas".
Observaciones:
  • Podemos añadir accesos directos a nuestra barra de inicio rápido simplemente con arrastrarlos hacia ella desde el escritorio (manteniendo pulsado CTRL si no queremos que desaparezca el acceso directo del escritorio).

  • También podemos cambiar el orden de los accesos directos arrastrándolos a la posición deseada dentro de nuestra barra personalizada.

27 septiembre 2008

Eliminar publicidad del MSN (Live) messenger

Si no queremos que aparezca publicidad en la parte de abajo de la ventana principal del messenger lo que podemos hacer es bloquear aquellos servidores que usa el programa para obtener los anuncios:

  1. Vamos a [Inicio > Panel de Control > Opciones de Internet]
  2. Seleccionamos la pestaña Seguridad, luego en Sitios Restringidos y a continuación pulsamos [Sitios]
  3. Finalmente introducimos los dos servidores de publicidad: view.atdmt.com y rad.msn.com
Luego aparecerá el cuadro de publicidad en blanco, molesta, pero menos... :P

24 julio 2008

Cómo conectarse por SSH o SCP sin contraseña

Se necesitamos acceder vía SSH o SCP sin necesidad de introducir la contraseña, hay que seguir los siguientes pasos:

  1. Generamos dos archivos, id_rsa.pub e id_rsa en nuestro equipo:
    > ssh-keygen -t rsa
  2. Copiamos el contenido del primero (clave pública) al otro ordenador, específicamente al archivo authorized_keys dentro de ~/.ssh/

    1. Primero lo copiamos por SCP al directorio del usuario remoto.
      > scp id_rsa.pub usuario@servidor:
    2. Nos conectamos por SSH y vemos si existe el archivo authorized_keys dentro de ~/.ssh/.
      1. Si no existe, escribimos:
        > mv id_rsa.pub .ssh/authorized_keys
      2. Si el archivo existía (que significa que para ese usuario en ese PC, hay otras claves públicas “de confianza”), añadimos nuestra clave pública (copiando los contenidos de id_rsa.pub a authorized_keys):
        > cat id_rsa.pub >> .ssh/authorized_keys
    3. Para probar si funciona ejecutamos un comando remotamente, por ejemplo hostname, que nos da el nombre de la máquina(y no debería pedir ninguna clave ahora):
      > ssh servidor.com hostname
Nota: Si necesitamos usar una clave dsa en lugar de rsa por la versión del SSH, simplemente cambios en los comandos rsa por dsa y serán generados los ficheros id_dsa.pub e id_dsa. El resto del procedimiento es el mismo, aunque también nos puede ocurrir tengamos que guardar la clave pública generada en authorized_keys2, en vez de authorized_keys dependiendo de la versión del SSH.

Fuentes:
http://www.bootlog.cl/blog/linux/tip-ssh-scp-y-un-as-bajo-la-manga/
http://www.alu.ua.es/p/psp4/Documentacion/Octubre_2001/ssh.html

02 junio 2008

Programar tareas en Linux con cron

Para programar tareas con Linux, lo más usual es utilizar el comando cron que nos permite establecer la frecuencia con que se debe ejecutar la tarea. El fichero clave para configurar las tareas está en /etc/crontab y por defecto aparecen directorios predefinidos donde se pueden ubicar scripts para su ejecución.

# /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) #
Para añadir una entrada manual tenemos que seguir el formato de la línea a introducir:
minuto hora dia-del-mes mes dia-de-la-semana usuario comando De modo que para se ejecute el script backup.sh que tenemos en /root una vez a la semana (domingo) a las 2:30 pondríamos:
30 2 * * 7 root /root/backup.sh
Nota 1: cron hace comprobaciones sobre lo que tiene que ejecutar cada minuto. El asterisco '*' sirve para indicar que cualquier valor es válido en ese campo, de tal modo que si todos los campos son asteriscos, la tarea se ejecutará cada minuto.
Nota 2: Si en lugar de especificar los minutos, horas, etc... queremos especificar cada x unidades, debemos hacerlo con la barra de dividir: */30 * * * * (cada 30 minutos) 30 */6 * * * * (cada 6 horas cuando los minutos sean 30) ... Más información: LinuxTotal.com.mx

14 mayo 2008

Ordenar alfabéticamente programas del menú de inicio

Cuando en Windows XP instalamos programas, la mayoría añaden accesos directos en el menú de Inicio, pero con el tiempo van quedando desordenados y es difícil localizar las aplicaciones. Existe una forma muy sencilla de poner por orden alfabético esos elementos:

  1. Vamos a [Inicio > Todos los programas] y ponemos el cursor encima de cualquiera de ellos
  2. Pulsamos el botón derecho y seleccionamos "Ordenar por nombre"
Nota: Al ordenar primero van las carpetas y luego los elementos sueltos.

30 abril 2008

Sincronizar hora en XP desde línea de comandos

Para sincronizar la hora y la fecha en Windows XP lo más sencillo es hacer doble click en el reloj (abajo a la derecha), elegir la pestaña Hora de Internet, y pulsar [Actualizar hora]. Ahí también se puede introducir el servidor de hora deseado (time.windows.com por defecto).

Pero si lo que queremos es automatizar esa tarea para realizarla con cierta frecuencia o al inicio de windows, podemos utilizar el comando c:\windows\system32\w32tm.exe /resync

En el registro, podemos modificar parámetros en:
HKLM\System\CurrentControlSet\Services\W32Time
Descripción detallada (inglés)

Para programar la actualización de la hora podemos seguir los pasos que había descrito aquí.

Más información: http://support.microsoft.com/kb/307897/es

29 abril 2008

LaTeX en Windows

Para poder usar un excelente lenguaje de formateo de textos profesional como es LaTeX en Windows podemos usar el siguiente software libre:

  • MiKTeX
    http://www.miktex.org

    La implementación más popular de LaTeX disponible para Windows se llama MiKTeX. Se puede conseguir, de forma totalmente gratuita, la última versión desde su página. MiKTeX es un proyecto activo se actualiza y mejora con bastante frecuencia.

  • Ghostscript y GSview
    http://www.cs.wisc.edu/~ghost/

    Este par de programas los necesitas para todo lo relacionado con los archivos PostScript. Ghostscript es el motor principal que se encarga de hacer las conversiones de formtato y toda clase de operaciones especiales con archivos PostScript. GSview es una interface gráfica con ventanas y botones al estilo Windows para hacer el uso de Ghostscript mucho mas sencillo.

  • TeXnicCenter
    http://www.texniccenter.org/

    MiKTeX, junto con un Bloc de Notas y una ventana de MS-DOS, es suficiente para compilar documentos de LaTeX. Sin embargo, para hacerte la vida mucho mas fácil, es muy recomendable utilizar el TeXnicCenter. Éste es un editor especializado con syntax highlight (colores para resaltar la sintaxis) así como botones y menús para tener todos los comandos de LaTeX a la mano.

Fuente: http://www.cs.man.ac.uk/~navarroj/latex/winlatex.html

26 abril 2008

Localizar el menú autoplay en el registro de XP

Me ha costado, pero he conseguido averiguar donde se aloja en el registro de XP las entradas de la famosa ventana "¿Qué desea que haga Windows?" que aparece cuando introducimos un disco (CD-ROM o DVD) y se ejecuta el autorun. En la ruta:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ \Explorer\AutoplayHandlers\Handlers

están todos los handlers ("manejadores") que aparecen en la ventana, pero para eliminarlos y corregir errores lo mejor es usar el programa CleanHandlers que se puede descargar desde:
http://windowsxp.mvps.org/autoplayhandlers.htm

Para crear nuevas entradas podemos usar Tweak UI (descargable desde la página de las Microsoft PowerToys), yendo a la sección [My Computer > Autoplay > Handlers] y pulsando [Create].

21 abril 2008

Túnel SSH para conectarse a subversion

Vou a poner un caso ilustrativo que puede ser extensible a casos similares. Tenemos un Equipo A que quiere acceder a un repositorio de Subversion (puerto 3690) de un Equipo B, pero el Equipo B tiene restringido el acceso a determinadas IPs entre las cuales está el Equipo C (en el cual tenemos cuenta). La solución es utilizar un túnel ssh para poder conectar el Equipo A al Equipo B a través del Equipo C.


EquipoA> ssh -L3690:EquipoB:3690 EquipoC


Lo que significa: "crea un túnel SSH para que el puerto local (Equipo A) 3690 esté conectado con el puerto 3690 del Equipo B a través del Equipo C."

Una vez establecida la conexión (nos pedirá los datos de la cuenta del Equipo C que usamos de intermediario), podemos conectarnos a su repositorio mediante la URL: svn://localhost:3690 desde el Equipo A de forma transparente.

Existe otra alternativa sin usar el Equipo C de intermediario cuando tenemos cuenta en el propio Equipo B al que nos queremos conectar:


EquipoA> ssh -L3690:EquipoB:3690 EquipoB


Lo que significa: "crea un túnel SSH para que el puerto local (Equipo A) 3690 esté conectado con el puerto 3690 del Equipo B directamente por SSH". Nos conectaremos al repositorio con: svn://localhost:3690

Una última opción, si tenemos acceso ssh al Equipo A, sería conectarnos por ssh al Equipo B y desde ahí ejecutar (usando ahora el parámetro -R para dejar el puerto accesible desde el equipo al que nos conectamos, no desde el que lo lanzamos) :


EquipoB> ssh -R3690:EquipoB:3690 EquipoA


Lo que significa: "crea un túnel SSH para que el puerto 3690 del Equipo B esté conectado con el puerto 3690 del Equipo A directamente por SSH". Nos conectaremos al repositorio con: svn://localhost:3690

Nota 1: La conexión permanecerá activa mientras dure la sesión SSH.

Nota 2: Desde Windows se puede utilzar el putty para crear el túnel, introduciendo los parámetros en la categoría Connection > SSH > Tunnels y luego conectándonos al EquipoB por ssh como siempre.

13 marzo 2008

Contar número de ficheros en Linux

Para contar el número de ficheros que hay en un directorio en Linux podemos usar el comando wc -l que cuenta el número de líneas. De esta forma haciendo:

> find -type f | wc -l

obtendríamos el número deseado.

Otros comandos interesantes son du (directory usage) para saber lo que ocupa un directorio recursivamente:

> du -h

df (disk free) para saber el espacio usado y libre en disco:

> df -h

Y free para saber la memoria usada y disponible:

> free -m

Los dos primeros admiten el parámetro -h (human readable), para que no muestre en bytes sino en KB o MB si el valor es alto y el último admite -b (Bytes), -k (KB), -m (MB) y -g (GB).

03 marzo 2008

Priorizar adaptador de red en Windows XP y Vista

Cuando tenemos varios interfaces de red es posible que necesitemos priorizar alguno para que los enrutamientos se realicen en un determinado orden (por ejemplo cuando instalamos Hamachi)

  • Windows XP: Vamos a [Inicio > Panel de Control > Conexiones de Red] y en el menú Opciones Avanzadas... elegimos "Configuración avanzada..." donde ya podremos ordenar seleccionando la Conexión deseada en el cuadro superior y pulsando arriba o abajo.

  • Windows Vista: Accedemos a las Conexiones de Red escribiendo ncpa.cpl en el campo Búsqueda que aparece en el Menú de Inicio y pulsando Enter. En la ventana pulsamos una vez la tecla ALT para que aparezca el menú, vamos a [Opciones Avanzadas...] y elegimos "Configuración avanzada..." donde ya podremos ordenar seleccionando la Conexión deseada en el cuadro superior y pulsando arriba o abajo.
Nota: para ver como están configuradas las rutas, se puede ejecutar el comando route print desde la Consola del Sistema.

19 febrero 2008

Mediawiki: Crear usuario y modificar barra lateral

MediaWiki es la aplicación en la que se ha basado la famosa Wikipedia, pero en ocasiones no es fácil encontrar la manera de realizar ciertas operaciones como crear un usuario o modificar la barra lateral (sidebar) como administrador (wiki sysop):

  • Crear una cuenta de usuario: introducimos en el campo de búsqueda Special:Userlogin y le damos a buscar. Si tenemos los permisos apropiados aparecerá la opción de crear una cuenta.

  • Modificar la barra lateral: introducimos en el campo de búsqueda: MediaWiki:Sidebar y le damos a buscar.

    Más información: http://www.mediawiki.org/wiki/Manual:Navigation_bar

29 enero 2008

Usando JSON con PHP

JSON (JavaScript Object Notation) se puede utilizar en lugar de XML para el intercambio de información con Javascript. Algunos llaman AJAJ en lugar de AJAX a la programación Javascript asíncrona con JSON. La clave para leer objetos JSON con Javascript es la función eval() que debe ser utilizada con precaución, ya que ejecuta cualquier código que se le pase como parámetro.

Para intercambiar información JSON entre Javascript y PHP existen dos funciones muy útiles (a partir de PHP 5.x): json_encode() y json_decode().

Ejemplo:

$i = array(
array("id" => 1, "name" => "linus"),
array("id" => 2, "name" => "bill"),
array("id" => 3, "name" => "steve")
);

echo json_encode($i);

El resultado será:
[{"id":1,"name":"linus"},{"id":2,"name":"bill"},{"id":3,"name":"steve"}]

Para utilizar los datos JSON en el cliente mediante Javascript usaremos eval() para leer el objeto enviado desde PHP:
var json = eval('(' + miRespuestaJSON + ')');
for(var i = 0; i < json.length; i++)
{
console.info(json.id + " " + json.name);
}

Fuente:
http://www.json.es/2007/07/09/usando-json-desde-php/

26 enero 2008

PNG transparente en Internet Explorer 6

Existen varias soluciones para tratar de solucionar este gran problema del IE6, una de ellas es incorporar en la página HTML (dentro de head) el siguiente código:

<!--[if lt IE 7]>
<script language="JavaScript">
function PNG_loader() {
for(var i=0; i<document.images.length; i++) {
var img = document.images[i];
var imgName = img.src.toUpperCase();
if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
var imgID = (img.id) ? "id='" + img.id + "' " : "";
var imgClass = (img.className) ? "class='" + img.className + "' " : "";
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
var imgStyle = "display:inline-block;" + img.style.cssText;
if (img.align == "left") imgStyle += "float:left;";
if (img.align == "right") imgStyle += "float:right;";
if (img.parentElement.href) imgStyle += "cursor:hand;";
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
img.outerHTML = strNewHTML;
i--;
}
}
}
window.attachEvent("onload", PNG_loader);
</script>
<![endif]-->

Nota: A veces puede tener efectos secundarios y descolocar algún elemento cercano a las imágenes ya que cambia la etiqueta img por span...

Más información:
http://homepage.ntlworld.com/bobosola/pnghowto.htm