16 de julho de 2007

Computador meuComputador = (Computador) Caça-níquel

Vi esta notícia no portal de Notícias G1 e achei uma ótima iniciativa.
Os contraventores pegam tecnologia e transforma em uma maneira ilícita de ganhar dinheiro. As autoridades apreendem e geralmente destroem estes equipamentos (o mesmo valendo para drogas, cds pirtas, armas, etc...). Mas no caso de computadores a idéia de reaproveitá-los realmente é muito boa, sem contar que quem ira fazer o "cast" dos caça-níqueis em computadores são alunos do CETEP (Centro de Educação Tecnológica e Profissionalizante), ou seja, a comunidade ganha duas vezes: computadores e conhecimento.

Vale lembrar que estes computadores viram com Linux instalado (pare boa) e que terão o formato das máquinas caça-níqueis (parte "estranha" hehehe).

Na reportagem informa que foram gastos R$ 60,00 para a conversão (provavelmente comprando mouse, teclado e algum outro periférico baratinho).

2 de julho de 2007

Compiz Fusion

Para quem ainda não sabe, as iniciativas Compiz e Beryl (um fork do Compiz) se juntaram no Compiz Fusion, oferecendo fantásticos efeitos 3D para o desktop.

A nova iniciativa ainda tem alguns bugs, mas já é utilizável.

No Ubuntu 7.10, segundo o anunciado, o Compiz Fusion virá instalado por default.

FreeBSD 6.2 Review

Conforme falei em um post anterior, eu faria o review do FreeBSD 6.2. Infelizmente o disco de boot do FreeBSD não reconheceu minha placa-mãe (Asus M2N Sli Deluxe), não sendo possível nem mesmo ver a interface de instalação do sistema.

Lamentável... E minha placa nem é das mais novas. Depois ainda querem se comparar ao Linux...

24 de abril de 2007

Palestras sobre JSF

Nas duas ultimas semanas tive a oportunidade de apresentar duas palestras sobre Javaserver Faces.
A primeira foi realizada e parceria com um amigo (é nois Bruno) que falou sobre Netbeans e eu falei sobre JSF. Durante a palestra fiz um pequeno demo utilizando o Exadel, um plugin para o Eclipse que recentemente passou para o controle do Jboss/Red Hat e vai se chamar RedHat Developer Studio.
Aqui vocês vão poder baixar o PDF da apresentação, esquero que gostem ;-)

E na semana passada o Jug-Petropolis, do qual sou um dos coordenadores, em parceria com o Laboratório Nacional de Computação Cientifica, Projeto Tecnopolis, Funpat e CDG realizou em Petropolis o Sun Tech Days, transmitindo as palestras do Sun Tech Days que ocorria em São Paulo e tambem com alguns palestrantes locais, e pra variar eu não podia ficar de fora :P. Neste dia falei tambem sobre JSF mas com foco no ambiente de desenvolvimento Netbeans Visual Web Pack.
Aqui você pode baixar o PDF da apresentação.

Estou preparando alguns tutoriais pra postar no http://cafebatizado.googlepages.com assim que eles estiverem prontos vou postando aqui.

9 de abril de 2007

Palestra sobre Netbeans e Javaserver Faces

No dia 11 de abril a partir das 19 horas no Laboratório Nacional de Computação Científica, LNCC, serão realizadas duas palestras envolvendo a tecnologia java promovidas pelo Jug-Petrópolis:


Netbeans
* O que é o Netbeans
o Explicar sobre tecnologias suportadas na IDE
o Gratuito e código aberto

* Matisse GUI Builder
o O que você precisa saber para usar swing
o As dificuldades de layout usando swing
o O que o Matisse faz para você
o Demo

* Developer Collaboration
o Desenvolvimento de aplicações em ambiente colaborativo
o Chat
o Edição de arquivos de ambas as partes
o Demo

* Iniciativa Acadêmica SUN (SAI)
o Treinamento gratuito via web
o Como se inscrever
o Certificações SUN
o Exames práticos gratuitos, e taxas de inscrição para a certificação com descontos

