jueves, 21 de agosto de 2014

Kingsoft Office una alternativa a Microsoft Office

Kingsoft Office (KSO o KSOffice), o en China WPS Office, es una suite ofimática para Microsoft WindowsLinux y Android OS. Desarrollada por el desarrollador de software Kingsoft en ZhuhaiChina. Los componentes incluyen: Kingsoft Writer, Kingsoft Presentation y Kingsoft Spreadsheet.
La versión básica es libre para el uso, pero también está disponible una versión Pro con todas las características. La versión actual es KSOffice 2013.
El producto ha tenido una larga historia de desarrollo y éxito en China bajo el nombre de "WPS Office", y bajo la marca "KSOffice" intenta difundirse en los mercados occidentales y japoneses. A partir de la versión Kingsoft Office 2005, la interface de usuario es similar a la de los productos de Microsoft Office, y con esta suite se pueden abrir y trabajar los archivos generados por los productos de Microsoft, además de sus propios formatos nativos.
Más información aquí.



Hasta el momento lo he estado usando, y a mi criterio es muy bueno, no solo me evita iniciar sesión en windows para usar la paqueteria de office, sino que también agiliza el tiempo de edición de archivos que sean compatibles. además, en caso de necesitar archivos en formato PDF prefiero usar libreoffice.
La instalación es sencilla:
Primero es necesario descargar el paquete oficial compatible para nuestra distro linux.
las descargas las pueden realizar aquí:
dependiendo del tipo de paquete que hayan descargado, así será la instalación.
En caso de usar un paquete rpm para fedora:
sudo rpm -ivh wps-office-9.1.0.4751-1.a15.i686.rpm
En caso de usar un paquete deb para debian:
sudo dpkwps-office_9.1.0.4751~a15_i386.deb
Y eso es todo. No es necesario configurar nadamás.

Instalación y uso de ClamAV

Introducción.
Acerca de ClamAV.

  • ClamAV es un conjunto de herramientas antivirus, libre y de código fuente abierto, que tiene las siguiente características:
  • Distribuido bajo los términos de la Licencia Publica General GNU versión 2.
  • Cumple con las especificaciones de familia de estándares POSIX (Portable Operating System Interface for UNIX o interfaz portable de sistema operativo para Unix).
  • Exploración rápida.
  • Detecta más de 720 mil virus, gusanos, troyanos y otros programas maliciosos.
  • Capacidad para examinar contenido de archivos ZIP, RAR, Tar, Gzip, Bzip2, MS OLE2, MS Cabinet, MS CHM y MS SZDD.
  • Soporte para explorar archivos comprimidos con UPX, FSG y Petite.
  • Avanzada herramienta de actualización con soporte para firmas digitales y consultas basadas sobre DNS.
URL: http://www.clamav.net/


Equipamiento lógico necesario.
Creación del usuario para ClamAV.

De modo predeterminado, en los paquetes RPM basados sobre los disponibles para Fedora™, el usuario para ClamAV se asigna a través de los mandatos fedora-groupadd y fedora-useradd el UID y GID 4 en el sistema. A fin de prevenir un conflicto de UID/GID con otros usuarios y grupos de sistema, se recomienda crear previamente al grupo y usuario correspondientes para ClamAV.
Primero genere el grupo clamav:
groupadd -r clamav
Luego genere el usuario clamav:
useradd -r -s /sbin/nologin  -M -d /var/lib/clamav  -c 'Clamav Antivirus' -g clamav clamav 
Instalación a través de yum.

Si utiliza CentOS o Red Hat™ Enterprise Linux, puede utilizar el el almacén YUM de Alcance Libre para servidores en producción, descargando el archivo http://www.alcancelibre.org/al/server/AL-Server.repo dentro del directorio/etc/yum.repos.d/:
wget -N http://www.alcancelibre.org/al/server/AL-Server.repo -O /etc/yum.repos.d/AL-Server.repo
Examine el contenido del archivo /etc/yum.repos.d/AL-Server.repo:
vi /etc/yum.repos.d/AL-Server.repo

