Mostrando las entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta linux. Mostrar todas las entradas

gnome-terminal y el título de los tabs

Si han jugado un poquito con gnome-terminal sabrán que hay una opción para ponerle título a la terminal y a los tabs y si han jugado en varias distros se darán cuenta que no siempre muestra estos títulos, esto es porque algunas veces nuestro archivo .bashrc se encarga de resetear estos títulos cada vez que abrimos la terminal lo cual va en contra de nuestras instrucciones, desactivar esto es sencillo, solo hay que saber buscar, en mi caso en fedora 16 si entramos a .bashrc este nos va a dirigir a otro archivo que esta en /etc/bashrc, lo abrimos como super user y buscamos los else que estan dentro de cada case como sigue:

    xterm*)
      if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
          PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
      # COMENTADO POR MI
      #else
      #    PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
      fi
      ;;
    screen)
      if [ -e /etc/sysconfig/bash-prompt-screen ]; then
          PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
      # COMENTADO POR MI
      #else
      #    PROMPT_COMMAND='printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
      fi
      ;;

Guardamos y listo!! Ya podemos modificar el título. En cualquier distro debe ser similar, solo hay que buscar en que momento se modifica el PROMPT_COMMAND y cuando lo hace. Si se fijan los archivos ubicados en /etc/sysconfig/ no existen por lo tanto nunca entrará al if y bien pueden comentarse  pero desconozco su funcionamiento real por lo cual ante la duda es mejor no mover.

Beep!!

Me dio por buscar como hacer sonar el beep de la pc con la idea de agregarlo en un script de bash como una especie de alarma y esto fue lo que encontre:

En primera hay que ejecutar el modulo pcspkr de la sig. manera:

modprobe pcspkr

Si no lo tiene hay que instalarlo. Despues instalamos la aplicacion "beep" y lo ejecutamos  y voilá!!

Si instalas beep y no suena es porque no esta instalado el modulo pcspkr.

En algún foro venia que una vez instalado el modulo podías hacer sonar el bip con un "echo -ne '\a' " pero la verdad nunca me funciono, estaría interesante porque no dependeríamos del comando beep sin embargo el comando trae un monton de cosas curiosas que dudo se puedan hacer en un echo.

Ejemplo que viene en el manual de beep (man beep)

sudo beep -f 1000 -r 2 -n -r 5 -l 10 --new

Una vez que le entiendes puedes componer tus propias melodías, Me voy a ver algo friki pero investigue las frecuencias de las notas musicales y las encontre en esta página: http://latecladeescape.com/algoritmos/1129-frecuencia-de-las-notas-musicales e hice que sonara el beep del DO3 al DO4  en teoria podriamos alcanzar mas alla del SI8 porque el beep soporta frecuencias de hasta 19,999Hrz.

Le puse un timer de 500 milisegundos y un do final largo para que se apreciara la escala de do con cadencia =P

sudo beep -f 261.626 -l 500 -n -f 293.665 -l 500 -n -f 329.628 -l 500 -n -f 349.228 -l 500 -n -f 391.995 -l 500 -n -f 440 -l 500 -n -f 493.883 -l 500 -n -f 523.251 -l 1000

Luego colocare composiciones mas complejas ...

Actualización al 20 de noviembre del 2012:
Cuando reinician la maquina se desactiva el modulo pcspkr así que hay que buscar una forma de agregarlo al arranque, en fedora 16 al parecer tan solo hay que agregar un archivo conf en /etc/modprobe.d  para nuestra suerte en fedora ya debe haber un archivo beep.conf y solo hay que abrirlo y descomentar la linea que se indica.

Aquí encontre el método en CentOS (basado en red-hat): http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-kernel-modules-persistant.html

Bitacora de instalación Dell Inspiron N5110

1. Instalando ubuntu linux 11.04 de 64 bits
2. Usando este procedimiento se instalo virtualbox 4.1:

http://blogdecomputacion.com/blog/2011/05/04/como-instalar-virtualbox-en-ubuntu-11-04/

3. Intentando instalar windows 7 de 64 bits. Aparece un mensaje de error 0xc0000225 "error desconocido" para quitarlo simplemente hay que activar la opción "Habilitar IO APIC" en el menu de configuración de la placa base del virtualbox y voilá.

