Capítulo 4. Temas variados

Transferencia de red a través de KIO

KIO-Slaves

La biblioteca KIO de Frameworks implementa transparencia de red a través de los KIO-slaves. KDiff3 la usa para leer los archivos de entrada y para explorar directorios. Esto significa que puede indicar archivos y directorios locales y en recursos remotos a través de sus URL.

Ejemplo:

kdiff3 prueba.cpp  ftp://ftp.muylejos.org/prueba.cpp
kdiff3 tar:/home/hacker/archivo.tar.gz/dir ./dir

La primera línea compara un archivo local con un archivo en un servidor FTP. La segunda línea compara un directorio con un archivo comprimido con un directorio local.

Otros KIO-slaves interesantes son:

  • Archivos de la web (http:).

  • Archivos desde el FTP (ftp:).

  • Transferencia de archivos cifrados (fish:, sftp:).

  • Recursos de Windows (smb:).

  • Archivos locales (file:).

Otras cosas posibles, aunque probablemente menos útiles, son:

  • Páginas de manual (man:).

  • Páginas de información (info:).

Cómo escribir URL

Un URL tiene una sintaxis diferente comparada con las rutas de los archivos y directorios locales. Algunas cosas a considerar son:

  • Una ruta puede ser relativa y puede contener «.» o «..» Esto no es posible para URL, que son siempre absolutos.

  • Los caracteres especiales deben escribirse «escapados» («#» se convertirá en «%23», los espacios se convertirán en «%20» y así sucesivamente). Por ejemplo, un archivo con el nombre «/#foo#», tendrá el URL «file:///%23foo%23».

  • Cuando un URL no funcione tal y como esperaba, intente abrirla primero en Konqueror.

Capacidades de los KIO-Slaves.

La transparencia de red tiene un inconveniente: No todos los recursos tienen las mismas capacidades.

Algunas veces esto es debido al sistema de archivos del servidor, otras al protocolo. Aquí tenemos una pequeña lista de restricciones:

  • Algunas veces no permite el uso de enlaces.

  • O no hay forma de distinguir si un enlace apunta a un archivo o a un directorio. Siempre se asume un archivo (ftp:, sftp:).

  • No siempre se puede determinar el tamaño del archivo.

  • Implementación limitada de permisos.

  • No hay posibilidad de modificar los permisos o la hora, por ello los permisos o la hora de la copia puede diferir del original (vea la opción «Verificar tamaño»). La modificación de permisos o de la hora solo es posible en los archivos locales.