El contenido debe ser el siguiente:
[AL-Server] name=AL Server para Enterprise Linux $releasever mirrorlist=http://www.alcancelibre.org/al/el$releasever/al-server gpgcheck=1 gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY
Salga del editor de texto y ejecute lo siguiente para instalar lo necesario:
yum -y install clamav clamav-update
Procedimientos.
SELinux y ClamAV.
ALDOS, CentOS 6 y Red Hat™ Enterprise Linux 6 y versiones posteriores de éstos.

Se requiere habilitar dos políticas para permitir un funcionamiento normal. Ejecute lo siguiente:
setsebool -P antivirus_use_jit 1
setsebool -P antivirus_can_scan_system 1
La política antivirus_use_jit permite a ClamAV utilizar el compilador JIT basado sobre LLVM (Low Level Virtual Machine), el cual es utilizado para extender las capacidades de detección de virus al compilar Bytecode.

La política antivirus_can_scan_system permite a ClamAV poder realizar la verificación todo lo que se encuentre en el sistema de archivos.
CentOS 5 y Red Hat™ Enterprise Linux 5.

Para que SELinux permita al mandato clamscan funcionar normalmente para verificar archivos, ejecute lo siguiente:
setsebool -P clamscan_disable_trans 1
Para que SELinux permita al mandato freshclam funcionar normalmente para actualizar la base de datos de firmas digitales, ejecute lo siguiente:
setsebool -P freshclam_disable_trans 1
Configuración de Freshclam.
Freshclam es el programa utilizado para descargar y mantener actualizada la base de datos de virus y otros programas malignos.
El archivo /etc/freshclam.conf de los paquetes distribuidos por Alcance Libre ya incluye las modificaciones necesarias para permitir el funcionamiento del mandato freshclam. Sin embargo, si se utilizan paquetes para Fedora, es necesario editar este archivo y comentar o eliminar la línea 9, que incluye simplemente la palabra inglesa Example y que de otro mod impediría utilizar el mandato freshclam:
## ## Example config file for freshclam ## Please read the freshclam.conf(5) manual before editing this file.
## # Comment or remove the line below.
# Example
El archivo /etc/sysconfig/freshclam de los paquetes distribuidos por Alcance Libre ya incluye las modificaciones necesarias para permitir la actualización automática de la base de datos de ClamAV. Si se utilizan paquetes de Fedora y a fin de mantener actualizada la base de datos de firmas digitales, es necesario editar el archivo /etc/sysconfig/freshclam con el objeto de permitir las actualizaciones automáticas:
### !!!!! REMOVE ME !!!!!! ### REMOVE ME: By default, the freshclam update is disabled to avoid ### REMOVE ME: network access without prior activation # FRESHCLAM_DELAY=disabled-warn # REMOVE ME
Como root puede actualizar inmediatamente la base de datos de firmas ejecutando freshclam sin argumentos:
freshclam
El paquete de clamav-update distribuido por Alcance Libre y el proyecto Fedora™ incluye un guión de actualización automática de la base de datos de ClamAV y que consiste en el archivo /etc/cron.d/clamav-update, el cual se ejecuta cada tres horas a través del servicio crond.