Será ministrada por Bruno Bastor atualmente cursando o curso de Sistemas de Informação da UNESA, Certificação SCJP 1.5. A 2 anos atuando na área de desenvolvimento java SE, EE e ME, com foco maior em java SE. Trabalhando no projeto MoGrid (LNCC) e como Campus Ambassadro da empresa Sun Microsystems.

Javaserver Faces
* Modelos de desenvolvimento web Java
o Arquitetura Model 1
o Arqutetura Model 2
o JSR 127 - Javaserver Faces

* Expecificação X Produto

* Implementações da JSF
o RI - Reference Implementation
o Myfaces
o Smile
o Keel

* Principais características da JSF
o Compoentes
o Java Beans
o Conversão e Validação
o Pontos de extensão

* Guia para criação de uma aplicação JSF
o Exemplo de uma pequena aplicação JSF

* Componentes desenvolvidos por terceiros
o Myfaces
o RichFaces
o IceFaces

* Ajax e JSF
o IceFaces
o DynamicFaces
o Ajax4Faces

* Templates
o Tiles
o Facelets

* IDEs
o Netbeans
- Web Pack – Studio Creator
o Eclipse
- Webtools + jsftoos (a ser liberado em julho)
- Red Hat Developer Studio
o Rational Application Developer – WSAD
o JDeveloper

Será ministrada por Luis Henrique Muniz de Carvalho, membro do Jug-Petropolis, formado em Ciencias da Computação na UCP, Certificação SCJP e SCWCD. Há 16 anos atuando na área de desenvolvimento, sendo os ultimos 7 anos com Java/JEE. Desenvolveu sistemas para Merck, Compania Vale do Rio Doce, Petrobras, GovBR e atualmente alocado na TVGlobo.


O Laboratório Nacional de Computação Científca se encontra na Av. Getulio Vargas, 333, Quitandinha, Petrópolis - Rio de Janeiro, proximo ao Hotel Quitandinha, na entrada de Petrópolis.



Após as palestras pretendo publicar o material aqui no blog.

[]s Bula

27 de março de 2007

Ubuntu 7.04 Beta review

Na minha máquina tenho dois sistemas linux instalados: o Frugalware (default) e o Ubuntu 7.04 Beta, que tenho testado. No futuro pretendo testar o FreeBSD.

A respeito do Ubuntu, como muitos têm lido, ele vai passar a ter Compiz instalado, instalação de codecs por demanda, e um melhor suporte aos drivers proprietários da ATI e da nVidia, fora outros detalhes menos aparentes ao usuário.

O sistema inicia sem Compiz ou Beryl, mas tem uma opção para habilitar o Compiz (Beryl só instalando via aptitude ou apt-get) semelhante a encontrada em outras distros como a Fedora. Ao habilitar o Compiz, ele sugere a instalação dos drivers da placa de vídeo (ATI ou nVidia). Os efeitos do Compiz são legais, mas não se equiparam aos do Beryl. Contudo, o Compiz é bem mais leve.

A instalação de codecs por demanda é muito interessante, e facilitam a vida do usuário, mas eu só vi funcionar com vídeo, com outros formatos a coisa não funcionou da mesma forma. Eu ainda encontrei alguns problemas com os codecs. Basicamente, eu continuo precisando do MPlayer para assistir a vídeos nos padrões mais novos do formato WMV.

O sistema como um todo está funcionando melhor. Corrigiram diversos bugs, incluindo o do framebuffer, que não funcionava bem, mas a interface do terminal (fora do X11) continua estranha. A Canonical ainda tem um bom caminho para trilhar, mas o tem feito de maneira admirável.

Em suma, ainda não é a distro perfeita, e nunca vai ser, uma vez que somos criaturas imperfeitas, e nada perfeito pode advir de nossos trabalhos, mas é a distribuição perfeita para usuários iniciantes, inexperientes, ou que não querem ter dor-de-cabeça ou mesmo perder tempo com configurações. Tudo funciona out-of-the-box. É instalar e usar. Para os demais, só vocês são capazes de dizer o que é melhor para vocês.

