a

andresd13

Usuario

Primer post: 27 abr 2008
6
Posts
251
Puntos totales
50
Comentarios
T
The Loginataka En Español
LinuxporAnónimoFecha desconocida

Esplendido en mi opinion The Loginataka Habla, oh gran maestro: que camino he de seguir para convertirme en un mago del unix ? Oh, simple mortal, has de saber que el camino para alcanzar la sabiduria es largo y tortuoso, lleno de trampas y complicaciones. Tienes que armarte con valor y coraje para alcanzar el conocimiento pleno de las entrañas y librerias de tu sistema. Y has de saber que recorrer el largo camino hacia la sabiduria puede perjudicar seriamente la nota media de tu carrera (si a estudiar te dedicas), sin mencionar el los efectos catastroficos que puede tener sobre tu vida sexual(si una tu tienes). Pero se fuerte, o aprendiz, ya que grande sera la recompensa que te espera al final del trayecto. Habla, oh gran maestro: Que libros he de estudiar ? Son las guias "in a Nutshell" de O'Reilly un buen comienzo ? Oh, simple mortal: has de saber que las guias "in a Nutshell" de O'Reilly son solo la corteza del verdadero conocimiento. Dignos son ellos, (y alabado sea el nombre de O'reilly, cuyos libros representan el espiritu del hacker de numerosas maneras) pero estos manuscritos son solo el principio del camino. Si deseas con verdadera devocion el recorrer el camino de la magia, primero aprenderas los sortilegios elementales de "El entorno de programacion unix" de Kernighan & pike; despues absorberas la mitica irradiacion "Programacion avanzada en unix" de March Rochkind y del tomo de W. Richard Stevens, "Programacion avanzada en el entorno Unix". Cuando alcances el exstasis del aprendizaje memoriza "Linux Device drivers" del archimago Alessandro Rubini. Sumergete posteriormente en la luz purificadora del "Diseño del sistema operativo unix", de Maurice J. Bach. No rechaces la doctrina Berkeliana; estudia tambien "Diseño e Implementacion del S.O. 4.4BSD", por Kirk Mckusick, Keith Bostic. Para consejos y trucos utiles consulta "Unix Power Tools" de Tim O'Reilly. Considera tambien la sabiduria oscura obtenida de la contemplacion de "Programacion en C portable para sistemas Unix", surgido del salvaje baile sobre el teclado del Archimago enloquecido Malvernite, al que los simples mortales llaman "J. E. Lapin". Estos tomos te instruiran en la naturaleza del sistema unix; pero tambien deberas aprender a tratarlo a la perfeccion, por lo que la lectura de "Viviendo con unix" de Don Libes y Sandy Ressler sera un paso imprescindible hacia el verdadero conocimiento. Deberas adoptar al "nuevo diccionario del hacker" como tu fiel compañero en tu larga cruzada. (de esta manera habras de recorrer el camino del camello) Habla, oh gran maestro: Para obtener la maestria, cuantos kernels he de destripar y volver a juntar ? Oh simple mortal: esa pregunta hace entrever la fuerza que reside en ti --- no puedes desvelar sus misterios con el simple estudio sino que obtendras la maestria a traves de la practica. El verdadero camino hacia la inmortalidad no se recorre de la forma timida y torpe de un aprendiz, sino con la temerosidad divina del verdadero hacker. Hackea pues, no te dejes amedrentar por los errores de compilacion, lucha contra las embestidas de los kernel panic, disfruta tu exploracion y deja que los cuelgues caigan donde quieran. (sin descuidar el arte de la copia de seguridad, por el bien de tu karma). (de esta manera habras de recorrer el camino del leon) En estos dias de autoconfiguracion en el arranque, y de Modulos cargables dinamicamente, recompilar el kernel ya no es la prueba de fuerza y sabiduria que fue en sus tiempos. Eso si, escribir y usar tu propio driver para una pieza de hardware exotica sigue siendo una gran demostracion de habilidad en el camino para alcanzar la fuerza. Tambien lo es la produccion de cualquier trozo de codigo que complemente o extienda las utilidades disponibles actualmente como fuentes. Por lo tanto: conjura a un unix gratuito como leal compañero: OpenBSD, FreeBSD, NetBSD, y especialmente Linux, en cualquiera de sus encarnaciones. Forma parte del grupo de los magos y aprendices que trabajan constantemente en la mejora de los mismos. Unete a ellos en su gran esfuerzo por expandir, mejorar y reinventar unix. De esta manera llegaras a ser parte de los poderosos. Habla, oh gran maestro: Hay quienes afirman que el unico camino hacia la perfeccion y el deber de todo gran hacker es re-escribir el kernel unix desde 0. No es esto un sacrilegio ? Sacrilegio oh simple mortal ? NO ! Ciertamente la fuente del kernel es el misterio final de Unix --- Pero hay un misterio mas alla de ese misterio. La naturaleza del unix no depende de una version sino de la tradicion de la que cada unix es parte. El rito de la reinvencion del kernel no es el unico camino hacia la maestria, pero es quizas el mas dificil y mas sagrado de todos ellos. Pocos mortales de hecho han conseguido atravesar la oscura senda desde la implementacion a la entrega. Muchos, creeme, muchos se atrancan en el desierto de los retrasos, o pasan permanecen toda la eternidad en una beta perpetua. Habla, oh gran maestro: Cual es pues el verdadero camino hacia la sabiduria ? Oh simple mortal: Aprende, y busca en ti mismo. Desarrolla la astucia de la serpiente y el valor del tigre; sumergete profundamente en la sabiduria de aquellos que te precedieron. Hackea, y vuelve a hackear; crece, intentandolo una y otra vez. Publica tus mejores hacks en la web y gana asi en confianza y reputacion. Tambien, o simple mortal, aprende a moderar tus palabras, se paciente con aquellos que saben menos que tu, rapido ayudando y lento insultando. Si realizas estos actos con fe, si viajas con gran corazon y buena intencion, pronto dejaras atras tu aprendizaje. Con el paso del tiempo, y de forma imperceptible, iras escalando los peldaños del poder. Gradualmente desarrollaras toda tu fuerza y potencial. Oh simple mortal, si haces todo esto, te aseguro que te convertiras en un gran mago; pero no instantaneamente, y no hasta que tu mente arrogante halla casi olvidado que este era tu objetivo. Asi que ten en cuenta --- No puedes apoderarte del manto de la sabiduria en tu arrogancia; eso solo conlleva fracasos y decepciones hasta el final. En vez de ello deberas llegar a ser, aprender, estudiar hasta que los hackers respeten tu poder y los otros magos te acepten como a un hermano o hermana, hasta que despiertes un dia y te des cuenta de que el manto de la sabiduria se ha posado sobre tus hombros sin haberte dado cuenta siquiera. (de esta manera habras de recorrer el camino del recien-nacido) Espero les halla Gustado Tanto como a mi

0
6
A
Agrega Repositorios Dede Consola de una forma Fácil y Segur
LinuxporAnónimo9/27/2008

AddRepo Esta fabulosa utilidad te permite agregar repositorios al sources.list de una manera segura y fácil. Pero Bueno vayamos a la parte de instalación y los ejemplos: Lo primero será descargar el programa de la página oficial, y para esto abriremos nuestra querida linea de comandos y escribiremos la siguiente orden sudo wget http://mac4deb.googlepages.com/addrepo -O /usr/bin/addrepo Esto lo descargara directamente a la carpeta donde se encuentran los binarios, esto para que puedan ser utilizados por el terminal después. Ahora para poder utlizarlo debemos darle permisos de ejecución, así que en una linea de comandos hacemos: sudo chmod +x /usr/bin/addrepo Esto nos permitirá usar addrepo sin inconvenientes. Uso de AddRepo Si por ejemplo ahora quisieras agregar un repositorio, digamos que el recientemente lanzado playdeb, el repositorio de juegos de ubuntu solo tendremos que en una lineeea de comando ejecutar el siguiente comando: addrepo deb mirror://www.getdeb.net/playdeb-mirror/hardy/// hardy/ No es necesario el uso de sudo porque addrepo ya lo tiene. Pero si quieres hacerlo no pasará nada. Y listo, luego, recargar la lista con el comando update: sudo apt-get update y listo, repositorio agregado y listo para usar.. Técnicamente el únnico uso del comando es este: addrepo [repository] Espero te ayude Mucho este pequeño How-To Sólo Para Hacer tu vida más Fácil ***DEJA UN COMENTARIO***

0
4
Fedora 10
Fedora 10
LinuxporAnónimo11/26/2008

Registrate y eliminá la publicidad! Fedora 10 Fedora es un sistema operativo basado en Linux que trae lo último en software libre y de código abierto. Fedora es siempre libre para que cualquiera lo use, modifique o distribuya. Lo construyen personas de todo el planeta que trabajan juntos como una comunidad: el Proyecto Fedora. El Proyecto Fedora es abierto y todos son bienvenidos a unirse. El Proyecto Fedora es lo más nuevo, con lo mejor en software y contenido libre y abierto. Anaconda NetworkManager para la Red -- Anaconda usa ahora NetworkManager para la configuración de interfases de red durante la instalación. La pantalla principal de configuración de la interfase de red en Anaconda ha sido eliminada. Ahora sólo se les pregunta a los usuarios sobre los detalles de la configuración de la red si es necesario durante la instalación. La configuración usada durante la instalación se escriben en el sistema. Servidor X Fedora 10 usa el controlador de entrada evdev como el ratón estándar y el controlador de teclado para el servidor X. Este controlador funciona con HAL para proveer una configuración por dispositivo que permite que se agreguen y se eliminen los dispositivos en tiempo de ejecución. Tiempo de Arranque de Fedora Fedora 10 incluye actulaizaciónes de múltiples tiempo de arranques, que incluyen cambios que le permiten un arranque más rápido y cambios en la forma en que arranca gráficamente. GRUB El menú GRUB ya no se muestra en el inicio, a excepción en sistema de arranque dual. Para mostrar el menú de GRUB, mantenga presionada la tecla Shift antes de que se cargue el kernel. (Cualquier otra tecla funciona, pero la tecla Shift es la más segura para usar.) Plymouth Plymouth ies el sistema de arranque gráfico que debuta en Fedora 10. Agregando rhgb en la línea de comando de grub le dice a Plymouth que cargue el complemento apropiado para su hardware. La pantalla de presentación gráfica del arranque que viene con Plymouth requiere los controladores de configuración de modo del kernel para funcionar mejor. No hay disponibles controladores de configuración de modo del kernel para todos los equipos actualmente. Para ver la presentación gráfica antes que los controladores estén disponibles, agregue vga=0x318 a la línea de comando del kernel de grub. Este usa vesafb, que no necesariamente da una resolución nativa de un monitor lcd y puede causar parpadeos u otras interacciones raras con X. Sin los controladores de configuración de modo del kernel o con vga=0x318, Plymouth usa un complemento basado en texto que es plano pero funcional. Actualmente, solo Radeon R500 y los usuarios de versiones más altas obtienen el kernel con la configuración de modo por defecto. Se está trabajando para proveer la configuración del modo para R100 y R200. Además los controladores para configuración del modo en kernel para Intel están en desarrollo, pero no están activados por defecto. Los controladores de configuración de modo del kernel están todavía en desarrollo y tienen errores. Si termina con una pantalla negra durante el arranque, o con una pantalla sin más que un ruido aleatorio en ella, entonces agregue nomodeset al indicador de arranque del kernel en grub para deshabilitar la configuración del modo. Plymouth oculta los mensajes de arranque. Para ver los mensajes de arranque, presione la tecla Esc, o véalos en /var/log/boot.log después de arrancar. Alternativamente, elimine rhgb de la línea de comando del kernel y plymouth mostrará todos los mensajes de arranque. Tampoco hay un ícono de estado en la pantalla de ingreso para ver las advertencias de arranque. Demostraciones de Plymouth: link: http://www.videos-star.com/watch.php?video=T4388FjuLCA link: http://www.videos-star.com/watch.php?video=DuPulzG5XbU Arranque Más Rápido Fedora 10 tiene un arranque más rápido debido a mejoras en el proceso de iniciado. Readahead se inicia en paralelo con el proceso de arranque. Udev puede parecerle más lento, pero en realidad readahead lee todos los búferes de disco necesarios para el proceso de arranque en segundo plano para acortar todo el proceso de arranque. La creación de un archivo readahead se hace mensualmente y se puede forzar manualmente tocando /.readahead_collect. El archivo de configuración /etc/sysconfig/readahead se puede editar para desactivar el colector de readahead y o readahead. Descargalo Ahora Mismo Fedora 10 i386 - DVD Fedora 10 x86_64 - DVD Fedora 10 Power PC - DVD Fedora 10 Live i686 GNOME -CD Fedora 10 Live x86_64 GNOME -CD Fedora 10 Live i686 KDE -CD Fedora 10 Live x86_64 KDE -CD FUENTE... http://fedoraproject.org/en/get-fedora-all ***DEJA UN COMENTARIO***

0
18
Colores En C++ Sin conio.h y Con ncurses -Programador Novato
Colores En C++ Sin conio.h y Con ncurses -Programador Novato
LinuxporAnónimo9/19/2008

-Programador Novato- Bueno, mis post siempre suelen ayudar, para hacer las cosas mas fáciles, y, por experiencia propia se que muchas personas que han intentado programar en Linux se han encontrado con el inconveniente de no poder usar colores sin conio o cnurses librerías difíciles de agregar (en mi experiencia, que quede claro) así que he realizado este código, que es mas bien una tabla de colores en c++ solo con escapes ANSI así que lo único que necesitaran sera una librería ES Entrada y salida de datos, como iostream.h o stdio.h con sus "cout" y "print", Así que hay les va: dijo:#include<iostream.h> #include<stdio.h>//si lo quieren hacer con "print"// main () { cout << "x1b[90mNEGROx1b[mn"; cout << "x1b[91mROJOx1b[mn"; cout << "x1b[92mVERDEx1b[mn"; cout << "x1b[93mAMARILLOx1b[mn"; cout << "x1b[94mAZULx1b[mn"; cout << "x1b[95mVIOLETAx1b[mn"; cout << "x1b[96mAZUL CLAROx1b[mn"; cout << "x1b[97mBLANCOx1b[mn"; cout << "x1b[101mROJOx1b[mn"; cout << "x1b[102mVERDEx1b[mn"; cout << "x1b[103mAMARILLOx1b[mn"; cout << "x1b[104mAZULx1b[mn"; cout << "x1b[105mVIOLETAx1b[mn"; cout << "x1b[106mAZUL CLAROx1b[mn"; cout << "x1b[107mBLANCOx1b[mn"; } DESCARGA EL EJECUTABLE http://www.archivosbackup.com/download.php?file=909co Y ya sabes para poderlo ver, abres un terminal y pones Ubicación de descarga y luego: dijo:./co Y Pues obviamente pueden cambiar el texto del color por otro, digamos dijo:cout << "x1b[91mROJOx1b[mn"; por dijo:cout << "x1b[91mHOLA COMO ESTANx1b[mn"; Y el texto "HOLA COMO ESTAN" aparecerá en color rojo..... PD: Significa subrayado en ese color PD2: Sirve en windows pero solo activando el ansi.sys en el config del DOS Espero les ayude a hacer de la programación mas fácil, y así no se partan la cabeza buscando por soluciones extrañas y que muchas veces no sirven... He decidido Editar el Post para mostrarles una salida tipo ncurses de un mensage "Bienvenidos" En ASCII Hecho por mí PD.PS: PARA ESTE EJEMPLO SE DEBE USAR LA LIBRERIA NCURSES dijo: #include<ncurses.h> int main() { initscr(); if (has_colors()) { start_color(); init_pair(1,COLOR_RED,COLOR_BLACK); init_pair(2,COLOR_BLUE,COLOR_BLACK); attron(COLOR_PAIR(1)); printw("B"; attron(COLOR_PAIR(2)); printw("ienvenid"; attron(COLOR_PAIR(1)); printw("onn"; attron(COLOR_PAIR(1)); printw("|\ | |XXXX |\ | | / |XXXX |\ | | |\ /\ / n"; printw("|/ | | | \ | | / | | \ | | | \ / \ / n"; printw("|\ | |XX | \ | | / |XX | \ | | | / \ / \ n"; printw("|/ | |XXXX | \| |/ |XXXX | \| | |/ \/ / n"; attroff(COLOR_PAIR(1)); attroff(COLOR_PAIR(2)); } refresh(); getch(); endwin(); return 0; } ESTA CITA (LA DE ABAJO) NO MUESTRA EL RESULTADO REAL, YA QUE POR CUESTIONES DE FORMATOS DE TEXTOS DE TARINGA LO MODIFICA UN POCO EN LOS ESPACIOS, EL CODIGO DEBERIA FUNCIONAR BIEN, Y MAS QUE TODO PERFECTO DESPUÉS DE COMPILADO. CUALQUIER INCONVENIENTE EN LOS COMENTARIOS ESTARÍA BIEN.... SI PUEDEN MEJORAR EL CODIGO HAGANLO Y POR FAVOR HAGANMELO SABER A MI TAMBIÉN SI LO QUIEREN MEJOR EN TEXTO PLANO HAGANMELO SABER...... La salida de este texto seria algo así: dijo: | | |XXXX | | | / |XXXX | | | | / / |/ | | | | | / | | | | | / / | | |XX | | | / |XX | | | | / / |/ | |XXXX | | |/ |XXXX | | | |/ / / En color rojo, si quieren cambiar el color deben modificar los pairs y los contenidos del attron.... Espero les guste.... Todo fue hecho por mi, como no soy experto en ASCII me costo un poco crear el mensajito..... Uds tal vez lo vean diferente y corrido en el código, pero en la consola se ve perfecto, la causa de esto es que cada vez que se quiere usar el carácter "" sin que el compilador lo tome como un escape ASCII como por ejemplo "n" (que es salto de linea) entonces se deben poner dos por ejemplo si quieren que en vez de escape por pantalla aparezca el carácter " entonces ponen"\" Y así saldrá solo uno...... Que Opinas??

0
0
Programemos Un Poco En C++
Programemos Un Poco En C++
LinuxporAnónimo9/27/2008

Al menos Aparesco en un Top.... Gracias a todos por su apoyo Programemos Un Poco En C++ Este tutorial asume que ya se tienen conocimientos de conceptos básicos de programación en C++ así como un uso mediano de estos Hola a toda la comunidad de programadores de T!. Por pedido de la comunidad en el Post http://www.taringa.net/posts/linux/1559988/Colores-En-C++-Sin-conio_h-y-Con-ncurses--Programador-Novato.html Me he animado a trabajar más en el uso de las librerías Curses, NCurses, PDcurses o como quieran llamarlas. La cuestion es ayudar a los programadores más novatos, porque yo no soy experto ni gurusito, a usar librerias que les ayuden a implementar estilos gráficos en sus programas sin ningun problema, y con una facilidad de uso impresionante, así que empecemos. Como este Tuto está enfocado a Linux Lo haremos todo desde allí. 1. Lo primero será conseguir Code::Blocks un IDE derivado de Dev-cpp OpenSource y SL ovbiamente.... Code::Blocks Para su instalación desde los repositorios se hace lo siguiente: -*Abrimos un Terminal -*Tecleamos los Siguientes Comandos: Sistemas Basados en empaquetación DEB(Debian): dijo:# apt-get install codeblocks* o dijo:# aptitude install codeblocks* Sistemas basados en empaquetación RPM (Fedora): dijo:# yum install codeblocks* Sistemas basados en empaquetación RPM (Mandriva): dijo:# urpmi codeblocks* PD: El codigo debería funcionar en cualquier IDE, pero Code:Blocks es Muy Comodo. Con lo anterior ya tendriamos instalado Code::Blocks con sus herramientas y dependencias. nCurses Aquí no entrare mucho en detalles, ya que todo sistema GNU/Linux trae integradas nativamente, ya que el Kernel hace uso de estas, así que ya todos deberíamos tenerlas instaladas. Pero Contemos algo de historia. Ncurses es una biblioteca de programación que provee una API que permite al programador escribir interfaces basadas en texto, TUIs. También optimiza el refresco de la pantalla, lo que permite reducir la latencia experimentada cuando se usan intérpretes de comandos remotos. Ncurses significa «new curses», ya que es un reemplazo del descontinuado curses clásico de 4.4BSD. El proyecto provee APIs oficiales en C, C++ y Ada. Forma parte del proyecto GNU. Es uno de los pocos programas de GNU que no se distribuye bajo la GPL ni bajo la LGPL, sino bajo la licencia MIT. Como Compilar Los botones que nos sirven para compilar son los que se uncuentran en la esquina superior izquierda, los que tienen forma de piñon, piñon y play xD y solo play Piñon --> COmpilar Piñon y Play --> Compilar y ejecutar Play --> Ejecutar Los siguientes pasos son importantisimos para un buen funcionamiento del codigo así que siguelos al pié de la letra. En gcc para poder compilar con los ncurses debemos agregaar un flag, para hacer esto debemos hacer los siguiente: Settings -> Compiler and Debugger -> Abrimos la pestaña de inker Settings, y en el recuadro Other Linker Settings EScribimos lo siguiente: dijo:-lncurses y Si preferimos compilar desde el terminal Hacemos: dijo:g++ codigo.cpp -lncurses -o codigo y para ejecutar: dijo:./codigo Le damos a OK y Listo podremos compilar sin Problemas..... Vayamos al Grano Lo primero será abrir nuestro flamante Code::Blocks, así que desde una consola pueden ejecutar: dijo: codeblocks & O si lo desean pueden ir a Aplicaciones -> Programación -> Code::Blocks Cuando tengamos abierto el IDE, iremos a File -> New -> Empty File para proseguir a guardarlo en File -> Save as.. Con el nombre que queramos (*.cpp). Bueno, se biene lo bueno, esta mañana la pase toda haciendo una calculadora que por cierto quedo muy bonita, y es lo que bamos a hacer: Lo primero será incluir los siguientes encabezados: dijo:#include<ncurses.h> #include<math.h> La primera es para incluir las ncurses que nos permitira crear la TUI. Aunque siempre se uvica la función main de primera, como mi programa implementa funciones lo primero será declarar los prototipos: dijo://Prototipos de las Funciones void menu(void); int suma(); int resta(); int multiplicacion(); int division(); int pitagoras(); void error(); void errordiv(); void salir(); // PD: No se emocionen no todas las citas van a tener Colores. Las anteriores son las que conforman el programa Ahora la función Main: dijo:int main() //Funcion main { initscr(); //inicialización de las curses if (has_colors()) //Comprobacion de colores { start_color(); //inicializacion de colores } move(8,35); //funcion de movimiento de cursor //inicializacion de pares de colores init_pair(1,COLOR_RED,COLOR_BLACK); init_pair(2,COLOR_BLUE,COLOR_BLACK); init_pair(3,COLOR_GREEN,COLOR_BLACK); init_pair(4,COLOR_MAGENTA,COLOR_BLACK); init_pair(5,COLOR_WHITE,COLOR_RED); // //Funciones para el uso de colores, movimiento de cursor, movimiento de cursosr y escritura del mensage attron(COLOR_PAIR(1)); printw("B"; attron(COLOR_PAIR(2)); printw("ienvenid"; attron(COLOR_PAIR(1)); printw("o\n\n"; attron(COLOR_PAIR(1)); move(10,15); printw("|\\ | |XXXX |\\ | | / |XXXX |\\ | | |\\ /\\ / \n"; attron(COLOR_PAIR(3)); move(11,15); printw("|/ | | | \\ | | / | | \\ | | | \\ / \\ / \n"; attron(COLOR_PAIR(4)); move(12,15); printw("|\\ | |XX | \\ | | / |XX | \\ | | | / \\ / \\ \n"; attron(COLOR_PAIR(2)); move(13,15); printw("|/ | |XXXX | \\| |/ |XXXX | \\| | |/ \\/ / \n"; attroff(COLOR_PAIR(2)); move(16,20); printw("Presiona Cualquier Tecla Para Continuar"; getch(); erase(); menu(); refresh(); getch(); endwin(); return 0; } PD: Perdon por los emoticones, envés de estos debería ir un caracter ')' Sin Comillas claro está Analisemos el Codigo. initscr() -->Esto inicializa el modo curses, si el modo curses no es inicializado nada funcionará. Siempre hacerlo if (has_colors()) //Comprobacion de colores { start_color(); //inicializacion de colores } --> No todos los terminales tienen colores, así que lo que hace el if es comprobar que hayan colores, en el caso de que hayan se inicializan con la función start_color(). PD: La comprobación no es necesaria. move(8,35) --> Esta función es similar al gotoxy de la porqueria de conio.h (Perdon xD) mueve el cursor a los puntos indicados, la diferencia entre esta y gotoxy es esta: move(y,x) gotoxy(x,y) init_pair(1,COLOR_RED,COLOR_BLACK); init_pair(2,COLOR_BLUE,COLOR_BLACK); init_pair(3,COLOR_GREEN,COLOR_BLACK); init_pair(4,COLOR_MAGENTA,COLOR_BLACK); init_pair(5,COLOR_WHITE,COLOR_RED); --> Estas funciones nicializan pares de colores para su uso futuro indicando el numero del par, lo hare más explícito: init_pair -->Inicializa el par (1, --> El número del par, ninguno puede ser igual COLOR_BLUE, --> Color de la Letra COLOR_BLACK --> Color de fondo, como notamos es negro, lo que quiere decir que no hay fondo, que es sólo el color de letra (diferente al par 5 por ejemplo) attron --> Indica la forma en que irán las sentencias siguientes, así por ejemplo un attron(A_BOLD) antes de un printw("" hará que las cadenas de texto aparezcan en Negrita, en la mayoría de casos para asignar los pares de colores a las cadenas. printw --> Es el usado para mostrar mensajes por pantalla Su funcionamiento es el mismo que printf scanw --> Usado para leer información por teclado, Su funcionamiento es el mismo de scanf getch() --> Hace lo mismo que haria cin.get() pero usando cualquier caracter del teclado. erase() --> Limpia la pantalla menu() --> Función del menú que desarrollaremos más adelante. refresh() --> Refresca la pantalla y la actualiza con las sentencias anteriores, así que es posible que no aparezca nada si omitimos esta función. attroff --> Elimina los cambios hechos por attron, así por ejemplo attroff(A_BOLD) Hara que los siguientes textos ya no aparescan en negrita. Bueno, ya hemos visto todas las funciones y sentencias básicas e importantes en nuestro programa, por eso ahora les mostrare el codigo entero para que puedan tener su calculadora completa (Espero que sepan Switch, es básico): dijo:#include<ncurses.h> #include<math.h> //Prototipos de las Funciones void menu(void); int suma(); int resta(); int multiplicacion(); int division(); int pitagoras(); void error(); void errordiv(); void salir(); // int main() //Funcion main { initscr(); //inicialización de las curses if (has_colors()) //Comprobacion de colores { start_color(); //inicializacion de colores } move(8,35); //funcion de movimiento de cursor //inicializacion de pares de colores init_pair(1,COLOR_RED,COLOR_BLACK); init_pair(2,COLOR_BLUE,COLOR_BLACK); init_pair(3,COLOR_GREEN,COLOR_BLACK); init_pair(4,COLOR_MAGENTA,COLOR_BLACK); init_pair(5,COLOR_WHITE,COLOR_RED); // //Funciones para el uso de colores, movimiento de cursor, movimiento de cursosr y escritura del mensage attron(COLOR_PAIR(1)); printw("B"; attron(COLOR_PAIR(2)); printw("ienvenid"; attron(COLOR_PAIR(1)); printw("o\n\n"; attron(COLOR_PAIR(1)); move(10,15); printw("|\\ | |XXXX |\\ | | / |XXXX |\\ | | |\\ /\\ / \n"; attron(COLOR_PAIR(3)); move(11,15); printw("|/ | | | \\ | | / | | \\ | | | \\ / \\ / \n"; attron(COLOR_PAIR(4)); move(12,15); printw("|\\ | |XX | \\ | | / |XX | \\ | | | / \\ / \\ \n"; attron(COLOR_PAIR(2)); move(13,15); printw("|/ | |XXXX | \\| |/ |XXXX | \\| | |/ \\/ / \n"; attroff(COLOR_PAIR(2)); move(16,20); printw("Presiona Cualquier Tecla Para Continuar"; getch(); erase(); menu(); refresh(); getch(); endwin(); return 0; } void menu(void) { int op; refresh(); erase(); attron(COLOR_PAIR(3)); attron(A_BOLD); move(2,5); printw(" ------------------------------------------------------------------\n"; move(3,5); printw("| |\n"; move(4,5); printw("| ...::: M E N U :::... |\n"; move(5,5); printw("| |\n"; move(6,5); printw(" ------------------------------------------------------------------\n"; attroff(A_BOLD); attron(COLOR_PAIR(4)); move(8,8); printw("1 - - > S u m a \n"; move(9,8); printw("2 - - > R e s t a \n"; move(10,8); printw("3 - - > M u l t i p l i c a c i o n \n"; move(11,8); printw("4 - - > D i v i s i o n \n"; move(12,8); printw("5 - - > P i t a g o r a s \n"; move(13,8); printw("6 - - > S A L I R \n"; attron(COLOR_PAIR(2)); move(14,10); printw("Y T u O p c i o n E s : "; scanw("%d" ,&op); if(op > 7) { error(); } refresh(); switch(op) { case 1: suma(); break; case 2: resta(); break; case 3: multiplicacion(); break; case 4: division(); break; case 5: pitagoras(); break; case 6: salir(); break; } refresh(); } int suma() { int num1, num2, suma; erase(); attron(COLOR_PAIR(3)); attron(A_BOLD); move(2,5); printw(" ------------------------------------------------------------------\n"; move(3,5); printw("| |\n"; move(4,5); printw("| ...::: S U M A :::... |\n"; move(5,5); printw("| |\n"; move(6,5); printw(" ------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(3)); attron(COLOR_PAIR(4)); move(8,8); printw("Introduce un Primer numero: "; scanw("%d" ,&num1); move(10,8); printw("Introduce un Segundo numero: "; scanw("%d" ,&num2); suma = num1 + num2; attron(COLOR_PAIR(2)); attron(A_BOLD); move(12,10); printw("El Resultado es : %d", suma); attroff(COLOR_PAIR(2)); attroff(A_BOLD); move(14,13); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); menu(); } int resta() { int num1, num2, resta; erase(); attron(COLOR_PAIR(3)); attron(A_BOLD); move(2,5); printw(" ------------------------------------------------------------------\n"; move(3,5); printw("| |\n"; move(4,5); printw("| ...::: R E S T A :::... |\n"; move(5,5); printw("| |\n"; move(6,5); printw(" ------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(3)); attron(COLOR_PAIR(4)); move(8,8); printw("Introduce un Primer numero: "; scanw("%d" ,&num1); move(10,8); printw("Introduce un Segundo numero: "; scanw("%d" ,&num2); resta = num1 - num2; attron(COLOR_PAIR(2)); attron(A_BOLD); move(12,10); printw("El Resultado es : %d", resta); attroff(COLOR_PAIR(2)); attroff(A_BOLD); move(14,13); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); menu(); } int multiplicacion() { int num1, num2, multiplicacion; erase(); attron(COLOR_PAIR(3)); attron(A_BOLD); move(2,5); printw(" ------------------------------------------------------------------\n"; move(3,5); printw("| |\n"; move(4,5); printw("| ...::: M U L T I P L I C A C I O N :::... |\n"; move(5,5); printw("| |\n"; move(6,5); printw(" ------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(3)); attron(COLOR_PAIR(4)); move(8,8); printw("Introduce un Primer numero: "; scanw("%d" ,&num1); move(10,8); printw("Introduce un Segundo numero: "; scanw("%d" ,&num2); multiplicacion = num1 * num2; attron(COLOR_PAIR(2)); attron(A_BOLD); move(12,10); printw("El Resultado es : %d", multiplicacion); attroff(COLOR_PAIR(2)); attroff(A_BOLD); move(14,13); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); menu(); } int division() { float num1, num2, division; erase(); attron(COLOR_PAIR(3)); attron(A_BOLD); move(2,5); printw(" ------------------------------------------------------------------\n"; move(3,5); printw("| |\n"; move(4,5); printw("| ...::: D I V I S I O N :::... |\n"; move(5,5); printw("| |\n"; move(6,5); printw(" ------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(3)); attron(COLOR_PAIR(4)); move(8,8); printw("Introduce un Primer numero: "; scanw("%d" ,&num1); move(10,8); printw("Introduce un Segundo numero: "; scanw("%d" ,&num2); if (num2 == 0) { errordiv(); } division = num1 / num2; attron(COLOR_PAIR(2)); attron(A_BOLD); move(12,10); printw("El Resultado es : %d", division); attroff(COLOR_PAIR(2)); attroff(A_BOLD); move(14,13); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); menu(); } int pitagoras() { int num1, num2, pitagoras, hipo; erase(); attron(COLOR_PAIR(3)); attron(A_BOLD); move(2,5); printw(" ------------------------------------------------------------------\n"; move(3,5); printw("| |\n"; move(4,5); printw("| ...::: P I T A G O R A S :::... |\n"; move(5,5); printw("| |\n"; move(6,5); printw(" ------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(3)); attron(COLOR_PAIR(4)); move(8,8); printw("Introduce la medida del primer cateto: "; scanw("%d" ,&num1); move(10,8); printw("Introduce la medida del Segundo cateto: "; scanw("%d" ,&num2); pitagoras = pow(num1, 2) + pow(num2, 2); hipo = sqrt(pitagoras); attron(COLOR_PAIR(2)); attron(A_BOLD); move(12,10); printw("El Resultado es : %d", hipo); attroff(COLOR_PAIR(2)); attroff(A_BOLD); move(14,13); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); menu(); } void error() { erase(); attron(COLOR_PAIR(5)); move(2,4); printw(" ----------------------------------------------------------------------\n"; move(3,4); printw("| |\n"; move(4,4); printw("| E R R O R !!! |\n"; move(5,4); printw("| I N T R O D U C E U N A O P C I O N C O R R E C T A |\n"; move(6,4); printw("| |\n"; move(7,4); printw(" ----------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(5)); move(9,6); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); erase(); menu(); } void errordiv() { erase(); attron(COLOR_PAIR(5)); move(2,4); printw(" ----------------------------------------------------------------------\n"; move(3,4); printw("| |\n"; move(4,4); printw("| E R R O R !!! |\n"; move(5,4); printw("| I N T R O D U C E U N A O P C I O N C O R R E C T A |\n"; move(6,4); printw("| |\n"; move(7,4); printw(" ----------------------------------------------------------------------\n"; attroff(A_BOLD); attroff(COLOR_PAIR(5)); move(9,6); printw("Presiona culquier tecla Para Continuar"; getch(); refresh(); erase(); division(); } void salir() { erase(); move(9,6); printw("Presiona culquier tecla Para Salir"; } Descarga el Código Fuente NO ES RECOMENDABLE QUE COPIES Y PEGUES EL TEXTO DE LAS CITAS, YA QUE POR CUESTIONES DE FORMATO DE T! ESTE ELIMINA ESPACIOS IMPORTANTES E INCLUYE EMOTICONES EN DIVERSAS ZONAS DEL CODIGO, ASÍ QUE PARA TU COMODIDAD ACONTINUACIÓN TE DEJO EL CÓDIGO: DESCARGA Espero haya hecho tu vida más fácil.... ScreenShots Les Gusta?? ATENCIÓN, SI YA BAJASTE EL CÓDIGO VUELVE HA HACERLO, YA QUE EL ANTERIOR TENIA UN BUG QUE YA FUE CORREGIDO... JIJIJI MI PRIMER UPDATE [Septiembre 27 de 2008 21:02:07] SEGUNDO UPDATE [Septiembre 28 de 2008 11:21:42] Solucionados algunos problemas visuales..... PERDONA LAS MOLESTIAS, PERO.. NINGUN CÓDIGO ES PERFECTO APedido Del Usuario Aress2k7: Si quieres aprender de una manera más tecnica explícita y entendible te recomiiendo los siguientes documentos: nCurses Para Remolones Programar es Fácil o no (nCurses) PDF (nCurses) ***AGRADECER NO CUESTA NADA***

0
0
Como ver RMVB en ubuntu desde Cualquier Reproductor (Linux)
Como ver RMVB en ubuntu desde Cualquier Reproductor (Linux)
LinuxporAnónimo4/27/2008

Despues de partirme la cabeza durante largo rato, mirando blogs, wordpress, hasta aqui en taringa, LA unica solucion que encontraba para reproducir los rmvb en ubuntu era descargando los win32 del MPlayer lo cual nunca mefunciono, aunque se que sí a amuchos de ustedes, La unica solucion que tube fue instalar el Real Player el cual es un reproductor que para nada me gusta. Pero al fin despues de horas frenta a la pantalla consegui ver los rmvb en : ->Totem ->Xine ->Vlc ->Gnome Mplayer(Muy parecido al vlc) ->Mplayer (que es diferente al de arriba) Y tambien pude lograr el precast, esto quiere decir que en el icono del video me muestra la imagen del preview, Pero al Grano, asi fue como lo logre: 1.Abrimos un terminal 2. Escribimos : sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list El anterior Comando descarga un source y lo agrega al sources.list 3.Despues de dar enter a ese comando ponemos este otro: wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - && sudo apt-get update El anterior Comando agrega las Llaves publicas GPG Para el correcto funcionamiento del source, después de esto actualiza los repositorios para incluir los antes agregados en als futuras descargas y actualizaciones. 4.Y despues colocamos: sudo apt-get install w32codecs El anterior comando instala los Codecs w32 para la lectura de la mayoria de contenedores multimedia privativos 5.Y por ultimo: sudo apt-get install libdvdcss2 El anterior comando instala la librería libdvdcss2 que permite un buen funcionamiento a la hora de lectura DVD-Video. También es muy recomendable instalar los restricted: sudo apt-get install ubuntu-restricted-extras Y listo ya pueden ver los rmvb con precast en el reproductor que sea, no solo en RealPlaye !!NO ME CREEN¡¡¡ PUES MIREN ESTO: Quieren ver la imagen en su tamaño original, |-|-|-|-|-> ALTA ReSoLuCiOn <-|-|-|-|-| Alli lo encontraran en totem, Mplayer y gnome player Recomiendo Mucho el uso de GnomeMplayer: sudo apt-get install gnome-mplayer PD: Resultados garantizados en un 92% dependiendo de muchas cosas Espero les sirva de algo ***DEJA UN COMENTARIO***

251
100
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.