Uso básico de clamscan.
Antes de realizar los ejemplos, cambie a un usuario regular. Ejemplo:
su -l fulano
Se asume un escenario donde existe el directorio ~/Descargas y que éste tiene algunos archivos para experimentar. Genere el directorio ~/Descargas ejecutando lo siguiente:
mkdir -p ~/Descargas/
Descargue el archivo de pruebas test2.zip —totalmente inofensivo— ejecutando lo siguiente:
wget http://www.alcancelibre.org/linux/secrets/test2.zip  -P ~/Descargas/
Para revisar un archivo sospechoso de estar infectado, ejecute clamscan con la ruta del archivo como argumento. Ejemplo:
clamscan ~/Descargas/test2.zip
La salida puede ser similar a la siguiente:
/home/fulano/Descargas/test2.zip: ClamAV-Test-Signature FOUND ----------- SCAN SUMMARY ----------- Known viruses: 3019169 Engine version: 0.97.8 Scanned directories: 0 Scanned files: 1 Infected files: 1 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 6.438 sec (0 m 6 s)
Para realizar al revisión de un directorio y todo su contenido, ejecute clamscan con la opción -r. Ejemplo:
clamscan -r ~/Descargas
La salida puede ser similar a la siguiente:
/home/fulano/Descargas/Pantallazo-2.png: OK /home/fulano/Descargas/es1.pdf: OK /home/fulano/Descargas/Pantallazo.png: OK /home/fulano/Descargas/Pantallazo-3.png: OK /home/fulano/Descargas/Pantallazo-1.png: OK /home/fulano/Descargas/es_mx.zip: OK /home/fulano/Descargas/aletras.oxt: OK /home/fulano/Descargas/test2.zip: ClamAV-Test-Signature FOUND /home/fulano/Descargas/amonedamx.oxt: OK ----------- SCAN SUMMARY ----------- Known viruses: 3019169 Engine version: 0.97.8 Scanned directories: 1 Scanned files: 9 Infected files: 1 Data scanned: 127.01 MB Data read: 190.76 MB (ratio 0.67:1) Time: 40.026 sec (0 m 40 s)
Genere un directorio que será utilizado como cuarentena:
mkdir -p ~/.clamav/viruses
Para especificar que los archivos infectados sean movidos a un directorio de cuarentena, ejecute clamscan con la opción --move especificando un directorio que servirá como cuarentena.
clamscan --move=/home/fulano/.clamav/viruses    -r ~/Descargas
La salida puede ser similar a la siguiente:
/home/fulano/Descargas/Pantallazo-2.png: OK /home/fulano/Descargas/es1.pdf: OK /home/fulano/Descargas/Pantallazo.png: OK /home/fulano/Descargas/Pantallazo-3.png: OK /home/fulano/Descargas/Pantallazo-1.png: OK /home/fulano/Descargas/es_mx.zip: OK /home/fulano/Descargas/aletras.oxt: OK /home/fulano/Descargas/test2.zip: ClamAV-Test-Signature FOUND /home/fulano/Descargas/test2.zip: moved to '/home/jbarrios/.clamav/viruses/test2.zip' /home/fulano/Descargas/amonedamx.oxt: OK ----------- SCAN SUMMARY ----------- Known viruses: 3019169 Engine version: 0.97.8 Scanned directories: 1 Scanned files: 9 Infected files: 1 Data scanned: 127.01 MB Data read: 190.76 MB (ratio 0.67:1) Time: 40.026 sec (0 m 40 s)
Descargue nuevamente el archivo de pruebas test2.zip ejecutando lo siguiente:
wget http://www.alcancelibre.org/linux/secrets/test2.zip    ~/Descargas
Para especificar que los archivos infectados sean eliminados, ejecute de nuevo clamscan pero la opción --remove con el valoryes y la opción -r con la ruta del directorio a examinar como argumento. Cabe señalar que esta opción debe ser utilizada con precaución. Ejemplo:
clamscan --remove=yes    -r ~/Descargas
La salida puede ser similar a la siguiente:
/home/fulano/Descargas/Pantallazo-2.png: OK /home/fulano/Descargas/es1.pdf: OK /home/fulano/Descargas/Pantallazo.png: OK /home/fulano/Descargas/Pantallazo-3.png: OK /home/fulano/Descargas/Pantallazo-1.png: OK /home/fulano/Descargas/es_mx.zip: OK /home/fulano/Descargas/aletras.oxt: OK /home/fulano/Descargas/test2.zip: ClamAV-Test-Signature FOUND /home/fulano/Descargas/test2.zip: Removed. /home/fulano/Descargas/amonedamx.oxt: OK ----------- SCAN SUMMARY ----------- Known viruses: 3019169 Engine version: 0.97.8 Scanned directories: 1 Scanned files: 9 Infected files: 1 Data scanned: 127.01 MB Data read: 190.76 MB (ratio 0.67:1) Time: 40.026 sec (0 m 40 s)
Descargue nuevamente el archivo de pruebas test2.zip ejecutando lo siguiente:
wget http://www.alcancelibre.org/linux/secrets/test2.zip    ~/Descargas
Si se desea que clamscan haga la revisión de un directorio pero que sólo se muestre la información de los archivos infectados, ejecute clamscan con la opción --infected.
clamscan --infected    -r ~/Descargas
La salida puede ser similar a la siguiente:
/home/fulano/Descargas/test2.zip: ClamAV-Test-Signature FOUND ----------- SCAN SUMMARY ----------- Known viruses: 3019169 Engine version: 0.97.8 Scanned directories: 1 Scanned files: 9 Infected files: 1 Data scanned: 127.01 MB Data read: 190.76 MB (ratio 0.67:1) Time: 40.026 sec (0 m 40 s)
Para que clamscan guarde la información de su actividad en un archivo de bitácora en lugar de mostrar ésta en la salida estándar, utilice la opción --log especificando como argumento la ruta de un archivo para almacenar la bitácora de actividad. Ejemplo:
clamscan --log=/home/usuario/clamscan.log    --infected  --remove=yes -r ~/Descargas

