He visto a muchas personas (incluido yo xD) que aprendieron a programar exclusivamente en Windows, por lo que cuando desean compilar y ejecutar programas en C en Ubuntu, deben hacerlo mediante IDEs…

Bueno, he aquí la forma “clásica” de compilar programas en C en Ubuntu(*) mediante la línea de comandos:
gcc fuente.c -o ejecutable
Mientras que en Windows es:
gcc -o ejecutable.exe fuente.c

Y para ejecutarlos:
./ejecutable (en Ubuntu)
ejecutable.exe (en Windows)

Saludooos :P

P.D: (*) = Damos por hecho que ya se instaló build-essential, así:
sudo apt-get install build-essential

P.D: Si se puede hacer en Ubuntu, entonces también es válido para Debian y todas sus derivadas.


Luego de experimentar durante dos meses con X/K/Flux/Go/Ubuntu y declararlo como mi sistema operativo oficial, me gustaría recomendar algunas aplicaciones bastante útiles y fáciles de usar.

1.- K3B: Interfaz súper completa y cómoda para grabar CD’s y DVD’s.
2.- Kopete: Programa para la mensajería instantánea con multiprotocolo. Sirve para cuentas de MSN, Yahoo, Aim y muchas más. Además se pueden abrir varias sesiones al mismo tiempo.
3.- Ktorrent: Cliente torrent para descarga de archivos… simple y completo.
4.- Konversation: Cliente de IRC.
5.- Pidgin: Otra aplicación para mensajería instantánea con características similares a las de Kopete… aunque algunos lo encuentran más bonito…
6.- Amule: Programa para descarga de archivos P2P (homólogo al “eMule” de Windows).
7.- XMMS: Aplicación para escuchar música en varios formatos, entre ellos mp3 y ogg. Es el equivalente a “winamp”… de hecho, su interfaz es muy parecida.
(*)XMMS-openspc: Plugin para XMMS que permite escuchar música de formato “spc”, que es el formato de las canciones de los juegos de snes.
8.- xchm: Un muy útil programa para leer archivos con extensión “.chm”.
9.- Geany: Ide súper completo y fácil de utilizar. Soporta lenguajes como C, C++, Java, Javascript, etc… (Se recomienda instalar junto con build-essential).
10.- zsnes: Emulador de snes.
11.- Soundkonverter: Convierte archivos de sonido de un formato en otro, como: ogg en wav, etc…
12.- Aptoncd: Con este programa podrás respaldar los paquetes que has bajado (e instalado) para cuando reinstales tu SO. Muy útil para no perder tiempo descargando todo de nuevo de la internet.
13.- wine: Emulador del SO Windows (wine = “Wine Is Not an Emulator”). A través de él puedes instalar y utilizar programas hechos para Windows. Según mi experiencia, no es recomendable utilizar un emulador de nes o snes de windows sobre este emulador… es muy inestable.
14.- startupmanager: Aplicación para administrar todo lo relacionado con la inicialización del computador, como el GRUB, “splash screen”, el SO por defecto (si hay más de 1), las imágenes de fondo al iniciar, etc…
15.-soundJuicer: Extrae la música de tus CD’s a formato “.ogg” o “.wav”.
(*)gstreamer0.10-plugins-ugly-multiverse: Instálalo desde Synaptic para poder extraer la música de tus CD’s directamente al formato “mp3″… debes cambiar la opción en Sound Juicer a “mp3″. (Fuente)
16.- apache2: Aplicación ampliamente difundida a nivel mundial que hace que un PC sea un server http (El programa se llama “apache”… apache2 es la segunda versión).
(*)libapache2-mod-php5: Intérprete de PHP que se instala sobre apache2. Al instalarlo de esta manera, evitamos realizar algunas fastidiosas configuraciones.
17.- filezilla: Cliente FTP. Fácil de configurar y administrar.
18.- gftp: Cliente FTP similar a filezilla.
19.- vsftpd: Servidor FTP. Requiere ciertos conocimientos mínimos….
20.- kompozer: Editor HTML equivalente al dreamweaver de Windows.
21.- firestarter: Firewall súper intuitivo y fácil de manejar.
22.- amarok: Aplicación para escuchar música con muchísimas opciones para el usuario (crear “colecciones”, utilizar bases de datos, etc, etc, etc…).
23.- bum: Herramienta para habilitar/deshabilitar los servicios que se arrancan cuando se inicia Ubuntu (Fuente).
24.- azureus: Cliente torrent muy popular tanto en Windows como en Linux.
25.- kolourpaint: Programa equivalente al “Paint” de WIndows… útil y simple, a diferencia del complejo Gimp.

Todas estas aplicaciones pueden instalarse a través del comando:
sudo apt-get install <aplicacion>

Saludooos… :P

(Este post será editado periódicamente…)

Build-essential

12 - Mayo - 2008

En varios foros he encontrado a muchas personas (incluido yo… : ) que instalan Ubuntu y no pueden programar en C/C++, a pesar de haber instalado un ide. En la mayoría de estos casos, esto se debe a que no han instalado el meta-paquete “build-essential”.
¿Pero para qué sirve un metapaquete?
Un metapaquete no es mas que un “paquete de paquetes”, es un paquete que se encarga de instalar otros paquetes a los que hace referencia. En el caso de build-esential, éste tiene las instrucciones para instalar los paquetes esenciales para programar en C/C++ (y hacer otras cosas relacionadas con la creación de paquetes “.deb”).

Para instalarlo:
sudo apt-get install build-essential

También se puede instalar a través del gestor de paquetes Synaptic y además, build-essential está en los CDs de instalación de Ubuntu (en caso de no disponer de internet).
Si por alguna razón no fuera posible instalar build-essential, existe la alternativa de instalar los 5 paquetes a los que hace referencia individualmente. Estos son:
dpkg-dev
g++
gcc
libc6-dev
make

Saludooos :P

GeanyCada vez que se pregunta sobre un IDE de C/C++ para Ubuntu, siempre se recomiendan VIM o Emacs (que por cierto no son IDEs, sino editores… además, a mi juicio, son obsoletos y espantosos…xD ), pero especialmente se recomienda a Anjuta. Este ide, aunque es casi tan bueno como el que mencionaré a continuación, presenta algunos problemas en ciertas versiones y/o “sabores” de Ubuntu por razones que desconozco. El problema más común es que no permite “construir” un ejecutable, o sea, tenemos el código fuente, lo compilamos generando el archivo “.o”, pero finalmente no podemos generar el ejecutable, que es el que más nos interesa…

Una alternativa muy buena para los que tienen este problema es GEANY, pues además de soportar muchos lenguages como Python, HTML, PHP, Java, etc., es increiblemente simple, intuitivo y eficaz.
La interfaz de este ide es muy parecida a la de Anjuta y a la de DevCpp de Windows, pero además tiene una serie de complementos que lo convierten en una herramienta super cómoda para programar.

Todo lo que hay que hacer para conseguirlo es:

sudo apt-get install geany

…y en menos de 5 minutos está instalado y listo para usarse.
Que lo disfruten!

P.D: Es absolutamente necesario instalarlo junto con el metapaquete build-essential, de lo contrario, es posible que ni siquiera se pueda compilar.
Para hacerlo, basta con escribir:
sudo apt-get install build-essential