Novidades

Muita coisa aconteceu nessas duas semanas que não enviei um só post para cá.

Participei do SAP Fórum em São Paulo, onde vi as "últimas" novidades do que se está desenvolvendo em termos de ERP/CRM comercial: a comunidade SAP "descobriu" as facilidades das interfaces web (aleluia!), com SAP Netweaver.

Obviamente não é necessário comprar o Netweaver para fazer uma interface web com o SAP; já existem conectores para diversas linguagens, incluindo Ruby, .Net, e Java. Cheguei a assistir uma palestra de uma empresa chamada Matec que criou todo um sistema de interface com o SAP usando plataforma .Net. Excelente!

E na última semana, resolvi me auxiliar no desenvolvimento da distribuição linux Frugalware. Tive uma calorosa acolhida, e a equipe parece ter a mente aberta para mudanças e novas idéias. Muito bom! Nada como trabalhar com algo que se gosta em um ambiente agradável.

Uma curiosidade: eu não vi o uso de notações húngaras no código-fonte do setup de instalação da distro, apesar de boa parte dos desenvolvedores ser húngara. Nem tudo é perfeito. Rsrs!

12 de março de 2007

Frugalware Linux 0.5 - Review

Nesse final de semana testei a versão 0.5 do Frugalware Linux, uma distribuição baseada no Slackware e no Arch Linux, com versão para x86_64. O Frugalware pode ser instalado em CDs (9), em DVD, ou em USB (Net Install). Optei pela versão em DVD.

Instalação

O instalador é feito em ncurses, mas não deixa nada a desejar para o Anaconda. A instalação é bastante straight forward. Até um pouco demais, pois não há como voltar atrás. Ou seja, um erro significa recomeçar. Ponto negativo aqui.

O instalador oferece opção de escolher cada pacote a ser instalado na máquina, mas para "agilizar" o processo, optei pela instalação padrão, que vem com quase todos os pacotes do DVD. Algo em torno de 1138 pacotes.

Utilização

Depois de instalado o sistema, o início é (muito) bastante rápido (mesmo), mas não consegui entrar na interface gráfica. Por algum motivo o xorg.conf estava ajustado para usar o driver "nvidia", mas esse não veio instalado. Outro ponto negativo. Mudando para "nv" entrei no KDE sem problemas.

Além do KDE, a instalação padrão traz o Gnome, o XFCE, FVWM, e vários outros. Vale ressaltar que eu só entrei no KDE.

Outros problemas foram a falta de som, e plugins para o Firefox, mas não posso dizer que foram realmente problemas, porque não me esforcei muito para ajustá-los.

Uma curiosidade: o Frugalware vem com 11 terminais por padrão. Assim, o X11 é acessado no Ctrl+Alt+F12. Estranho, mas indiferente.

Atualização

Tive problemas para atualizar o sistema para a versão mais nova (0.6rc2). Aparentemente o processo é simples, mas o gerenciador de pacotes (pacman) apresentou dependências circulares. Não foi difícil resolvê-las, mas contei isso como um ponto negativo.

Depois de 2h baixando os pacotes novos, o sistema ficou atualizado bleeding edge. Excelente! Contudo, continuei sem conseguir instalar os drivers da nVidia. Passei pelo mesmo problema do openSuse. Só consegui acesso aos recursos da placa instalando o driver baixado do site da nVidia.

Não me arrisquei a instalar grandes coisas no sistema, mas fiquei muito satisfeito com o resultado.

Resumo

Pontos negativos: a falta de opção para rever os passos no instalador gráfico; as dependências circulares nos pacotes; o X11 ter sido configurado para um driver não instalado; e o driver da nVidia do repositório não funcionar.

Pontos positivos: o instalador gráfico simplificado; a velocidade do início de sessão, e do gerenciador de janelas; o gerenciador de arquivos (pacman) e a forma simples e rápida com que se atualiza o sistema; e os pacotes atuais e compilados para x86_64. Algumas distribuições usam pacotes compilados para 686 em arquitetura x86_64.