miércoles, 20 de agosto de 2014

Descargar una página web con wget

Wikipedia  explica en que consiste esta herramienta de la siguiente manera.

GNU Wget es una herramienta de software libre que permite la descarga de contenidos desde servidores web de una forma simple. Su nombre deriva de World Wide Web (w), y de «obtener» (en inglés get), esto quiere decir: obtener desde la WWW.
Actualmente soporta descargas mediante los protocolos HTTPHTTPS y FTP.
Entre las características más destacadas que ofrece wget está la posibilidad de fácil descarga de mirrors (espejos) complejos de forma recursiva, conversión de enlaces para la visualización de contenidos HTML localmente, soporte para proxies

Veamos un par de ejemplo, comencemos con el uso sencillo de la herramienta.
Para bajar una página:
$ wget http://mignome.blogspot.mx

Para bajar el sitio completo de forma recursiva, incluyendo imágenes y otros tipos de datos:
$ wget -r http://mignome.blogspot.mx/
Muchos sitios verifican la identidad del navegador para aplicar diversas restricciones. Con Wget podemos burlar esto de la siguiente forma:
wget  -r -p -U Mozilla http://mignome.blogspot.mx/
O también podemos hacer pausa entre cada página, ya que de lo contrario el dueño del sitio puede darse cuenta que e estamos bajando el sitio completamente con Wget.
wget --wait=20 --limit-rate=20K -r -p -U Mozilla http://mignome.blogspot.mx/

martes, 12 de agosto de 2014

Reproducir sonidos en java, usando player y de forma más simples.

La siguiente clase contiene los métodos necesarios para reproducir una archivo de sonido. La facilidad de ésta clase es que sólo es necesario, crear un objeto de la clase e invocar el método que se necesite, igual y pueden modificar dicha clase a sus necesidades.
Es necesario mencionar que necesitan los jar de player, javazoom.jl.player. Las agregan a su paquete y las pueden comenzar a usar.

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;

public class Sonido {

    private static File file;
    private static String ruta;
    public static boolean terminochoque = true;
    public static boolean terminocaida = true;

