O

osakikuro

Usuario (Nicaragua)

Primer post: 28 ago 2012Último post: 28 ago 2012
1
Posts
10
Puntos totales
0
Comentarios
C
crea tu propio sistema operativo traducido al español y ing
Hazlo Tu MismoporAnónimo8/28/2012

http://linuxgazette.net/issue77/krishnakumar.html 1. Fondo 1.1 El vestido de lujo El microprocesador controla el equipo. Al inicio, cada microprocesador es más que otro 8086. A pesar de que es posible que tenga una nueva marca Pentium, sólo tendrá la capacidad de un 8086. A partir de este punto, podemos utilizar algún software de procesador y cambiar al modo protegido infame. Sólo entonces podremos utilizar la máxima potencia del procesador. 1.2 Nuestro Papel Inicialmente, el control está en manos de la BIOS. Esto no es sino una colección de programas que están almacenados en la ROM. BIOS realiza el POST (Power On Self Test). Esto comprueba la integridad de la computadora (si los periféricos funcionan correctamente, si el teclado está conectado, etc.) Esto es cuando usted oye los sonidos de la computadora. Si todo está bien, BIOS selecciona un dispositivo de arranque. Se copia el primer sector (sector de arranque) del dispositivo, para hacer frente 0x7C00 ubicación. El control se transfiere entonces a esta ubicación. El dispositivo de arranque puede ser un disquete, CD-ROM, disco duro u otro dispositivo de su elección. Aquí tomaremos el dispositivo de arranque para ser un disco floppy. Si hubiéramos escrito algo de código en el sector de arranque del disquete, nuestro código se ejecutará ahora. Nuestro papel es claro: sólo escribir algunos programas para el sector de arranque del disco. 1.3 El Plan de Primero escribe un pequeño programa en 8086 montaje (no tengas miedo, yo te enseñaré cómo escribirlo), y copiarlo en el sector de arranque del disco. Para copiar, vamos a codificar un programa en C. Inicie el equipo con el disquete y, a continuación, disfrutar. 2. Cosas que debería haber as86 Este es un ensamblador. El código en ensamblador que escribimos se convierte en un archivo objeto con esta herramienta. ld86 Este es el enlazador. El código objeto generado por as86 se convierte en código actual lenguaje de máquina por esta herramienta. El lenguaje de máquina estará en una forma que comprende 8086. gcc El compilador de C. Por ahora tenemos que escribir un programa en C para transferir nuestro sistema operativo en el disquete. Un disquete libre Un disquete se utiliza para almacenar el sistema operativo. Esto también es nuestro dispositivo de arranque. Caja Good Old Linux ¿Sabes lo que es esto. as86 y ld86 será en la mayoría de las distribuciones estándar. Si no, siempre se puede obtener desde el sitio http://www.cix.co.uk/ ~ mayday /. Ambos están incluidos en el paquete individual, bin86. Una buena documentación está disponible en www.linux.org/docs/ldp/howto/Assembly-HOWTO/as86.html. 3. 1, 2, 3, Empezar! 3.1 El sector de arranque Coge tu editor favorito y escriba en estas pocas líneas. entrada de inicio comenzar: mov ax, # 0xb800 MOV ES, AX seg es mov [0], # 0x41 seg es mov , # 0x1f loop1: jmp loop1 Este es un lenguaje ensamblador as86 que va a entender. La primera declaración especifica el punto de entrada donde el control debe entrar en el programa. Nos está indicando que el control inicial debe ir a inicio etiqueta. La segunda línea muestra la ubicación de la etiqueta de inicio (no se olvide de poner ":" después de la salida). La primera instrucción que será ejecutada en este programa es la declaración que acaba después del arranque. 0xb800 es la dirección de la memoria de vídeo. El # es para representar un valor inmediato. Después de la ejecución de mov ax, # 0xb800 registro ax contendrá el valor 0xb800, es decir, la dirección de la memoria de vídeo. Ahora nos trasladamos este valor en el registro es. es sinónimo de la registro de segmento extra. Recuerde que 8086 tiene una arquitectura segmentada. Cuenta con segmentos como segmentos de código, segmentos de datos, segmentos extra, etc - por lo tanto los registros de segmento CS, DS, ES. En realidad, hemos hecho la memoria de vídeo nuestro segmento extra, así que cualquier cosa escrita al segmento extra iría a la memoria de vídeo. Para mostrar cualquier carácter en la pantalla, tiene que escribir dos bytes en la memoria de video. El primero es el valor ASCII que se va a mostrar. El segundo es el atributo del carácter. Atributo tiene que ver con el color que se debe utilizar como el primer plano, que para el fondo, debe abrir y cerrar char y así sucesivamente. seg es en realidad es un prefijo que indica qué instrucción es que se ejecutará a continuación con referencia a segmento es. Por lo tanto, nos movemos 0x41 valor, que es el valor ASCII del carácter A, en el primer byte de la memoria de vídeo. Lo siguiente que necesitamos para mover el atributo del carácter a la siguiente byte. Aquí entramos en 0x1f, que es el valor de representar a un personaje blanco sobre fondo azul. Así que si ejecutamos este programa, tenemos una A blanca sobre un fondo azul. Finalmente, está el bucle. Tenemos que detener la ejecución después de la presentación del personaje, o tenemos un bucle que se repite siempre. Guarde el archivo como boot.s. La idea de la memoria de vídeo puede no ser muy claro, así que permítanme explicar más. Supongamos que asumimos la pantalla consta de 80 columnas y 25 filas. Así que para cada línea tenemos que 160 bytes, uno para cada personaje y un atributo para cada personaje. Si necesitamos escribir algún carácter en la columna 3, entonces tenemos que saltar bytes 0 y 1, ya que es para la 1 ª columna, 2 y 3 como lo son para la segunda columna, y luego escribir nuestro valor ASCII para el 4 º byte y su atribuyen a la quinta ubicación en la memoria de vídeo. 3.2 Redacción del sector de arranque de disquete Tenemos que escribir un programa en C que copie nuestro código (OS código) para el primer sector del disquete. Aquí es: # Include <sys/types.h> / * unistd.h necesita esto * / # Include * <unistd.h> / contiene lectura / escritura * / # Include <fcntl.h> int main () { charlas boot_buf [512]; int floppy_desc, file_desc; file_desc = open ("/ boot"., O_RDONLY); leer (file_desc, boot_buf, 510); cerrar (file_desc); boot_buf [510] = 0x55; boot_buf [511] = 0xaa; floppy_desc = open ("/ dev/fd0", O_RDWR); lseek (floppy_desc, 0, SEEK_CUR); write (floppy_desc, boot_buf, 512); cerrar (floppy_desc); } En primer lugar, abrimos el archivo de arranque en modo de sólo lectura, y copiar el archivo descripter del archivo abierto a la variable file_desc. Leer desde el archivo de 510 caracteres o hasta que finalice el archivo. Aquí, el código es pequeño, por lo que se produce el último caso. Sé digno; cerrar el archivo. Las últimas cuatro líneas de código abrir el dispositivo de disco flexible (que en su mayoría sería / dev/fd0). Se lleva la cabeza al principio del archivo usando lseek, entonces escribe los 512 bytes de la memoria intermedia a un disquete. Las páginas del manual de lectura, escritura, abierta y lseek (se refieren al hombre 2) le dan suficiente información sobre lo que los demás parámetros de estas funciones son y cómo usarlos. Hay dos líneas en el medio, que puede ser un poco misteriosa. Las líneas: boot_buf [510] = 0x55; boot_buf [511] = 0xaa; Esta información sirve de BIOS. Si el BIOS es el reconocimiento de un dispositivo como un dispositivo de arranque, el dispositivo debe tener los valores y 0x55 0xaa en la posición 510 ª y 511 ª. Ahora hemos terminado. El programa lee los archivos de arranque a un buffer llamado boot_buf. Hace que los cambios necesarios 510 ª y 511 ª bytes y luego escribe boot_buf en un disquete. Si ejecutamos el código, los primeros 512 bytes del disco contendrá nuestro código de arranque. Guarde el archivo como write.c. 3.3 Vamos a hacerlo todo Para que los ejecutables de este archivo se necesita para escribir lo siguiente en el indicador bash de Linux. as86 boot.s-o boot.o ld86-d-o arranque boot.o write.c cc-o escritura En primer lugar, nos reunimos los boot.s para formar un archivo objeto boot.o. A continuación relacionamos este archivo para obtener el archivo de arranque final. El d-por ld86 es para quitar todos los encabezados y la producción de binario puro. Leyendo las páginas de manual para as86 y ld86 despejará cualquier duda. A continuación, compilar el programa C para formar un ejecutable llamado escribir. Inserte un disquete vacío en la disquetera y el tipo . / Escritura Reinicie el equipo. Entre en la configuración del BIOS y hacer flexible el primer dispositivo de arranque. Coloque el disco en la unidad y ver el arranque del ordenador desde el disquete de arranque. A continuación podrá ver una 'A' (con color de primer plano en blanco sobre fondo azul). Esto significa que el sistema ha arrancado desde un disco de arranque que hemos hecho y luego ejecuta el programa del sector de arranque que escribimos. Ahora está en el bucle infinito que había escrito al final de nuestro sector de arranque. Ahora debemos reiniciar el ordenador y retire el disquete de arranque para nuestra partición Linux. A partir de aquí, vamos a querer insertar más código en nuestro programa de sector de arranque, para que haga las cosas más complejas (como el uso de interrupciones de la BIOS, modo protegido de conmutación, etc.) Las partes posteriores (PARTE II PARTE III, etc) de este artículo le guiará en nuevas mejoras. Hasta entonces Por: mirrou En adicional a los conjuntos de reglas de cortafuegos, el sistema de ficheros / proc ofrece algunas mejoras significativas en la configuración de red de seguridad. Desafortunadamente, la mayoría de nosotros no somos conscientes de nada más allá de los vagos rumores y consejos que hemos escuchado acerca de esta bestia. En este artículo vamos a repasar algunos de los fundamentos básicos de la / proc/sys/net/ipv4 sistema de archivos necesario añadir a la seguridad general de la red de su servidor Linux. Quizás una de las áreas más frecuentemente descuidadas de configuración del firewall implica el sistema de archivos / proc. La estructura de archivos dentro de seudo Proc que permite establecer una interfaz con las estructuras de datos internas del núcleo, ya sea para obtener información sobre el sistema o cambiar los valores específicos. Algunas de las partes de / proc son de sólo lectura, mientras que otros pueden ser modificados. A menudo se refiere como un sistema de archivos virtual en el que no ocupa ningún espacio real del disco duro, los archivos se crean sólo en la demanda cuando se accede a ellos. En este artículo, nos centraremos específicamente en / proc/sys/net/ipv4. Con el fin de beneficiarse de la utilización del sistema de ficheros / proc, tendrá que habilitar dos ajustes al construir su kernel. CONFIG_PROC_FS es la configuración que le permite acceder y ver el sistema de archivos / proc, y CONFIG_SYSCTL es la parte que realmente le permite modificar las entradas / proc sin necesidad de reiniciar el sistema o recompilar el kernel. Configuración sólo están disponibles en el momento del arranque cuando el sistema de archivos / proc se ha montado. Configuración de ICMP específicos Ping exploración se suele utilizar para determinar qué hosts de una red están arriba. Normalmente esto se hace mediante el envío de paquetes ICMP Echo Request al host de destino. Este es un comportamiento aparentemente inocente, sin embargo muchas veces los administradores de red bloqueará el tráfico tal de aumentar su oscuridad. Las opciones implican el bloqueo de peticiones de eco ICMP a difundir / direcciones multicast y directa con el propio anfitrión. Las órdenes respectivas para desactivar la protección son: echo "0"> / proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "0"> / proc/sys/net/ipv4/icmp_echo_ignore_all Mensajes de redirección ICMP también puede ser un dolor. Si la casilla no está actuando como un router, es probable que desee para desactivarlas: echo "0"> / proc/sys/net/ipv4/conf/all/accept_redirects A veces se llega a través de routers que envían las respuestas no válidas para transmitir tramas. Esto es una violación de la RFC 1122, "Requisitos para hosts de Internet - Comunicación Capas". Como resultado, estos sucesos se registran por el núcleo. Para evitar llenar su archivo de registro con el desorden innecesario, se puede decir que el núcleo no emitir estas advertencias: echo "1"> / proc/sys/net/ipv4/icmp_ignore_bogus_error_responses Configuración IP específicas Irónicamente, el reenvío de IP de los paquetes entre las interfaces está activado por defecto en muchos sistemas en sus scripts de inicio. Si no está la intención de su caja para enviar el tráfico entre interfaces, o si sólo tiene una única interfaz, que probablemente sería una buena idea desactivar el reenvío. Tenga en cuenta que la modificación de este valor restablece todos los parámetros de configuración a sus valores predeterminados, en concreto, RFC1122 y RFC1812 para los anfitriones para los routers. Como resultado, usted querrá modificar este antes todos los demás ajustes / proc. if [-r / proc/sys/net/ipv4/ip_forward], y luego echo "Desactivar el reenvío de IP" echo "0"> / proc/sys/net/ipv4/ip_forward fi Si en cambio decide habilitar el reenvío, también será capaz de modificar la configuración rp_filter, algo que a menudo es mal interpretado por los administradores de red. El rp_filter puede rechazar los paquetes entrantes si su dirección de origen no coincide con la interfaz de red que están llegando en adelante, lo que ayuda a evitar la suplantación de IP. Activar esta opción, sin embargo, tiene sus consecuencias: si el host tiene varias direcciones IP en interfaces diferentes, o si su única interfaz tiene varias direcciones IP en él, usted encontrará que su núcleo puede terminar rechazando el tráfico válido. También es importante tener en cuenta que incluso si no habilita la rp_filter, la protección contra la suplantación de difusión siempre está encendido. Además, la protección que proporciona es sólo contra falsas direcciones internas; direcciones externas puede ser suplantada .. Por defecto, está desactivado. Para habilitarlo, ejecute lo siguiente: if [-r / proc/sys/net/ipv4/conf/all/rp_filter], y luego echo "Habilitación rp_filter" echo "1"> / proc/sys/net/ipv4/conf/all/rp_filter fi Es posible que también han notado el "todo" subdirectorio en este último ejemplo. In / proc/sys/net/ipv4/conf hay subdirectorio para cada interfaz en el sistema junto con un directorio llamado "todo" uno. Cambiar directorios específicos de la interfaz sólo afecta a esa interfaz específica, mientras que los cambios realizados en el "todo" de la guía afecta a todas las interfaces del sistema. Si ha compilado el kernel con CONFIG_SYNCOOKIES, usted será capaz de convertir opcionalmente o desactivar la protección contra ataques de inundación SYN. Nótese el énfasis, como compilar el kernel con este valor no se permiten de forma predeterminada. Funciona mediante el envío de 'syncookies' cuando la cola de registro síndrome de desbordamientos de socket. Lo que a menudo mal entendido es que backlogging socket no es compatible con los sistemas operativos más recientes, lo que significa que los mensajes de error no puede ser recibida correctamente por el sistema ofensivo. También, si usted ve las advertencias synflood en sus registros, asegúrese de que no son el resultado de un servidor muy cargado antes de habilitar esta opción. También pueden causar problemas de conexión a otras máquinas que intentan comunicarse con usted. Sin embargo, si desea habilitar esta configuración, haga lo siguiente: if [-r / proc/sys/net/ipv4/tcp_syncookies], y luego echo "Habilitación tcp_syncookies" echo "1"> / proc/sys/net/ipv4/tcp_syncookies fi Normalmente, un host no tiene control sobre la vía algún paquete en particular lleva más allá de su primer salto. Corresponde a las otras máquinas de la red para completar la entrega. Source IP Routing (SRR) es un método de especificar la ruta exacta que debe tomar un paquete entre los hosts para llegar a su destino. Esto es generalmente una mala idea para la seguridad consciente, como alguien podría dirigir los paquetes a usted a través de una interfaz fiable y eficaz eludir su seguridad en algunos casos. Un buen ejemplo es el tráfico, tales como SSH o telnet, que se encuentra bloqueado en una interfaz puede llegar a otra de las interfaces de su anfitrión si el enrutamiento de origen se utiliza, que no podría haber previsto en la configuración del firewall. Usted probablemente querrá desactivar esta opción con: if [-r / proc/sys/net/ipv4/conf/all/accept_source_route], y luego echo "Deshabilitar el enrutamiento de origen" echo "0"> / proc/sys/net/ipv4/conf/all/accept_source_route fi Los paquetes que tienen direcciones de origen con ninguna ruta conocida se conocen como "marcianos". Por ejemplo, si tiene dos subredes diferentes conectados al mismo concentrador, los routers en cada extremo se ven como marcianos. Para registrar los paquetes producidos hasta el registro del núcleo, que nunca debe aparecer en primer lugar, tendrá que emitir: if [-r / proc/sys/net/ipv4/conf/all/log_martians], y luego echo "Habilitar el registro de marcianos" echo "1"> / proc/sys/net/ipv4/conf/all/log_martians fi Recursos adicionales Para obtener más información sobre el sistema de archivos / proc, es posible que desee hacer referencia a la documentación que viene con el código fuente del núcleo Linux. Introducción En los meses centrales de 2000, un colega me vino con una pregunta. Quería saber si había alguna manera de que podamos tener nuestros sistemas mainframe enviar sus informes a las direcciones de correo electrónico seleccionadas. Después de algunas investigaciones, tuve que decirle que, con las herramientas existentes, aprobados, no había manera de que pudiéramos hacer arreglos para que una aplicación mainframe enviar correo electrónico. "Sin embargo", le dije, "no hay una manera de hacer esto a través de la puerta trasera." Le expliqué que el mainframe soporta varios modos de impresión, y que, con arreglo conveniente, podría ser persuadido para la salida de impresión directa a un sistema Unix, que luego podrían enviar los datos a medida que pareciera. Aunque este enfoque la puerta trasera no era aceptable para la situación que se estaba investigando en ese momento, la idea se quedó conmigo. Un año más tarde, la pregunta surgió de nuevo, pero esta vez la situación no era tan crítica y se me dio cierta libertad para investigar las posibilidades. Mis compañeros de trabajo (Rob Corr y Phil Robson) y yo elaborado dos "prueba de concepto" Implementaciones, uno con herramientas que, si bien no fueron aprobados para nuestro uso, fueron construidos para proporcionar acceso a las aplicaciones de mainframe a correo electrónico, y el otro es el enfoque de "puerta trasera" que yo había sugerido el año anterior. Este artículo describe cómo implementamos nuestro 'puerta trasera' prueba de concepto mainframe "print-to-email" utilizando un repuesto máquina Linux, algunas herramientas simples, y un poco de conocimiento. Principios Nuestro objetivo era ser capaz de tener salida huésped, generada a partir de una transacción de IMS, una transacción CICS, o un trabajo por lotes, se envía a una dirección arbitraria, aplicación de correo electrónico seleccionado. Como no había ninguna ruta directa desde los sistemas host en línea a nuestro servicio de correo electrónico, nos decidimos a probar una vía indirecta a través de una caja de Linux libre en nuestra LAN. Esta prueba de concepto no estaba destinado a ser un centro de producción-listos, sino que sólo tenía por objeto ayudar a determinar cuáles son los problemas que tienen que resolverse, y cómo una instalación lista para producción tendría que ser construido. A nuestra disposición son: un sistema operativo MVS/JES2 y las instalaciones y sistemas dentro de ella (IMS, CICS, por lotes) el VPS de mainframe de cola de impresión del paquete y se asocia Windows NT convertidor de protocolo, LAN basados en las instalaciones de Linux, incluyendo Daemon Unix Printing línea (lpd) y Unix cliente de correo electrónico (FastMail y sendmail), y conectividad a Internet a través del firewall de la empresa En teoría, debería haber sido posible "imprimir enviar por correo electrónico", el uso de estos MVS / JES existentes e instalaciones de Unix. El proceso podría ser: Aplicación genera un informe impreso que se escribe en un carrete JES2 impresión, 'imprime' la cola de impresión JES2 el informe en una impresora JES2, que se implementa en el software en el sistema MVS El software de la impresora MVS (una impresora pseudo-) utiliza (en nuestro caso) VPS para transmitir los datos a imprimir a 'lpd' a Unix (compatible con RFC1179) print spooler (implementado en un sistema Linux), El demonio lpd Linux procesa los datos de impresión a través de otras herramientas Unix para enviar la impresión a un ID de usuario de correo electrónico arbitraria Linux correo electrónico (sendmail) envía el correo imprimir datos a la dirección de correo electrónico de destino En general, el flujo de datos de impresión desde el envío de aplicación a cliente receptor se parece a este diagrama. Linux Nuestro sistema Linux era una instalación mínima de Slackware 7.0 en un Pentium 90 procesador de repuesto. Habíamos usado este sistema para un número de pruebas prueba de concepto y se encuentra suelto y disponible para nuestro print-to-email juicio. Hemos configurado el sistema para aceptar solicitudes de cola lpd desde el host (indirectamente, del NT "convertidor de protocolo" del sistema), el proceso de impresión en texto editable, y por correo electrónico el texto de acuerdo con los requisitos incorporados en los datos de impresión JES2 página flash Con el fin de permitir que el protocolo de acceso de Windows NT convertidor para los recursos de Linux lpd, tuvimos que añadir el sistema NT para los archivos de seguridad LPD. Dado que el sistema NT se le asigna una dirección IP DHCP pero no DNS dinámico (DDNS) hostname, incluimos su dirección IP en el archivo / etc / hosts, junto con un falso nombre de host y el nombre de host falso añadido al archivo / etc / hosts.lpd A continuación, 'jesprt' la impresora lpd se definió en el archivo / etc / printcap. Esta definición incluye detalles sobre el directorio de cola (/ var / spool / lpd / jesprt) y la bobina programa filtro (/ var / spool / lpd / jesprt.filter) que se utilizan para procesar imprimir enviar por correo electrónico. Por último, el filtro de impresión (/ var / spool / lpd / jesprt.filter) y sus programas de apoyo fueron escritos. jesprt.filter respooled los datos de impresión a un archivo temporal, luego se extrae la dirección de correo electrónico de destino y otros detalles de los datos en la cola. Una vez que todos los datos se ha establecido, el archivo temporal se ha enviado por correo electrónico al destino y la copia local se ha eliminado. Yo escribí cuatro módulos de apoyo para este filtro: / Usr / local / bin / colapso / Var / spool / lpd / tools / jesprt.mailto.awk / Var / spool / lpd / tools / jesprt.subject.awk y / Var / spool / lpd / tools / jesprt.notice.text / Usr / local / bin / colapso tomó los datos de impresión preparados por el NT "convertidor de protocolo" del programa y reformateado que en las líneas de texto. Esto fue necesario debido a que la conversión de protocolos generado grandes archivos de impresión en el que cada línea de impresión consistía en muchas líneas de sobreimpresión entre sí. A medida que el filtro de impresión extrae la información de los datos de impresión, esta sobreimpresión tenía que ser 'colapso' en líneas de impresión individuales. Además, la conversión de protocolo realiza una forma única de sobreimpresión, donde se coloca cada par de bloques de sobreimpresión 1 carácter a la derecha del par anterior., Que, si no acomodado, conduciría a errores en los datos de impresión resultantes. / Var / spool / lpd / tools / jesprt.mailto.awk miró a través de la flashpage líder, y extrajo una dirección de correo electrónico de destino de los datos. Se comprueba en tres lugares de la dirección de email de destino: Autónomo en el flashpage, precedido de un texto "E-MAIL" centinela, o como la primera línea de la "Dirección:" la línea, precedido de un "EMAIL:" texto centinela, o derivado del nombre de usuario que sigue el "USERID:" texto centinela. El "USERID:" nombre de usuario se fijó en MVS/JES2 tiempo de envío de trabajos. Sin embargo, el "Correo electrónico:" las direcciones de correo electrónico fueron asignados de forma dinámica a través de uno de los cuatro parámetros de dirección se pasan al sistema de impresión JES2 cola de impresión. Las dos posibilidades en cuenta en el script awk acomodar la ubicación de la dirección de correo electrónico en el primer o los parámetros de dirección segundo y siguientes. Si el texto de la dirección de correo electrónico se pasó por el parámetro ADDRESS, luego de que el texto se encuentra en la página de flash como parte de la primera línea de la "Dirección:" la línea, y precedido de un "EMAIL:" texto centinela. Sin embargo, si el texto de la dirección de correo electrónico se pasó a través de un parámetro subsiguiente de dirección, la dirección de correo electrónico que se encuentra en la página de flash como una línea independiente y precedido de un "EMAIL:" texto centinela. Por último, no hay texto dirección de correo electrónico se aprobaron en cualquiera de los parámetros de dirección, la dirección de correo electrónico dejaría de pagar a los MVS LogonID para el trabajo, que se encuentra como el nombre de usuario que sigue el "USERID:" texto centinela en el flashpage. / Var / spool / lpd / tools / jesprt.subject.awk miró a través de la flashpage líder, y se extrae una línea de asunto del correo electrónico de los datos. Se obtuvo esta información del texto que sigue al "Título:" texto centinela en la página de flash. Cualquier texto poblada al parámetro TÍTULO fue colocado aquí por JES2. Por ejemplo, si el programa de acogida definir el título de la cadena de texto "asunto del correo electrónico va aquí", JES2 lo pueblan al flashpage, y / var / spool / lpd / tools / jesprt.subject.awk sería extraer el texto "email línea de asunto va aquí "desde el flashpage. Este texto fue entonces ser utilizada para preparar la línea de asunto del correo electrónico. Si no hay texto fue encontrado, la línea de asunto del correo electrónico acaba de indicar la fuente jobname, númerotarea, y del sistema, tal como se encuentra en la flashpage. / Var / spool / lpd / tools / jesprt.notice.text llevaba un texto de aviso que se adjunta al final de cada informe respooled por este filtro de impresión. Esto nos permite añadir un "mensaje del día" para cada informe impreso que indica el proceso realizado en él, si lo que deseamos. NT Convertidor de protocolo El SPV imprimir paquete carrete en el host comunicarse utilizando SNA LU1 a un paquete que se ejecuta en un sistema Microsoft Windows NT. Este paquete reprocesar los datos de impresión utilizando la ventana de controladores de impresora NT para comunicar con las impresoras de LAN conectados. Organizamos que los propietarios de este sistema para configurar la conexión entre JES2 remoto PTE01 y nuestro Linux jesprt impresora lpd. Por el lado de Windows NT, la impresora ha sido configurada como "Generic" / "Genérico / sólo texto" controlador de impresión con un local "Microsoft LPR" puerto conectado a jesprt impresora en el servidor Linux. El Windows NT convertidor de protocolo se ha configurado para no suprimir las JES2 flashpages (supresión es la configuración por defecto), de modo que el lado de Linux podría recuperar el asunto del correo electrónico y los metadatos dirección del texto de la página JES2 flash. Las aplicaciones de host se espera que genere su producción y dirigirla a un JES2 "SYSOUT". JES2 "SYSOUT" s actúan como tubos en el sistema de cola de impresión. JES2 Host Printing En el lado MVS/JES2, las aplicaciones pueden utilizar uno de los tres diferentes métodos de producción de cola de impresión, dependiendo de sus requerimientos ecológicos: LOTE cola de impresión, IMS "Spool API" cola de impresión, y CICS "API cola" cola de impresión. LOTE cola de impresión MVS/JES2 apoya un sistema de procesamiento en segundo plano que utiliza JCL (o "lenguaje de control de trabajos" las instrucciones para controlar la ejecución de los programas y la distribución de sus datos de impresión. En este entorno, los datos de impresión se conoce como "SYSOUT", que significa "Output System". Cualquier SYSOUT dirigido a (en nuestro caso) impresora DEST = PTE01 se respooled (por JES2) para VPS, y en el apoyo a lpd en nuestro sistema Linux. La declaración JCL JES2 SALIDA se utiliza para establecer la línea de asunto del correo electrónico y la dirección de correo electrónico de destino para el informe. El formato y el uso de la instrucción de salida JCL se documenta en el capítulo 22 de la referencia OS/390 V2R10 MVS JCL, mientras que el formato y el uso de la SYSOUT DD se documenta en el capítulo 12 del mismo manual. IMS "Spool API" Print Spooling Por nuestra transacción IMS para imprimir en la cola de impresión JES2 (y así en adelante para e-mail), tuvo que realizar DLI CAMB y ISRT llama a una alternativa no modificable-express PCB. En primer lugar, el código de la operación de aplicaciones de almacenamiento de trabajo preparado específicos variables y realizar una llamada CAMB para redirigir el suplente no modificable-express PCB (en este caso APM00001 PCB) a la interfaz IMS Spool. A continuación, la aplicación realiza una o más llamadas ISRT para enviar datos de impresión a la PCB. Los datos de impresión se colocan en una estructura que fue pasado a través de la llamada de IMS ISRT a la cola de impresión JES2. Esta ISRT se repitió para cada línea del texto a ser enviado por correo electrónico. La dirección de correo electrónico sería liberado a la bobina en el extremo de la unidad de trabajo (en COMMIT o en la siguiente GU en la IOPCB), o cuando la llamada CHNG junto a la modificable de alternativa no expresa PCB fue ejecutado. Apéndice A de la "versión de programación de aplicaciones IMS 7: Guía de Diseño" proporciona una descripción técnica de la API de IMS SPOOL y su uso en un entorno JES2. Secciones 1.3.2 y 1.3.7 de la "versión de programación de aplicaciones IMS 7: Transaction Manager" manual proporciona detalles sobre el específico DLI IMS llamadas necesarias a la salida del carrete para MVS, y proporciona la sección 1.56 de la TSO / E V2R5 Comando Manual de referencia del formato y los valores de los parámetros de control del carrete. CICS "Spool API" cola de impresión Para una transacción CICS para imprimir en la cola de impresión JES2 (y de ahí a correo electrónico), debe utilizar el CICS SPOOL API. La documentación aquí en la "Referencia de programación de aplicaciones CICS" describe el SPOOLOPEN / SPOOLWRITE / verbos SPOOLCLOSE que se deben utilizar para crear un informe JES2-spool. En primer lugar, la aplicación debe SPOOLOPEN la impresora. Esto es un poco complicado, porque el verbo SPOOLOPEN requiere el parámetro de opciones de impresión para ser un puntero indirecto a la lista de opciones de impresión. Para activar esta opción, el programa debe ejecutar la lógica para GETMAIN algunos de almacenamiento, manipular el puntero devuelto a la memoria GETMAINed para cumplir con los requisitos de CICS, mover la lista de opciones de impresión en la memoria GETMAINed, utilice el área GETMAINed en el verbo SPOOLOPEN y FREEMAIN la imprimir almacenamiento opciones una vez que se haya completado la SPOOLOPEN. Una vez hecho esto, el programa repetidamente puede cargar un búfer de impresión con datos de texto y ejecuta la función SPOOLWRITE de escribir cada línea de datos del informe a la cola de impresión. Cuando todos los datos de impresión ha sido puestos en cola, el programa ejecuta entonces la función SPOOLCLOSE para cerrar la bobina y enviar la salida hacia adelante cola a la impresora. Sección 5.6 del TS CICS OS/390 V1R3 para Guía de programación de aplicaciones proporciona una visión general de la API de CICS SPOOL y ejemplos de su uso, mientras que a través de las Secciones 1,227 1,231 del TS CICS OS/390 V1R3 de Referencia de programación de aplicaciones proporciona detalles específicos de los diversos SPOOLxxxx EXEC llamadas necesarias para la producción carrete para MVS, mientras que la sección 1.56 de la TSO / E V2R5 Comando Manual de referencia proporciona el formato y los valores de los parámetros de control de cola utilizados en la llamada EXEC SPOOLOPEN. Conclusiones En total, este ejercicio tomó cerca de un mes para que desde el inicio de la implementación, con la mayor parte de ese tiempo en el desarrollo de las interfaces CICS e IMS. Nuestras pruebas de la "impresión de correo electrónico 'proceso demostró que la instalación ha funcionado bien para nuestras necesidades limitadas. Pruebas de volumen no se realizó, y esta solución de impresión a correo electrónico sigue siendo una prueba de concepto, por ahora. A partir de este ejercicio, no sólo estableció que un "print-to-email" instalación podrían construirse sin la intrusión en el ámbito de la programación del sistema MVS, también se estableció que era fácil de construir tal sistema. Incluso si dejar de lado este proyecto, las técnicas que aprendimos (IMS y CICS ENROLLADO APIs, JES2 configuración de la impresora, Linux y BSD LPD configuración de cola de impresión, etc) se puede aplicar fácilmente a otros proyectos en nuestro dominio. Por si sirve de algo, hemos aprendido mucho. Nos pusimos de pie sobre los hombros de gigantes y vio más de lo que podíamos tener por nuestra cuenta. Tal vez nosotros también han dado a nuestros sucesores una base desde la que escalar a mayores alturas. Así que, ¿tienes ganas de hacer un poco de escalada? Introducción En una configuración de servidor PPP dialin, los usuarios de acceso telefónico a través de una línea telefónica y un módem para establecer una conexión PPP con un servidor remoto. Es posible hacer una máquina Linux devolver la llamada al usuario que marcó el servidor. En este documento se describe el procedimiento paso a paso para configurar un servidor de devolución de llamada basado en Linux. Requisitos Mi servidor se queda con el kernel de Debian Potato 2.4.17. Un módem conectado a ttyS0 sirve como línea de módem y de devolución de llamada. Mi máquina cliente se ejecuta en Debian Potato y Win98. Un módem externo conectado a ttyS1. Se supone que ha instalado el software mínimo necesario para marcar a un ISP en el servidor y el cliente. Además de esto usted tiene que instalar paquete mgetty + sendfax en el servidor. La idea El principio detrás de un servidor de devolución de llamada se puede resumir como sigue. Primero yo (el cliente) marcar el número de teléfono del módem de mi servidor de devolución de llamada. El módem del servidor está configurado para aceptar conexiones entrantes. Una vez establecida la conexión, el servidor me lleva de vuelta con un mensaje de bienvenida y un inicio de sesión del sistema. Hacer login como usuario de devolución de llamada especial. El módem en el servidor corta la conexión y marca de nuevo un número especificado apegado a mi máquina cliente. El modem en mi máquina cliente se mantiene listo para aceptar la conexión de devolución de llamada, y una vez establecida la conexión estoy de nuevo aparece un mensaje de login. Ahora inicie la sesión como un usuario normal de PPP y la conexión se completa. Configuración del servidor de dialin El primer paso para lograr la configuración anterior es configurar el servidor para que acepte entrante conexión PPP. Esto es lo que hice en el servidor 1) Crear un nuevo usuario llamado pppuser Cambie la entrada / etc / passwd para pppuser a pppuser: x: 1001:1001:,,, :/ home / pppuser :/ usr / sbin / pppd 2) Agregue una línea al archivo / etc / inittab para que el puerto serie puede aceptar conexiones entrantes. T0: 23: respawn :/ sbin mgetty / ttyS0-D / dev/ttyS0 Reinicie init por 'q init' mecanografía Esto permite que la línea ttyS0 a aceptar conexiones entrantes 3) Cambie el directorio a / etc / mgetty (Aquí es donde los archivos de configuración de mgetty se mantiene. En distribuciones RedHat es en / etc / mgetty + sendfax) Editar login.config y añadir la siguiente línea / AutoPPP / - a_ppp / usr / sbin / pppd file / etc / ppp / options Comente todas las demás líneas 4) Cambio / etc / ppp / options a los siguientes -Detach asyncmap 0 módem crtscts proxyarp bloquear requieren-pap rechazar-cap ms-dns 192.168.50.100 # poner tu ip del servidor dns aquí usepeerdns 5) Crear un archivo options.ttyS0 en / etc / ppp con el siguiente contenido 192.168.0.100:192.168.0.2 noauth Las dos direcciones IP de arriba son la dirección de su servidor y la dirección que el cliente debe recibir del servidor. Cambiar de acuerdo a su esquema de numeración IP. Si el módem está conectado a ttyS1 nombre del archivo mencionado como options.ttyS1 6) Cambio de permiso de pppd (en algunas distribuciones pppd ya suid) chmod u + s / usr / sbin / pppd 7) Añadir un alias de ppp Añada las siguientes líneas a / etc / profile alias ppp = `/ usr / sbin / 'pppd-detach' Ahora intenta marcar al servidor desde un cliente. Por esto, si usted está utilizando MS Windows, haga clic en acceso telefónico a redes y, a continuación seleccione Nueva conexión y rellenar varios campos. Entrar como pppuser y verificar si el servidor dialin está trabajando perfectamente. Compruebe la conexión haciendo ping al servidor desde el cliente. También usted puede verificar la dirección IP asignada al cliente escribiendo winipcfg en el símbolo del sistema. Configuración de devolución de llamada Una vez que el servidor está listo dialin, la configuración de devolución de llamada es muy fácil Esto es lo que hice. 1) Crear un nuevo usuario denominado espalda. 2) Crear un archivo vacío con el nombre callback.conf en / ete / mgetty /. (Usted puede agregar cadenas de inicialización del módem en el archivo si es necesario. Pero en general un archivo vacío puede servir) 3) Agregue la línea siguiente a / ete / mgetty / login.config. de nuevo - / usr / sbin / callback-S 2561 El número de la línea anterior tras-S es el número que se va a llamar. Cambie al número de teléfono conectado a su cliente. Configuración de clientes 1) MS Windows 98 Open acceso telefónico a redes y empezar una nueva conexión. Rellene los distintos campos. Haga clic derecho sobre el icono que acaba de crear y seleccione Propiedades. Seleccione módem-> Configurar-> Conexión-> Opciones avanzadas. Agregar & c0s0 = 1 a Ajustes extra Seleccione Opciones y marque la casilla de verificación para que la ventana de terminal después de marcar. Usted puede dejar el nombre de usuario y una contraseña vacía campo. Ahora empieza a marcar el servidor. Una vez que el marcado es sobre una pantalla de terminal emergente y se le presentará con una pantalla de inicio de sesión del servidor. Inicie la sesión como 'back' (el usuario de devolución de llamada especial). Ahora los cortes del lado del servidor de la conexión del módem, espere unos segundos y le devolverá la llamada. Una vez que la conexión se ha establecido de devolución de llamada de nuevo le pedirá con inicio de sesión. Introduzca el nombre de inicio de sesión como pppuser e introduzca su contraseña. Pulse el botón Continuar en la pantalla del terminal. Ahora se ha autentificado vez más compruebe su conexión haciendo ping al servidor. Es posible escribir un script para esto, pero yo no lo he probado todavía. Para otras versiones de Windows, el procedimiento es similar. Lo importante a configurar es la cadena de inicialización del módem (& c0s0 = 1) 2) Linux Configuración de comunicaciones cliente Linux es un poco más complicado. Esto es lo que hice en mi máquina Debian con kernel 2.4.17 1) Crear / etc / archivo de opciones con el siguiente contenido bloquear defaultroute noipdefault módem 115200 crtscts depurar pasivo asyncmap 0 2) Crear un archivo llamado pppcalback en / etc / ppp / peers / con el siguiente contenido 19200 ttyS1 crtscts conectar '/ usr / sbin / chat-v-f / etc / ppp / chat-callback' noauth 3) Crear un archivo llamado / etc / ppp / chat-respuesta con el siguiente contenido OCUPADO ABORTAR ABORTAR LA VOZ ABORTAR "NO DIALTONE" ABORTAR "Sin respuesta" "" ATZ Aceptar ATDT2562 # Número de teléfono del servidor CONNECT d d ogin: q dback TIMEOUT 90 ANILLO DE AT & C0S0 = 1 ogin: q dpppuser assword: q dpasswordforppuser Correctamente cambiar las líneas anteriores para reflejar los nombres de usuario y contraseñas para las cuentas que ha creado. (También consulte la documentación de su módem para cadenas de inicialización necesarias. Puede ser que usted tendrá que reemplazar ATZ con algo como AT & FX2) 4) Crear un script llamado / usr / bin / pppcall con los siguientes contenidos #! / Bin / bash / Usr / sbin / pppd-detach llamada pppcall y Establecer como script ejecutable Ahora usted puede marcar el servidor llamando al pppcall guión Ser un administrador del sistema o un usuario de Linux entusiasta /, casi siempre mantener un ojo en la información del sistema importante, como el uso de disco, uso de memoria, carga de la CPU, los usuarios conectados, etc, ahora ¿qué hay de tener toda esta información en una elegante pantalla LCD mantenido al lado de su monitor? LCD o una pantalla de cristal líquido es casi ver por todas partes que van desde relojes digitales para hornos de microondas, de los sistemas de audio para PDAs e incluso algunos servidores de gama alta. Hay varias pantallas baratas disponibles en el mercado que pueden ser controlados a través del puerto paralelo de la computadora o del puerto serie (RS-232). LCDs son fabricados por un buen número de empresas diferentes. Unidades típicamente vistos en el mercado de excedentes provienen de Hitachi, Epson, Hewlett Packard, Optrex o Sharp. Configuraciones comunes son 16, 20, 24, 32, o 40 caracteres por 1, 2 o 4 líneas. Personalmente he probado Hitachi HD44780 compatible pantalla LCD 16X2 que son fácilmente disponibles a partir de vendedores exhiben muchos y puede ser controlado a través del puerto paralelo. Por favor, tenga en cuenta que algunas pantallas vienen con una opción de luz de fondo y otros no, los que tienen una opción de luz de fondo tiene patillas algunos más para controlar la luz de fondo y son un poco más caros, por lo que la elección es suya! Una palabra de advertencia Antes de embarcarse en este ejercicio emocionante que tener cuidado pantallas LCD son muy sensibles al cableado incorrecto y sólo funcionan con voltajes específicos (generalmente 5V o 12V), si hay algo sucio se queman! También antes de comprar una pantalla de asegurarse de que usted también obtener un diagrama de los conductores y una ficha técnica junto con él a fin de que usted tenga toda la información a mano cuando sea necesario. Lo que todo lo que necesito? Antes de empezar a hacer asegurarse de que todo en la lista a continuación: Una pantalla LCD HD44780 compatible (no se preocupe acerca de la marca, sólo asegúrese de que el vendedor es Hitachi HD44780 compatible. Dicho sea de paso HD44780 es una pantalla con un controlador integrado que comprende algunas instrucciones estándar (protocolo) para mostrar los caracteres en la pantalla desde la que está definido internamente juego de caracteres) Un puerto paralelo (Centronics) Conector con cable conectado (asegúrese de que usted tiene un cable largo con cables sueltos en el otro extremo). Un soldador con un poco de soldadura y fundente (pregunte a cualquier entusiasta de la electrónica del amigo suyo si usted no puede hacer esto usted mismo). Una fuente de alimentación (habitualmente se requieren 5V o alimentación de 12 V DC, AC a DC adaptador disponible en su tienda de electrónica local resolverá el propósito). LCDproc (se puede descargar en http://lcdproc.omnipotent.net) y / o lcdmod (disponible en http://lcd-mod.sourceforge.net) Vamos a Wired! Antes de intentar conectar la pantalla con el ordenador recuerde que usted tiene que ser muy cuidadoso con lo que se hace aquí de lo contrario puede dañar la pantalla o el ordenador, por lo que si usted no está enterado de montaje de circuitos electrónicos sencillos, no conseguir desalentado. sólo pregunte a algún amigo friki electrónica de los suyos. Estoy tomando un ejemplo de una pantalla HD44780, que me ha conectado con el puerto paralelo de mi máquina Linux según el diagrama de cableado siguiente: Cableado Esquema (HD44780) Este esquema de cableado funciona bien para todas las pantallas de tipo HD44780 y espero que debería funcionar bien con su configuración too.you puede comprobar si la pantalla está vivo ajustando el 'contraste' resistencia en el diagrama anterior, debe mostrar bandas oscuras en la pantalla cuando la resistencia se encuentra en su valor mínimo. Instalación del Software He tomado ejemplos para ambos LCDproc y lcdmod, puede instalar cualquiera de estos para probar la pantalla. Si usted es un novato, es mejor que usted echa un vistazo a LCDproc primero. En primer lugar, extraer el archivo que has descargado: [Root @ Linux gaurav] # tar-zxvf lcdproc-0.4.1.tar.gz Siguiente LCDproc configure con los parámetros [Root @ Linux gaurav] # cd lcdproc-0.4.1 . [Root @ Linux lcdproc-0.4.1] # / configure - enable-drivers = maldiciones, HD44780 Esto configurará y generar un Makefile para que pueda probar la instalación con una vista previa basada en maldiciones, así como utilizar su pantalla HD44780 compatible. Ahora vamos a compilar y terminar nuestra instalación: [Root @ Linux lcdproc-0.4.1] # make install Después de que hayas hecho esto, podemos comprobar la ejecución de un control sobre la propia consola con el comando [Root @ Linux lcdproc-0.4.1] # EDCL-d-f maldiciones Esto muestra una pantalla elegante maldiciones poco en su terminal con el desplazamiento fundamental del sistema de información de uno en uno. ahora para la cosa real! usted puede conectar su monitor LCD con su fuente de alimentación y arranque la pantalla a través de: [Root @ Linux lcdproc-0.4.1] # EDCL-d HD44780 [Root @ Linux lcdproc-0.4.1] # lcdproc C M T X Esto debería mostrar la pantalla LCD a la vida y mostrar algo como esto: Pantalla LCD Pantalla LCD Pantalla LCD En el momento en que ha instalado y configurado lcdproc debe haberse dado cuenta que este software se basa realmente en un modelo cliente-servidor. El servidor lcdproc comienza primero con los programas cliente se conecta a él y mostrar la información. de hecho puede hacer telnet al servidor lcdproc (EDCL, el proceso demonio) y ejecutar el manually.But comandos, lo que si quieres un mecanismo más rápido para mostrar y quiere acabar con toda esta cosa socket. Bueno lcdmod está aquí para el rescate. Lcdmod Lcdmod es un controlador de dispositivo de caracteres para todas las pantallas compatibles con HD44780 escritos por Michael McLellan.It 's mucho más rápido que lcdproc y usted puede escribir cosas al LCD como está escrito a cualquier otro dispositivo. Vamos a seguir adelante con la instalación, he asumido que tiene la pantalla lcd correctamente cableado y probado con lcdproc. En primer lugar vamos a descomprimir el archivo fuente: [Root @ Linux gaurav] # tar-zxvf lcdmod-0.5.5.tgz [Root @ Linux gaurav] # cd lcdmod-0.5.5 Vamos a "hacer" la fuente e instalarlo: [Root @ Linux lcdmod-0.5.5] # make [Root @ Linux lcdmod-0.5.5] # make install Esto crea un LKM (módulo del kernel de Linux) y un dispositivo llamado 'lcd' que apunte a su hardware LCD. Inserte el LKM hemos bulit con el comando: [Root @ Linux lcdmod-0.5.5] # insmod lcd io = 0x378 = 2 disp_rows disp_cols = 16 Esto inserta el módulo especificando la dirección de E / S base del puerto paralelo (io), no. de filas (disp_rows) y no. de columnas (disp_cols) de la pantalla. Ahora vamos a confirmar si el módulo ha empeorado en: [Root @ Linux lcdmod-0.5.5] # lsmod Esto debe mostrar una entrada del módulo lcdmod junto con otros módulos insertados (si los hay). Ahora puede mostrar el texto en la pantalla LCD con sólo ejecutar el comando una sola. ej., [Root @ Linux lcdmod-0.5.5] # echo Hola> / dev / lcd Esto muestra 'Hola' en la pantalla. El objetivo de este artículo es para darle toda la información para controlar una pantalla LCD, por lo que ahora le toca a su creatividad y habilidades que la forma de poner en práctica esta idea en su situación específica. He utilizado una pantalla LCD para el desarrollo de un sistema de registro de empleado con un teclado personalizado, con todo el asunto de ser habilitado para la web. ;-) La Última Página LG para conseguir un cambio de imagen y quiere su ayuda LG va a obtener un lavado de cara en el próximo mes o dos. Una hoja de estilo, los encabezados / pies de página renovado, y tal vez algunas imágenes más. Mi mayor motivo favorito de la disposición actual es todo el espacio en blanco el extra de los navegadores poner alrededor de las cabeceras y <HR> s (separadores horizontales). Stylesheets hacen posible exprimir todo ese espacio, permitiendo más contenidos a mostrar en la primera pantalla. Non-stylesheet navegadores todavía tendría el espacio en blanco, pero al menos no estaría en peores condiciones de lo que son ahora. En realidad estoy pensando en algo un artículo encabezado así: -------------------------------------------------- --------- | LG logo LG LOGO Home> número 77 (abril de 2002) | | Logo LG LG LOGOTIPO Título Título Título | | Logo LG LG LOGOTIPO Título Título Título | | Logo LG LG LOGO por Autor | | ¡Haciendo de Linux ... más divertido (e-mail link) | -------------------------------------------------- --------- Esa es una versión más pequeña del logo LG, y <H1> nada más y <HR> en la cabecera. "Home problema> 77 (abril de 2002)" sería al estilo Yahoo-links como que hemos utilizado en el sitio Linux Journal en el pasado. También tienen por objeto modernizar los enlaces de navegación entre páginas, para reducir en preguntas como "¿Por qué LG conseguir un motor de búsqueda o un índice de todos los temas?" (Ya les has.) O, "¿Cómo puedo enviar una pregunta a la cuadrilla de respuesta? Oh, espera, yo no sabía que había una cuadrilla de respuesta, así que me lo envió Oficial. Miré en la página de información del autor , pero todavía no estoy seguro de a dónde enviar mi entrada Bytes Noticias ". Todos estos enlaces están disponibles ... si usted sabe dónde buscar. Haciendo click en los enlaces encontrar con más facilidad en los lugares la gente tiende a mirar será el objetivo. La Pandilla de las Respuestas y yo estamos buscando algunas imágenes más para decorar el lugar con. No se preocupe - we're pegado a nuestra "gráficos mínimos" filosofía. Sólo tienes que aflojar un poco. El éxito de la serie de dibujos animados en diferentes LG en el último año muestra que podemos aumentar el tamaño de LG ligeramente sin incurrir en la ira de aquellos que encuentran una descarga 200 KB caro. Así que, para León Czechowicz y todos los que han estado preguntando ¿Por qué nos quedamos sin formato en que podíamos parecen muy interesantes, ahora es tu oportunidad. Envíe sus sugerencias, imágenes, fragmentos, fragmentos de hojas de estilo HTML, diagramas de flujo de navegación y elementos de su lista a [email protected]. ¿Cómo le gustaría LG mirar? Probablemente vamos a tomar una decisión (o comenzar a pensar en la hora de tomar una decisión) alrededor del 15 de abril, así que cuanto antes mejor, o al menos nos envíe un e-mail para que sepamos algo se acerca. Cualquier idea o ejemplos que nos gusta, pero no use vamos a poner en un artículo, así que al menos van a conseguir algo de exposición. Los que siguen de cerca LG conocer nuestras políticas generales para el diseño. He tratado de articular a continuación, pero sin duda ha olvidado una cosa u otra. El sitio debe ser completamente estáticos de modo que pueda ser leído de espejos con el software de servidor web desconocida, y de CD-ROM y los archivos FTP donde no hay servidor web. Cada número trata de ser> 2 MB, y el número de archivos compartidos deben crecer modestamente. Esto es para las personas con módems lentos, o que paga por megabyte por minuto para las descargas. Debe buscar bien y navegar bien en una amplia variedad de navegadores, tanto gráficas como de texto. El ancho de página es normalmente 600 píxeles, pero puede expandirse a 630 o 750 de vez en cuando. El diseño debe quedar bien en cualquier lugar 600 a 750. Las imágenes deben ser PNG (preferido) o JPG (no GIF debido a restricciones de patentes). Utilice un fondo blanco, sin transparencia (Netscape muestra PNGs con píxeles transparentes como cajas negras), y la animación no. Tamaño máximo de la imagen debe estar alrededor de 200x100, algo que podemos poner alrededor de un encabezado o al lado de un párrafo. Hojas de estilo: Habrá una hoja de estilo global para todos los artículos, páginas de TOC y la página de inicio. (Tal vez vamos a utilizar hojas de estilo mixin por el camino, pero eso es más adelante.) Javascript, marcos y barras laterales son anatema. Javascript puede ser considerada en circunstancias muy limitadas, como enviar un formulario al pulsar Intro en un campo de texto. Que proporciona una comodidad ligera para el usuario Javascript pero no la degradación para el usuario no-Javascript. Pero cualquier Javascript debe ser funcional y no sólo cosmético. No hay mesas de todo el texto del artículo! Mantener las tablas de diseño a un mínimo. (Voy a tener que utilizar una tabla para la cabecera del artículo, sin embargo, ya que no stylesheet navegadores no pueden hacer columnizing estilo.) Creo que vamos a estar cambiando a los botones de texto para los enlaces de navegación en lugar de botones gráficos. En una tabla con fondo de color celulares, a menos que encontremos una estrategia estilo que es adecuado y se ve bien en la no-estilo de los navegadores. No sólo los botones de texto se descargan más rápido, pero son más fáciles de cambiar más adelante.

10
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.