4. Intentando instalar google chrome, descargas el .deb de 64 bits de la página oficial y lo ejecutas como sudo con un #dpkg -i nombre-paquete.deb y me aparecen dos dependencias incumplidas, buscandolas con apt-cache search las localizo:

libnspr4-0d - Biblioteca del entorno de ejecución portátil de NetScape
libnss3-1d - Bibliotecas del servicio de seguridad de red

y con un apt-get -f install se instalan los 3 automaticamente.

5. Instalando ubuntu tweak
http://ubuntu-tweak.com/

6. SQL SERVER: Agregando Alias a sql server... hay dos apartados, uno para 64 bits y otro para 32 ... el de 64 no sirve para nada, agrega tus alias en el de 32.

7. Intentando poner los plugins de flash player ... es una monserga, ya llevo varios intentos fallidos cuando descubra como lo posteo... ya lo descubrí... al menos en ubuntu puedes instalar el plugin desde el centro de software, en la maquina virtual todavia no lo he logrado.

8. Para compartir una carpeta basta con instalar los VirtualBox Guest Aditions y agregar la carpeta a la lista de carpetas compartidas en el menu de Virtual Box.

9. Tambien tuve problemas para configurar mi monitor y la pantalla de la laptop ya que queria o expandir el escritorio o apagar la pantalla de la laptop y la configuración de monitores que tiene ubuntu por default no me lo permitia asi que buscando en el centro de software de ubuntu instale "multiple screens" que te da mas facilidad para las configuraciones.

De nuevo con postgres

Hace tanto que no usaba postgres que ya había olvidado ciertos detalles, los documentare aqui para futuras referencias, estamos usando un postgresql 8.4.5 sobre un ubuntu server 9.10, tambien tuve otras bronquillas interesantes con los accesos locales y remotos.

1. Despues de instalar nuestro postgres con apt-get nos disponemos a accesar con el ya tradicional:
$sudo su postgres

2. Una vez adentro accesamos directamente a pqsl
#psql

3. Digamos que quiero hacer una base de datos llamada pepito y que el usuario sea pepito_user con un password, primero crearemos el usuario, despues la db y al final nos salimos

CREATE USER pepito_user WITH PASSWORD 'n0m4nch35';
postgres=# CREATE DATABASE pepito WITH OWNER pepito_user;
postgres=# \q

4. Ahora accesamos como pepito_user
# psql -d pepito -U pepito_user --password

Aqui lo mas probable es psql te raye la mother, que no te permita accesar, esto es porque no está habilitado el acceso de este tipo para postgres, para hacer esto modificamos nuestro querido archivo pg_hba.conf, en cada maquina puede variar pero en la mia estaba en
/etc/postgresql/8.4/main/pg_hba.conf

Lo editamos como root, te encontrarás esta linea la cual vamos a borrar o comentar
local all all ident

y escribiremos la siguiente
local all all md5

Explicacion: el método de autenticación ident se refiere a que el usuario que se validará para el acceso sera el que esta en sesión y como mi usuario es postgres aunque escriba yo --password en psql le valdrá gorro, por lo cual preferimos md5 que nos permite mandar un user y password encriptado por seguridad en md5, esto también es útil para accesar remotamente ya que remotamente no siempre estas logueado como un usuario ident.

Una vez que guardemos los cambios debemos reiniciar el demonio de postgresql
# sudo /etc/init.d/postgresql stop
# sudo /etc/init.d/postgresql start
ó
# sudo /etc/init.d/postgresql restart

5. Ahora que ya estamos dentro ya podemos crear la estructura de nuestra db con CREATE table... cosa que no especificare aqui. Despues de eso nos vamos a otra maquina que tenga instalado un cliente psql e intentamos accesar remotamente:

# psql pepito -h pepito.com.mx -U pepito_user --password

pepito.com.mx puede ser la ip de tu server postgres también... sin embargo lo mas probable es que te rechace la petición... ¿que pasa? que nuestro archivo pg_hba.conf no esta configurado para recibir peticiones externas, por lo cual nos regresamos a nuestro server de postgresql y lo editamos de nuevo, ahora agregaremos la siguiente linea:

host all all 0.0.0.0 0.0.0.0 md5

Y reiniciamos postgres. Ahora ya podrán acceder remotamente y hacer las tablas que quieran a menos que suceda algo como lo del siguiente punto.