Conclusão

Enfim, uma grande distribuição em desenvolvimento. Provavelmente, a nova versão não terá boa parte desses erros, apresentando performance ainda melhor. Mal posso esperar pelo Frugalware 0.6.

7 de março de 2007

Java e o povo brasileiro

No outro dia eu estava conversando com um colega de trabalho a respeito de porque o Java se tornou tão popular no Brasil, chegando esse a ter uma, senão a, maior comunidade Java do planeta.

Ora, se há algo que brasileiro gosta de fazer é mudar o que vem padronizado para algo que atenda aos seus interesses ou gostos. Um exemplo disso são os fast foods (Mc Donald's, Bob's, etc). Somente no Brasil (até bem pouco tempo atrás) se podia pedir um número 1 com mais ou menos queijo, e com suco de laranja e nuggets, ao invés de refrigerante e batatas fritas.

Outro exemplo claro de como o brasileiro gosta de "personalizar" é o SAP. Em nenhum outro país do mundo se criou tantas extensões (melhorias ou user exits) para os programas do SAP como se faz no Brasil.

Caso ainda não tenha feito a relação, raciocine comigo. O Java traz em si, desde a primeira versão, um quê de "faça você mesmo", fora ser livre, e, atualmente, código aberto. Ou seja, tudo o que um brasileiro gosta de ouvir: Java é pra personalizar.

Hoje em dia, obviamente, já existem diversas outras linguagens que oferecem as mesmas características, mas nenhuma tão sólida quanto o Java. Sólida no sentido de documentada (livros, manuais, referência, etc), com amplo suporte, e estável, tanto no que se refere ao funcionamento, quanto a mudanças.

Obviamente, não foi só isso, a Sun fez um excelente trabalho de marketing, e aproveitou o tempo certo. Falando nisso, acredito ser esse o momento certo de se investir em marketing no Linux, agora que o Windows Vista está se mostrando um sistema operacional não viável.

Quem sabe um dia essa idéia ganha maturidade...

Em busca da distribuição perfeita (parte 3)

O script que eu escrevi para instalar o sistema está sendo atualizado conforme a instalação prossegue. Quando tiver uma versão final eu ajusto o post onde o descrevi pela primeira vez.

Bom, ontem instalei o Gnome, os drivers da nVidia, e o Beryl. Rodou tudo muito bem, inclusive o framebuffer (sendo simplório, é aquela tela colorida de carregamento do sistema). Ainda não terminei de "tunar" ("no pain no game") o driver de vídeo, mas já está muito excelente!

Agora falta instalar o sistema de áudio (ALSA), e os aplicativos que vou usar (OpenOffice, players de mídia, etc).

Parece que minha busca acabou. Gentoo é o cara!

Mas, como tenho um filesystem disponível para instalar sistemas operacionais, podem esperar por reviews.

6 de março de 2007

Stored Procedures: usá-las ou não usá-las, eis a questão!

O pessoal que ja trabalha com java sabe que alem de ser multiplataforma, java pode ser multi-banco (sei lá se existe esta expressão). A tecnologia JDBC permite que utilizemos a mesma interface para acessar da mesma maneira vários bancos diferentes (Oracle, DB2, SQLServer, MySQL, etc...).

Isto é muito bom para facilitar o desenvolvimento e melhor ainda para que nossa aplicação fique independente de banco de dados. Bastando apenas mudar o driver JDBC de um banco para outro, sem que seja necessário nenhuma alteração na aplicação (no máximo em arquivos de configuração se a aplicação for bem feita ;-) ).

Para que isto funcione 100% devemos utilizar SQL Ansy e não podemos utilizar nenhuma feature que não seja comum a todos os bancos de dados.

Este seria um mundo perfeito de desenvolvimento para banco de dados, mas todos sabemos que "mundos perfeitos" não existem. Muitos bancos de dados possuem features que podem aumentar em muito a performance da aplicação. E dependendo da aplicação ela pode não existir sem estas features.

O que fazer neste caso? Usar ou não usar estas features do banco?

