Mostrando postagens com marcador tcl/tk. Mostrar todas as postagens
Mostrando postagens com marcador tcl/tk. Mostrar todas as postagens

quarta-feira, 7 de julho de 2010

Instalando postgres 8.4 + tcl + tk no centos 5.5 x86_64

-------------------------------------------------------------------------------
Instalando postgres 8.4 + tcl + tk no centos 5.5 x86_64
-------------------------------------------------------------------------------
[Informações]

Maquina: VMWare esxi 4.0
Sistema: Centos 5.5 x86_64
Postgres: 8.4

-------------------------------------------------------------------------------
[Procedimento de instalação do postgres]

- instalando servidor postgres e bibliotecas:
yum install postgresql84-server postgresql84-libs postgresql84

- configurando inicio do postgres:
# su - postgres
# initdb -E utf-8 /var/lib/pgsql/data

- configurando permissões para nossas redes:
# vim /var/lib/pgsql/data/pg_hba.conf
...
host all all 172.20.6.0/23 md5
host all all 172.20.2.0/23 md5
host all all 172.20.10.0/23 md5
...

- habilitando serviço para escutar externamente:
# vim /var/lib/pgsql/data/postgresql.conf
...
listen_addresses = '*'
...

- iniciando serviço:
# /etc/init.d/postgresql restart

- forçando postgresql iniciar automaticamente durante o boot:
# chkconfig postgresql on

- criando usuario administrador:
# su - postgres
# createuser -P
Enter name of role to add: super
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y

-------------------------------------------------------------------------------
[Procedimento de instalação do tcl/tk]

- instalando tcl e tk:
# yum install tcl tk postgresql84-pltcl.x86_64


- ativando linguagem em um banco de dados:
# createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS

-------------------------------------------------------------------------------
[Possiveis erros]

- ao executar "createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS" o seguinte erro retorna:
createlang: language installation failed: ERROR: could not access file "$libdir/pltcl": No such file or directory
Esse erro pode ocorrer caso o pacote "postgresql84-pltcl.x86_64" não seja instalado.

-------------------------------------------------------------------------------

terça-feira, 2 de fevereiro de 2010

TCL TK + como ativar uma nova linguagem em um banco de dados postgres?

Recentemente precisei instalar a linguagem TCL TK no postgres ubuntu. Facilmente com o apt-get consegui baixar os pacotes:

# apt-get install tcl tk

Porém, para que o postgres reconheça os pacotes é necessário executar uma comando: createlang.
Quebrei a cabeça um pouquinho até descobrir que o comando deve ser executado pelo o usuário "postgres" do linux! Então ao logar no servidor postgres, provavelmente como "root", lembre-se de mudar para o usuário "postgres" para executar o comando de criação de linguagens, como ilustram os comandos abaixo:

# su postgres
$ createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS

sexta-feira, 29 de janeiro de 2010

Wish + Interpretador de comandos do linux para criação de janelas em interface gráfica

Um dia fiz um concurso e na prova caiu a pergunta: "Para que serve o comando wish?".
Chutei e acertei! Estou escrevendo esse artigo pois não acho muito pela Internet a explicação sobre esse comando, somente o man, que também não explica muito sobre sua funcionalidade.


[O que é o Wish]
Wish é um comando para criação de janelas para seus scripts feito em bash. Na verdade, o wish é um interpretador de comandos TCL/TK. Se quer saber como utilizar o wish, pesquise sobre TCL/TK, se pesquisar somente sobre o wish não encontrará muita coisa.


[TCL e TK]
TCL é uma linguagem de programação e o TK é um conjunto de funções gráficas para o TCL (criação de botões, labels, select, ...).


[Exemplo de aplicação]
Recentemente tive o seguinte problema: "rdesktop - Como utiliza-lo com interface gráfica?"
Utilizo muito o rdesktop para logar nos servidores Windows. O ruim é que esse é um programa de linha de comando, queria que ele fosse ativado com um clique em um ícone, mas como informar o endereço do servidor que quero logar? Se simplesmente fizer um script que chama o rdesktop não vai dar certo pois você precisa do parâmetro 1 que é o nome do servidor:
===
Script 1 - rdesktop em linha de comando
===
#!/bin/bash
rdesktop ${1}


Eis que surge o wish. Ao executar o script abaixo, uma janela com um input text aparecerá, informe o nome do servidor que queira logar que o rdesktop entrará em ação:
===
Script 2 - rdesktop com interface gráfica
===
#!/usr/bin/wish
#titulo da janela
wm title . "RDW - Nome do servidor"
#tamanho da janela
#larguraXaltura+x+y
#100000 faz ficar colado em baixo
wm geometry . 300x50+200+10000
#criando input text, nomeando variavel inputText e focando cursor do teclado nele
grid [entry .inputText -textvar inputText -just left] -ipadx 50 -rowspan 100
focus .inputText
#associando teclas ao input text e respectivas acoes
bind .inputText RDesktop
bind .inputText Sair

#########
# Funcoes
#########
proc RDesktop {} {
exec rdesktop -u usuario -d dominio -g 90% $::inputText &
exit
}

proc Sair {} {
exit 0
}


[Download]
Baixe o "Script 2 - rdesktop com interface gráfica" clicando em rdw-publico.sh.