6. Mi server tiene 6 direcciones ip para una misma tarjeta por lo cual postgres no mostraba el abierto el puerto mas que en localhost y en la ip principal, para que postgres se escuche en todas las direcciones ip o incluso en las direcciones que tu elijas debemos modificar el archivo
sudo vi /etc/postgresql/8.4/main/postgresql.conf

Buscamos una linea que diga listen_addresses que esta comentada, ahi vienen las instrucciones para configurarla, yo lo único que hice fue escribir una nueva linea de la siguiente manera:

listen_addresses = '*'

reiniciando el servidor ya se podia ver el puerto 5432 de postgresql en todas las ip de forma remota... como supe esto? pues monitoreando los puertos con ayuda del comando "nmap" y con el comando "netstat -putan" con los cuales puedes escanear los puertos abiertos tanto de tu misma maquina como el de otras maquinas remotas, por ejemplo, al ejecutar nmap dentro de mi server podia ver el puerto 5432 abierto pero si ejecutaba nmap desde otra maquina hacia mi server no lo podia ver, por cierto, recomiendo ejecutar nmap de la siguiente manera, tarda un poco mas pero podemos ver mas puertos abiertos.

#nmap -p1-65535 pepito.com.mx

FIN

Gitweb

Ahora si, un facil y divertido gitweb para nuestros repositorios en git... en ubuntu karmic koala (9.10) instalarlo es tan sencillo como esto:

sudo apt-get install gitweb

1. Gitweb es un simple cgi escrito en perl (gitweb.cgi) la instalacion lo coloca en /usr/lib/cgi-bin, podemos moverlo si gustamos ... por lo pronto lo dejare ahi.

2. Las imagenes y css los coloca en /var/www/ este es el DocumentRoot de Apache2, asi que recomiendo copiarlas en otro lugar para configurar un VirtualHost digamos que las copiamos a /home/git.miweb.com/docs

3. Tambien genera un archivo de configuracion (gitweb.conf) en /etc/ en el cual podemos algunas variables de las cuales nos interesa por lo pronto modificar solamente una $projectroot en el cual colocaremos el directorio donde tenemos nuestros proyectos, lo mas probable es que dependiendo la version de gitweb deba cambiarse alguna otra en mi caso no fue asi.

4. Para publicar el cgi en web configure un VirtualHost de la siguiente manera:


<VirtualHost *:8081 >
ServerName git.miweb.com
ServerAdmin webmaster@localhost

DocumentRoot "/home/git.miweb.com/docs"
DirectoryIndex index.html
ErrorLog /home/git.miweb.com/logs/error_log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /home/git.miweb.com/logs/access_log combined
ServerSignature on

<Directory>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Alias /cgi-bin /usr/lib/cgi-bin
<Directory /usr/lib/cgi-bin >
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>


Esta configuracion incluye sus propios logs, configura la carpeta para accesar a imagenes,css, js desde raiz con el DocumentRoot y configura cgi-bin para ejecucion de cgis con perl. Si se fijan tambien configuramos DirectoryIndex como index.html, este es un archivo que contiene lo siguiente:


<html>
<head>
<meta equiv="Refresh" content="0; URL=/cgi-bin/">
</head>
<body><h1>Direccionando a gitweb</h1></body></html>


Y esto se comporta asi: cuando accesamos http://git.miweb.com:8081 abrira index.html el cual direccionara a http://git.miweb.com:8081/cgi-bin/ que a su vez direccionara a gitweb.cgi que si se fijan esta definido como DirectoryIndex de cgi-bin y Voilá!! Tenemos funcionando gitweb en nuestro VirtualHost.

Interface web para git