É neste ponto que entra uma expressão muito importante na informática, o bom-senso.

Se a aplicação tiver realmente a necessidade de trabalhar com vários bancos diferentes não tem muita opção. O máximo que pode ser feito é se a aplicação for utilizar procedures, criar scripts diferentes para cada banco (o que é muito trabalhoso e sujeito a falhas).

Mas se sua aplicação vai rodar em um único banco, acho que é uma boa idéia considerar utilizar estas features, pois na maioria das vezes o ganho de prerformance pode ser considerável (como exemplo eu trabalhei num projeto onde algumas querys demoravam mais de 60 minutos para serem executadas, e criando procedures com tabelas temporarias, etc... o tempo caio para menos de 30 segundos).

Mas lembre-se mesmo que não haja previsão de troca de banco de dados, o futuro é incerto, e passar toda a regra de negócio para procedures pode não ser uma boa estratégia.

Se foque na relação custo x benefício que as features do banco podem trazer para sua aplicação. No final das contas o que importa mesmo é o bom-senso.

Em busca da distribuição perfeita (parte 2)

Conforme falei, resolvi reinstalar o Gentoo na minha máquina. Para isso, planejei apagar o openSuse (HD SATA2) e instalar o Ubuntu (HD IDE), e então instalar o Gentoo (HD SATA2).

Assim, eu tentei, mas o instalador do Ubuntu 6.10 para x86_64 deu erro na hora de definir a tabela de partições. Ele dizia que eu não tinha definido o diretório raiz ("\"), apesar de eu o ter feito. Vai entender...

Resultado: instalei o openSuse no HD IDE sem nem mesmo me preocupar em instalar nada além do que vinha no DVD de instalação, e instalar o Gentoo no HD SATA2. Para isso fiz um script em bash (myGentooInstall.sh) de instalação que se tornou a listagem logo abaixo.

Espero que quando eu chegar em casa já tenha terminado tudo, e o sistema esteja funcionando bem. Está sendo bom me sentir dono do sistema operacional mais uma vez. Com o Gentoo, se ocorre um erro, é bem fácil resolvê-lo ou contorná-lo.

[EDIT: O script foi movido para o fórum do Gentoo ]

5 de março de 2007

Em busca da distribuição perfeita (parte 1)

Recentemente comprei uma nova máquina. Parti de um AMD Athlon XP 2400+ (IDE, AGP, FX 5200 128MB) para um AMD Athlon X2 4200+ AM2 (SATA2, PCI-X, 7900 GS DDR2 256MB), e como toda mudança, preciso reinstalar o sistema operacional (na verdade não precisaria, mas eu acidentalmente apaguei o SO antigo).

Eu já tinha idéia que uma boa parte dos aplicativos é desenvolvida pensando em arquiteturas de 32bits, ou seja, apesar de rodá-los em um processador de 64bits, provavelmente eles não aproveitam todo o potencial do processador. Em outras palavras, distribuições com pacotes binários precisam ter pacotes específicos para a arquitetura em questão (x86_64) para se ter uma resposta condizente na interface.

Não vou entrar em detalhes a respeito do uso e das facilidades de cada distribuição, uma vez que esse tipo de material tem pela rede aos montes. Então vou focar nos problemas encontrados, e na minha percepção de power user (RÁ!).

Minha jornada começou onde quase terminou a de 32bits, com o Ubuntu.

O Ubuntu instalou tudo o que pedi facilmente (usei o Automatix), mas o framebuffer ficou um lixo! O bootsplash ficou cinza e pixelado. A interface gráfica funcionou direito, sem maiores problemas, mas a resposta do sistema não ficou condizente com o upgrade de hardware. Desconfio que os pacotes não são específicos para 64bits.

Depois disso, resolvi tentar o openSuse, onde minha jornada de 32bits terminou.

Utilizei um script para agilizar a instalação de codecs e drivers no openSuse (o driver da nVidia instalado foi o dos repositórios). O framebuffer estava OK, mas a inicialização do sistema é muito lenta, e a interface gráfica não entrou. Problemas com o driver da nVidia. Instalei o driver direto do site do fabricante, mas mesmo assim continuei sem direct rendering, e o sistema não reconheceu a placa, e fiquei também sem beryl.

Atualmente estou testando o Gentoo 2006.1 para x86_64. Cheguei a instalá-lo pelo live DVD. O sistema não ficou como eu queria, mas a velocidade apresentada é muitas vezes superior às outras distros. Não testei ainda a interface gráfica com os drivers da nVidia, mas o farei em breve. Também não instalei bootsplash.

Penso em testar o Frugalware, distribição baseada no Slackware, mas que segue linha própria. Vamos ver no que dá.

23 de fevereiro de 2007

Blog a 4 mãos

Galera, não sei se perceberam mas agora tem outro "cabra" postando aqui no blog. O Cláudio é um grande amigo meu e vai falar principalmente sobre linux e opensource. Provavelmente ele vai postar muito mais coisa do que eu, e isso é bom porque vai me forçar a correr atraz do prejuízo ;-)