    public void saltar() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/saltar.mp3");
                    }catch (FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/saltar.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    System.out.println(" error " + e);
                }

            }
        };
        hilo.start();
    }

    public void caida() {
        if (terminocaida){
            terminocaida = false;
            file = new File(".");
            ruta = file.getAbsolutePath();
            Thread hilo = new Thread() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(500);
                        FileInputStream fis;
                        Player player;
                        try{
                            fis = new FileInputStream(ruta + "/src/sounds/caida.mp3");
                        }catch (FileNotFoundException e){
                            fis = new FileInputStream(ruta + "/complementos/caida.mp3");
                        }
                        BufferedInputStream bis = new BufferedInputStream(fis);
                        player = new Player(bis);
                        player.play();
                        stop();
                    } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    }
                }
            };
            hilo.start();
        }
    }

    public void choque() {
        if (terminochoque){
            terminochoque = false;
            file = new File(".");
            ruta = file.getAbsolutePath();
            Thread hilo = new Thread() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(1);
                        FileInputStream fis;
                        Player player;
                        try{
                            fis = new FileInputStream(ruta + "/src/sounds/choque.mp3");
                        }catch(FileNotFoundException e){
                            fis = new FileInputStream(ruta + "/complementos/choque.mp3");
                        }
                        BufferedInputStream bis = new BufferedInputStream(fis);
                        player = new Player(bis);
                        player.play();
                        stop();
                    } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    }
                }
            };
            hilo.start();
        }
    }

    public void puntos() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/puntos.mp3");
                    } catch(FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/puntos.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                }
            }
        };
        hilo.start();
    }

    public void chocar() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/choque.mp3");
                    }catch (FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/choque.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    System.out.println(" error " + e);
                }

            }
        };
        hilo.start();
    }
    
    public void jueves() {
        file = new File(".");
        ruta = file.getAbsolutePath();
        Thread hilo = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1);
                    FileInputStream fis;
                    Player player;
                    try{
                        fis = new FileInputStream(ruta + "/src/sounds/AJWS.mp3");
                    }catch (FileNotFoundException e){
                        fis = new FileInputStream(ruta + "/complementos/AJWS.mp3");
                    }
                    BufferedInputStream bis = new BufferedInputStream(fis);
                    player = new Player(bis);
                    player.play();
                    stop();
                } catch (InterruptedException | JavaLayerException | FileNotFoundException e) {
                    System.out.println(" error " + e);
                }

            }
        };
        hilo.start();
    }
}

Pueden descargar el proyecto desde aquí.
Eso es todo, gracias por visitar el blog.

Matrices dinámicas en C

No explicaré qué se hace en cada paso, sólo le mostrare el código que tengo, y ustedes se encargarán de analizarlo y modificarlo a su conveniencias. Bueno el código es el siguiente.

#include <stdio.h>
#include <stdlib.h>

void llenarMatriz(int ** mat, int filas, int columnas);
void imprimirMatriz(int ** mat, int filas, int columnas);
void crearMatrizDinamica(int ** mat, int filas, int columnas);
void liberarMemoria(int ** array, int nrows);

int main(void){
 int nrows,ncols;
 int** array;
 // Define the size of the array at run time
 printf("Ingrese el numero de filas y colunmas: ");
 scanf("%d %d",&nrows,&ncols);
 
 array=(int**)malloc(nrows*sizeof(int*));
 
 crearMatrizDinamica(array,nrows,ncols);
 llenarMatriz(array,nrows,ncols);
 imprimirMatriz(array,nrows,ncols);
 liberarMemoria(array,nrows);
 return 0;
}

void liberarMemoria(int ** array, int nrows){
 int i;
 for (i=0; i<nrows; i++){
  free((void*)array[i]);
 }
 free((void*)array);
}

void crearMatrizDinamica(int ** mat, int filas, int columnas){
 int i;
 for (i=0; i<filas; i++)
  mat[i]=(int*)malloc(columnas*sizeof(int));
}
void llenarMatriz(int ** mat, int filas, int columnas){
 int i,j;
 for(i=0;i<filas;i++){
  for(j=0;j<columnas;j++){
   mat[i][j]=i+1+j;
  }
 }
}

void imprimirMatriz(int ** mat, int filas, int columnas){
 int i,j;
 for(i=0;i<filas;i++){
  for(j=0;j<columnas;j++){
   printf("-%d-",mat[i][j]);
  }
  printf("\n");
 }
}

lunes, 11 de agosto de 2014

Instalar PostgreSQL y pgAdmin III en fedora

PostgreSQL es el motor de bases de datos más usado del mundo del software libre y cuenta con una gran trayectoria en el mercado empresarial por su robustez y fiabilidad. Por otra parte, PGAdmin III es una interfaz gráfica para administrar PostgreSQL que si bien no es tan avanzada como algunos administradores quisieran, sin duda es una excelente opción para operar Postgres fuera de la consola de la comandos.