Hace poco instale git en el server ubuntu que tengo en el trabajo, entonces me dispuse a buscar algunas herramientas gráficas via web, encontre varios ejemplos en varias páginas los cuales listare ahora, sin embargo la herramienta que instale fue viewGit que fue la que se dejó instalar mas rapidamente.

  • En primera una liga a varias interfaces para git, no tan solo web sino de escritorio etc, además de que es parte de una muy interesante guía de uso para git: http://git.or.cz/gitwiki/InterfacesFrontendsAndTools#gitweb.28distributedwithGit.29
  • GitWeb. Hasta donde entendí es la interface default de git, aqui podemos ver una guía util de instalación para un servidor debian o equivalente: http://www.tovar.net.ve/nelo/Tecnologia/Linux/gitpublico/
    yo no lo instale porque mi version de ubuntu es tan vieja que los repositorios no la contienen, todavia estoy buscando la forma de instalarlo pero no he podido bajar el código, aqui una liga al fork xmms de gitweb para que vean un ejemplo de como funciona esta interface: http://git.xmms.se/
  • git-php. Primero baje la version de esta página: http://code.google.com/p/git-php/ Pero hasta donde tengo entendido el autor siguio con el desarrollo por aca: http://people.proekspert.ee/peeter/git/git.php?p=git-php.git
    tuve problemas para instalarlo en primera porque me pedia instalar enscript el cual por razones del misterio no se dejó [Los siguientes paquetes tienen dependencias incumplidas:
    enscript: Depende: libpaper1 pero no es instalable
    ] entonces en lugar de ponerme a investigar y perder mas tiempo decidí brincarme a buscar otra interface...
  • cgit. Una muy interesante interface que podemos visualizar y descargar desde aqui: http://hjemli.net/git/ El problema que tuve con esta interface en primero es que me pedía la version 1.5.3 de git y en mi maquina tengo la 1.5.2, pense que tal vez por eso no se ejecutaba correctamente el make, entonces baje una versión mas antigua que soportara la 1.5.2... sin embargo siguió causando problemas extraños (ahora me decia que no tenia permisos para acceder aun siendo root... ) tambien queda pendiente por falta de tiempo...me gusta mucho su interface y los datos que muestra, aparte de hacerlo rapidamente.
  • viewgit. http://viewgit.sourceforge.net/ La interface ganadora!! jaja, fue tan sencillo instalarlo, tan solo con copiar la descarga a una carpeta donde apache interprete php, configurando el archivo /docs/localconfig.php [no olviden leer el docs/README ] direccionandolo a nuestro proyecto y listo.
Me gustaria que se pudiera limitar con login el acceso a las interfaces pero a ver si me da tiempo de ver que monerias tienen, lo mas problable es que me quede con viewgit porque mi jefe se pone de genio si me tardo mas de un día "perdiendo el tiempo en otras cosas" ...

To Be Continued...

RAZONES POR LAS CUALES ES MEJOR EL SQL MANAGENENT STUDIO DE SQL SERVER 2005(SMSSQL) QUE EL ADMINISTRADOR CORPORATIVO DE SQL 2000(ACSQL)

PROS
1. Te puedes conectar a servidores sql 2005 con SMSSQL y en ACSQL no
2. La edición de procedimientos almacenados es tipo texto por lo que se facilita la substitución de variables en todo el procedimiento sin necesidad de copiar y pegar y otros malabares
3. El texto del editor es monoespacio. Nota: no se si el texto sea configurable tanto en SMSSQL como en ACSQL pero SMSSQL lo trae por default por lo tanto le doy el triunfo.
4. Aparte de que en general la programación T-SQL para SQL Server 2005 es mucho mejor que la de su antecesor sobre todo en el manejo de XML y paginación y como en ACSQL no puedes ni accesar pues ya perdió mas puntos.

CONTRAS
1. Los wizards de SMSSQL me han fallado generalmente y los de ACSQL no, como por ejemplo para una simple importación de datos desde excel o incluso de una tabla a otra.
2. Es algo pesado y necesita obviamente una buena cantidad de memoria para trabajar agusto.

SQL SERVER EN LINUX
En mi busqueda existencial por migrar mi trabajo a linux he buscado algún administrador de bases de datos desarrolado en java (por eso de la portabilidad) y son útiles hasta que llegas al punto de tener que trabajar con procedimientos almacenados, ni si quiera con el querido druid ha podido decodificarlos -puede ser problema del jdbc no de druid exactamente- y he llegado al grado de pensar seriamente en desarrollar mi propio IDE linuxero para sql server, sin embargo esto seria dar cierta ayuda microsoft, aunque tambien el objetivo es convencer a la gente -sobre todo de escritorios aqui cercanos- que el software libre es tan útil como el propietario, asi que por ese lado valdria la pena. En fin, rindiendome ante la supuesta portabilidad javosa me encontre una pequeña herramienta llamada sqsh que trabaja bajo la amada consola y con freetds. No me he metido mucho, pero si me he conectado ejecutado algunos selects y además de que si me trae el contenido de los stored procedures decodificado, acabo de imprimir el manual para leerlo y recomiendo hagais lo mismo. A veces lo mas sencillo es lo más útil.