Em breve vou postar mais umas coisas interessantes aqui no blog, e tambem vou dar uma variada, estou preparando um post sobre Oracle Text e uns testes que eu fiz, e aproveitar e falar da instalação do 10g express no ubuntu, aguardem.

22 de fevereiro de 2007

Acessando um servidor Citrix via Linux

O procedimento a seguir é indicado para instalar o Citrix Client no linux, e acessar um servidor. O SAP R/3 de treinamento será utilizado como exemplo.

  1. Baixar o ICA Client última versão para linux, e o certificado TC Trust Center Class 2 CA no Download Center do site http://mywts.sap.com .
  2. Executar com o root o comando rpm -i ICAClient-9.0-1.i386.rpm .
    Obs.: No momento de criação deste manual, a versão mais nova do Citrix Client era a 9.0-1.
  3. Copie com o root o arquivo TCTrustCenterClass2CA.crt para o diretório /usr/lib/ICAClient/keystore/cacerts.

    Obs.: Certifique-se que os usuários comuns tenham permissão de leitura desse arquivo. Execute o comando abaixo com o root:
    chmod +r /usr/lib/ICAClient/keystore/cacerts/TCTrustCenterClass2CA.crt
  4. Acesse o site http://mywts.sap.com/ e, após se logar no sistema de treinamento e clicar no link Common Training, indique o programa /usr/lib/ICAClient/wfica para tratar o arquivo de extensão ICA.

A partir de agora, sempre que clicar um link com extensão ICA, o Citrix Client será acionado.

Atenção: dependendo do servidor a ser acessado, um novo arquivo de certificado deverá ser armazenado no diretório indicado no passo 3 do procedimento acima.

Instalando o Wine pelo código-fonte

Este processo é útil para quem pretende criar um arquivo .deb do zero.

Primeiro se deve incluir os repositórios em seu arquivo /etc/apt/sources.list. É interessante verificar primeiro se os repositórios do Ubuntu já não atendem essa necessidade.

sudo echo deb http://wine.budgetdedicated.com/apt dapper main >> /etc/apt/sources.list
sudo echo deb-src http://wine.budgetdedicated.com/apt dapper main >> /etc/apt/sources.list

A seguir, atualizar as informações de pacotes disponíveis pelo APT, baixar os pacotes necessários para compilar o wine, e efetuar a compilação propriamente dita:

sudo apt-get update
sudo apt-get build-dep wine
sudo apt-get --build source wine

Ao terminar a compilação, execute o comando abaixo para instalar o pacote criado:

sudo dpkg -i wine*.deb

Uma outra forma de compilar o wine é, ao invés de usar o apt-get para compilar os fontes, compilá-los usando make:

sudo apt-get update

sudo apt-get build-dep wine

cd wine*

./configure CFLAGS=-fno-stack-protector
make && sudo make install

O gcc no Ubuntu agora tem stack-protector habilitado, ocasionando falhas de segmentação no wine-preloader. A configuração -fno-stach-protector deve ser utilizada para evitar falhas de segmentação.