Para instalar PostgreSQL y PGAdmin III en Fedora:
Ejecutar el siguiente comando
$ su -c 'yum -y install postgresql-server pgadmin3'
Una vez instalado, cambiamos la contraseña del usuario postgres:
Ejecutar el siguiente comando
$ su -c 'passwd postgres'
Inicializar la base de datos:
Ejecutar el siguiente comando
$ su -c 'service postgresql initdb'
Y procedemos a editar la configuración de PostgreSQL:
Ejecutar el siguiente comando
$ su -c 'gedit  /var/lib/pgsql/data/postgresql.conf'
En el archivo de configuración busque edite la línea:
#listen_addresses = 'localhost'
Reemplazarlo por:
listen_addresses = '*'

Y la línea:
#port = 5432
Reemplazarlo por:
port = 5432

Guardar y cerrar el editor de texto. Con éstos cambios, configuramos PostgreSQL server para "escuchar" las conexiones desde cualquier dirección por el puerto 5432.
Ahora procedemos a editar la configuración de autenticación editando el archivo pg_hba.conf:
Ejecutar el siguiente comando
$ su -c 'gedit  /var/lib/pgsql/data/pg_hba.conf'
Buscamos la línea:
host all all 127.0.0.1/32 ident

Y reemplazar por:
host all all 127.0.0.1/32 md5

Con éste cambio le decimos a PostgreSQL que las conexiones desde el mismo servidor (localhost) deben autenticarse por md5.
Nota: Si desea conectarse desde otro equipo o red remota añada una línea similar con la dirección IP del equipo o red desde el que se conectará. Incluso puede aceptar conexiones desde cualquier lugar con la dirección 0.0.0.0. Consulte http://www.postgresql.org/docs/8.4/static/auth-pg-hba-conf.html para obtener más información del archivo pg_hba.conf.

Guardar el archivo y cerrar el editor de texto. Una vez hecho ésto agregamos PostgreSQL como servicio al arranque para que sea inicializado cada vez que se enciende el equipo:
Ejecutar el siguiente comando
$ su -c 'chkconfig postgresql on'
habilitar que inicie postgresql al iniciar el sistema, para evitar ejecutar la linea que sigue cada vez que se requiera utilizar
Ejecutar el siguiente comando
/*la instrucción que sigue es para que el servidor arranque cuando inicia el sistema operativo*/ 
$ sudo systemctl enable postgresql  
/*la instrucción que sigue es para iniciar el servidor de postgresql*/
$ sudo systemctl start postgresql 
/*esta linea de comandos la ejecutan en caso de que la de arriba no funcione*/ 
$ su -c '/etc/init.d/postgresql start'
Ahora podemos proceder a cambiar la contraseña propiamente del usuario PostgreSQL en la base de datos (Nos pedirá la constraseña del usuario Postgres de Unix).
Ejecutar el siguiente comando
$ su postgres
contraseña: 
Una vez como usuario Postgres ejecutamos: (Una instrucción por línea):
Ejecutar el siguiente comando
psql
ALTER USER postgres WITH PASSWORD 'mypasswd';
Si la instrucción se ejecutó con éxito debe mostrar:
ALTER ROLE
Nota: Reemplaza mypasswd por su contraseña.
El cambio está hecho. Para salir (Una instrucción por línea):
\q
exit
Conectarse a la Base de datos desde PGAdmin III

Para abrir PGAdmin III vaya al menú Aplicaciones => Programación => pgAdmin III verá la pantalla principal de pgAdmin:

Para conectarse a la base de datos, haga clic sobre la "toma de corriente" o "enchufe" en la parte superior, o en el menú Archivo => Add Server.
Verá el cuadro de diálogo de configuración del servidor:
La información a ingresar será:

Nombre: BD
Host: 127.0.0.1
Port: 5432
Maintenance DB: postgres
Username: postgres
Password: sucontraseña

Y eso sería todo. Gracias por leer.
Fuente:
https://fedoraproject.org/wiki/PostgreSQL
http://www.piensaenbinario.com/2010/01/instalar-postgresql-server-pgadmin-iii.html