Algunas páginillas:

http://infolab.stanford.edu/~ullman/fcdb/aut96/sy-intro.html <--introduccion a sqsh


http://misdocumentos.net/wiki/linux/odbc <--Acceso a sql desde ubuntu... buenisima pero lentisima

Framework Catalyst con mod_perl2 y apache2

Parte1. INSTALACIÓN

Lamento decepcionaros pero no incluiré por lo pronto esta parte ya que el encargado de instalarlo fue el administrador del servidor donde trabajo, pero pronto lo haré en mi computadora y prometo documentarlo aquí.

Parte 2. CREANDO LA APLICACION

Ejecutamos en la carpeta deseada /www/www.miserver.com/ el script catalyst.pl de la siguente manera:
$catalyst.pl MiAplicacion

lo cual nos generará todo el árbol de directorios y archivos necesarios para manejar nuestra aplicación. Algo similar a esto:

$ ls -R
.:
Changes Makefile.PL README evaluaciones.yml lib root script t

./lib:
Evaluaciones Evaluaciones.pm

./lib/Evaluaciones:
Controller Model View

./lib/Evaluaciones/Controller:
Root.pm

./lib/Evaluaciones/Model:

./lib/Evaluaciones/View:

./root:
favicon.ico static

./root/static:
images

./root/static/images:
btn_120x50_built.png btn_120x50_powered_shadow.png btn_88x31_powered.png
btn_120x50_built_shadow.png btn_88x31_built.png btn_88x31_powered_shadow.png
btn_120x50_powered.png btn_88x31_built_shadow.png catalyst_logo.png

./script:
evaluaciones_cgi.pl evaluaciones_create.pl evaluaciones_fastcgi.pl evaluaciones_server.pl evaluaciones_test.pl

./t:
01app.t 02pod.t 03podcoverage.t


Parte3. EDITANDO LOS ARCHIVOS DE CONFIGURACIÓN DE APACHE2.
Esto es para que apache conozca nuestra aplicación y podamos accesar via web.

Primero configuramos el servidor de la manera deseada y simplemente agregamos las siguietes lineas a nuestro archivo .conf que generalmente se encuentra en /etc/apache2/vhosts.d/:

PerlModule MiAplicacion
Alias /MiAplicacion /www/beta.dsiweb.uach.mx/MiAplicacion

SetHandler modperl
PerlResponseHandler MiAplicacion
PerlOptions +ParseHeaders +GlobalRequest
AuthName Manejador
AuthType Basic
PerlAuthenHandler Manejador::Autentica
ErrorDocument 403 /login.html
require valid-user

despues debemos agregar las librerias a nuestro archivo startup de mod_perl, el mio se encuentra en /etc/apache2/modules.d/

use lib(/www/www.miserver.com/MiAplicacion/lib);

reiniciamos el servidor web con un :
$sudo/etc/init.d/apache2 restart

con esto podremos acceder www.miserver.com/MiAplicacion y veremos la página de bienvenida de catalyst.

Parte 4: programando con catalyst.
Proximamente.

Xubuntu y Tomcat

Despues de un rato de sufrimiento, logre hacer jalar tomcat en el server. Ah, el server es un HP Net-server E50 con un fabuloso Pentium a 333mhz, 320MB de Ram y un disco duro de 4GB, por lo cual decidí ponerle xubuntu o en si se ponia muy lento el asunto poner la desaparecida distro ubuntu-lite que puedes rescatar de la red bittorrent.

De lo primero que instale fue la maquina virtual de java. En su ultima version 1.6 mediante apt-get.

Despues hay que configurar con un sudo update-alternatives --config X
donde X es: jar, javac, javadoc, javah, javap y javaws.
Direccionando cada uno a la carpeta de instalación de java de sun.

Despues instale el tomcat, pero causaba error al final de la instalacion mediante apt (es decir al intentar arrancar el servicio pero ya estaba instalado), asi que despues de buscar y recordar un poco, simplemente edite el archivo de configuracion /etc/default/tomcat5.5 y descomentando las lineas con los siguientes parámetros:
TOMCAT USER
JAVA_HOME
CATALINA_BASE
JSP_COMPILER

JAVA_HOME es direccionado a la maquina virtual que acabamos de intalar, es decir la localizada en /usr/lib/jvm/miversion-sun-java