Para desinstalar o wine instalado dessa forma:

cd wine*

sudo make uninstall

Em ambas as opções, penso eu, é possível aplicar patches (http://wiki.winehq.org/InterestingPatches).

gunzip -c patch-file | patch -p1

Configuração de som

Rodar winecfg e ajustar o som para usar ALSA e OSS.

  • Para usuários de KDE, uma alternativa é usar aRts.
  • Para usuários de Gnome, uma alternativa é usar EsounD.
  • O uso de Jack e NAS é recomendado apenas para usuários avançados.

Utilizar emulação para DirectSound e para driver. Essa medida vai evitar erros de DSound underrun, ainda não solucionado na árvore principal do Wine.

Rodando programas em um novo display (exemplo com X-Men Legends 2: Rise of Apocalypse)

Arquivo xmen2.sh (game.sh):

#!/bin/sh

# Game parameters.
PROGRAM="c:/Arquivos de programas/Activision/X-Men Legends 2/Data/XMen2.exe -opengl"
SCREEN_RES="1024x768" # Must match screen identifier in XF86Config
SCREEN_BPP="24" # Must be defined for screen in XF86Config
GAMMA="1.75"

~/winerun.sh "$PROGRAM" $SCREEN_RES $SCREEN_BPP $GAMMA

Para cada jogo deve-se criar um arquivo como esse acima deve ser criado.


Arquivo winerun.sh:

#!/bin/sh

PROGRAM=$1
SCREEN_RES=$2
SCREEN_BPP=$3
GAMMA=$4

# Sensitivity works according to "xset mouse"
MOUSE_SENSITIVITY="1.15/15"
# Display number to use
DISPLAY_NUMBER=":1"
# Nice priority to give to wine. Note some games (ex Starcraft) do not like -20.
PRIORITY=-5

GAME_PLAYER=$USER

# extract
APPDIR=${PROGRAM%/*}
APPEXE=./${PROGRAM##*/}

SCRIPT="xgamma -gamma $GAMMA
xset mouse $MOUSE_SENSITIVITY
cd "$HOME/.wine/dosdevices/$APPDIR"
sudo -u $GAME_PLAYER nice $PRIORITY wine $APPEXE $*
wait"

# Run full screen on display 1.
export DISPLAY=$DISPLAY_NUMBER

# Make sure user is allowed to use display 1.
[ "`xauth list $DISPLAY_NUMBER`" ] || xauth add $DISPLAY_NUMBER . `mcookie`

sudo xinit /bin/sh -c "$SCRIPT" -- $DISPLAY -screen $SCREEN_RES -depth $SCREEN_BPP

Acrescentar as seções abaixo ao /etc/X11/xorg.conf:

Section "Screen"
Identifier "800x600"
# Ajuste essa parte conforme definido no seu /etc/X11/xorg.conf [início]
Device "NVIDIA Corporation NV34 [GeForce FX 5200]"
Monitor "SyncMaster"
# Ajuste essa parte conforme definido no seu /etc/X11/xorg.conf [fim]
DefaultDepth 24
SubSection "Display"
Depth 8
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection

Section "Screen"
Identifier "1024x768"
# Ajuste essa parte conforme definido no seu /etc/X11/xorg.conf [início]
Device "NVIDIA Corporation NV34 [GeForce FX 5200]"
Monitor "SyncMaster"
# Ajuste essa parte conforme definido no seu /etc/X11/xorg.conf [fim]
DefaultDepth 24
SubSection "Display"
Depth 8
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection

Note que identifier e depth se adequam aos parâmetros dos scripts.

Atalhos de teclado:

...

CTRL+ALT+F7 accesses the desktop (display :0)
CTRL+ALT+F8 accesses the game display (assuming it stays on :1)
CTRL+ALT+F9 goes on :2

CTRL+ALT+BACKSPACE terminates desktop

Sugestão de uso: criar um diretório bin em $HOME, e mover os scripts (*.sh) para lá. Executar:

$sh ~/bin/xmen2.sh

Lembrar de ajustar os diretórios para adequar ao seu sistema.