Esto lo había hecho si mal no recuerdo en una instalación de tomcat en windows y funcionó, pero aqui no ocurrio asi, por lo que tuve que recurrir a la siguiente página para levantar el servicio de tomcat de forma manual: http://mundogeek.net/archivos/2006/04/03/apache-y-tomcat-en-linux/

[Nota, además de la variable CATALINA_HOME tuve que crear la de JAVA_HOME]
sin embargo me rechazaba la conexion al momento de ejecutar el startup.sh asi que recurri desinstalar tomcat con un apt-get remove porque supuse que podrían estar estorbandose aunque se suponía que no estaba corriendo el servicio, sin embargo asi era, el tomcat instalado con apt nunca pude hacerlo jalar y el copiado a mano en una carpeta funcionar con solo quitarle de la vista al otro. To be continued...

Receta de Cocina Postgresql.

Para esta receta utilizaremos un ubuntu feisty montado en una dell inspiron E1505:

1. Dadas estas caracteristicas bajaremos nuestro gestor de bases de datos postgresql mediante el maravilloso apt-get (o si prefieren usar Synaptics allá ustedes):
$sudo apt-get install postgresql-8.2

2. Una vez instalado nos disponemos a entrar con nuestro usuario postgres a nuestra sesion postgres:
$sudo su postgresql
Deberemos ver en nuestro shell como algo similar a esto:
postgres@micompu: /$

3. Ahora, podemos intentar entrar al administrador psql:
postgres@micompu: /$ psql

Esto nos dará acceso a todas las bases de datos como administrador, como ven, esto es poco seguro, además de que no podemos hacer muchas cosas, por eso vamos a colocar la contraseña para administrador y vamos a realizar un pequeño cambio a la configuración:

3a. Para cambiar la contraseña, ya estando dentro del editor psql escribimos las siguientes lineas

=# ALTER USER postgres
=# WITH PASSWORD '12345';

Si todo salio bien nos salimos con el comando \q
=#\q

4a. Luego un exit para volver a nuestro usuario. Entraremos a nuestro archivo de configuracion de conexiónes pg_hba.conf de nuestro postgresql.
$sudo vi /etc/postgresql/8.2/main/hba.conf

y cambiamos la linea
local all all ident sameuser
por
local all all password

y hasta donde tengo entendido esto permitira accesos desde cualquier lugar por medio de un password, de otra manera nadie podrá accesar aunque le asignes un password.

Ahora reiniciaremos nuestro servidor de bases de datos:
$sudo /etc/init.d/postgresql-8.2 restart

Ahora entraremos tal como lo hicimos hasta el paso 3.

4. Una vez en en psql, nos dispongremos a crear un usuario, de hecho hay dos maneras de hacerlo:

4a.la primera mediante el comando createuser pero no en psql sino como usuario general de postgres, asi que tendriamos que salir de psql para hacerlo. Te preguntara algunas cosas como si el usuario creado va a ser

4b. la segunda es ejecutando una sentencia SQL dentro de psql, la cual sería similar a esta:
=#CREATE USER nombre_del_usuario WITH PASSWORD 'supass';

5. Ahora crearemos una base de datos que pertenezca a ese Usuario
=#CREATE DATABASE mi_db WITH OWNER = "nombre_del_usuario";


6. Ahora podemos entrar desde usuario postgres
postgres@micompu: /$ psql -d mi_db -U nombre_de_usuario
y veremos algo similar a esto:
mi_db=>

Ahora podremos meter las sentencias SQL para crear tablas, etc, etc... pero esto no es lo importante, ya que podemos acceder incluso como administrador psql y realizar esto, lo que logramos aqui es utilizar el acceso a un usuario especial al cual podemos asignarle ciertos privilegios por seguridad.

7. Como plus, instalaremos mediante apt-get admin3.
$sudo apt-get install admin3

el cual se agregará a nuestro menú de aplicaciones y herramientas del sistema. Para poder acceder en conexión pondremos los siguientes parámetros(los cuales configuramos en los pasos anteriores):

Address: localhost
MaintenanceDB: postgres
Username: postgres
Port: 5432
SSL: --- lo dejamos en blanco ---
Password: 12345

Algunos otros comandos utiles como psql:
\? - ver ayuda
\q - salir
\dt - ver tus tablas(siempre y cuando hayas entrado como en el paso 6, incluso sin User)

... los que vayan saliendo