Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

FreeBSD como Desktop

Sylvio César (sylvioc@gmail.com) informou: “Esse howto tem o objetivo de configurar o seu FreeBSD 5.x para uso desktop. Quero provar que você pode deixar usual o FreeBSD como um Linux e poder utiliza-lo como seu sistema operacional padrão e prático. Vamos configurar o FreeBSD para rodar os seguintes itens: Flash, JAVA, Cedega (WineX), NVIDIA.” Veja abaixo o texto do Sylvio.

FreeBSD como Desktop
por Sylvio César (sylvioc@gmail.com)

Bem, entao vamos colocar a mao na massa. Em primeiro lugar vamos instalar o flash, para isso siga os passos abaixo:

Nos iremos utilizar o "linuxpluginwrapper" para fornecer o suporte ao plugin flash, sendo assim va para o diretorio "/usr/ports/www/linuxpluginwrapper"

sylvioc# cd /usr/ports/www/linuxpluginwrapper

Agora, voce antes de mais nada, deve remover as seguintes linhas do arquivo "Makefile" que se encontra no diretorio do linuxpluginwrapper"

RUN_DEPENDS+= ${LOCALBASE}/lib/linux-mozilla/plugins/nphelix.so:${PORTSDIR}/multimedia/linux-realplayer
.if ${OSVERSION} >= 500000
RUN_DEPENDS+= ${LOCALBASE}/Acrobat5/Browsers/intellinux/nppdf.so:${PORTSDIR}/print/acroread
.else
USE_MOTIF= yes
.endif

Feito essas alteracoes, agora voce pode executar o "make" para instalar o pacote:

sylvioc# make install clean

Obs.: esse "clean" no comando make, diz ao make para remover os arquivos da compilacao do pacote.

Agora voce tera que criar um arquivo chamado "libmap.conf" no /etc ou simplesmente pode copiar um de exemplo.

sylvioc# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD5-stable /etc/libmap.conf, so que esse arquivo ira ter varias linhas que para o nosso objetivo nao serao necessarias, ou seja, so precisara ficar as seguintes linhas:

# Flash6 with Konqueror
# SEE ALSO: http://freebsd.kde.org/howtos/konqueror-flash.php
# This configuration was integrated to following one.

# Flash6 with Mozilla/Firebird/Galeon/Epiphany/Konqueror
[/usr/local/lib/linux-flashplugin6/libflashplayer.so]
libpthread.so.0 pluginwrapper/flash6.so
libdl.so.2 pluginwrapper/flash6.so
libz.so.1 libz.so.2
libstdc++-libc6.2-2.so.3 libstdc++.so.4
libm.so.6 libm.so.3
libc.so.6 pluginwrapper/flash6.so

Agora, para garantir que isso nao venha a mudar quando voce for utilizar um "portupgrade realplayer" (comando para atualizar o pacote realplayer), devemos fazer a seguinte inclusao no arquivo "/usr/local/etc/pkgtools.conf"

HOLD_PKGS = [
'linuxpluginwrapper*',
]

Prontinho, agora inicialize o seu Firefox e pode abrir qualquer pagina com flash. :)


Configurando o JAVA

Para voce instalar o Java no FreeBSD, voce precisara baixar alguns patchs e tambem os pacotes direto do site da SUN
o site para os patchs:

http://www.eyesbeyond.com/freebsddom/java/jdk14.html

Primeiro voce ira baixar o seguinte arquivo:
bsd-jdk14-patches-7.tar.gz

Agora voce precisara se registrar no site da SUN para poder fazer o download dos seguintes arquivos:

j2sdk-1_4_2-bin-scsl.zip
j2sdk-1_4_2-src-scsl.zip
j2sdk-1_4_2_06-linux-i586.bin

Com todos os arquivos baixados, voce precisara coloca-los no seguinte diretorio:
/usr/ports/distfiles

Agora com os arquivos no diretorio "/usr/ports/distfiles" ja podemos instalar o Java via ports

sylvioc# cd /usr/ports/java/jdk14
sylvioc# make install clean

Esta quase tudo pronto, so falta voce criar um link do plugin java para o diretorio do Firefox:

ln -s /usr/local/jdk1.4.2/jre/plugin/i386/ns610/libjavaplugin_oji.so /usr/X11R6/lib/browser_plugins/

Bem, vamos partir para a instalacao do Cedega (WineX, emulador capaz de instalar o NFS1, NFS2, Counter Striker, etc)
Vamos baixar o Cedega, ele eh pago, mas voce podera encontrar no emule, ou no site:

http://www.linuxhard.org/publicacoes.php?acessar=publicacao&id_texto=1148

Com o Cedega baixado, vamos ter que fazer algumas mudancas em nosso FreeBSD.
Voce tera que remover, caso tenha, uma linha de COMPAT_LINUX no kernel
vamos checar para ver se voce tem essa linha no kernel.
sylvioc# grep -i linux /usr/src/sys/i386/conf/SEU_KERNEL

OBS:. eh o nome do kernel que voce esta utilizando, para se saber de forma rapida qual eh esse nome, voce pode digitar:
sylvioc# uname -a | awk -F"@" '{print $2}'
sylvioc.intranet.br:/usr/obj/usr/src/sys/SYLVIOC-INTRANET-BR i386
Nesse caso, o nome do arquivo do meu kernel eh "SYLVIOC-INRANET-BR"

Se caso voce tiver a linha "options COMPAT_LINUX" no seu kernel, voce precisara remove-la e recompilar o kernel.
Nao entrarei em detalhes de como se compila um kernel BSD, mas um bom link para voce seguir passo-a-passo eh:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
Siga os passos da "Procedure 2"

Depois de ter feito isso, vamos precisar habilitar o carregamento do modulo durante o boot, para isso, vamos ter que acrescentar no arquivo "/etc/rc.conf" a seguinte linha:
linux_enable="YES"

Agora vamos incluir a seguinte linha no nosso arquivo /etc/fstab
linproc /compat/linux/proc linprocfs rw 0 0

Para visualizar se esse modulo ja esta carregado, faca:
sylvioc# kldstat | grep -i linux

Se esse comando nao mostrou nada, entao voce tem duas opcoes para carregar esse modulo:
1- Rebootar a maquina, tenho a certeza que voce incluiu a linha "linux_enable="YES"" no rc.conf;
2- Carregar o modulo: kldload linux.ko


Com todos esses passos concluidos, podemos partir para a instalacao do CEDEGA.

Para comecar, voce tera que fazer o download do seguinte patch:
http://firepipe.net/projects/cedega/patch-cedega-enosys

Vamos mover esse patch para o diretorio "/usr/src/sys/i386/linux/", aplicar o patch e fazer a serie de comandos abaixo:

sylvioc# mv patch-cedega-enosys /usr/src/sys/i386/linux
sylvioc# patch < patch-cedega-enosys
sylvioc# make sysent
sylvioc# cd /usr/src/sys/modules/linux
sylvioc# make clean && make && make install

Agora voce precisara recarregar o modulo "linux.ko", nesse caso, aconselho a dar um reboot.

Quando sua maquina tiver terminado de rebootar, entao poderemos instalar o Cedega. Va para o diretorio que voce baixou o Cedega e faca:
sylvioc# rpm -i --ignoreos --nodeps seu_cedega.rpm

Esteja certo que voce tem o "linux_base" instalado em seu FreeBSD.
sylvioc# pkg_info -a | grep -i linux_base

Bem, estamos quase terminando, falta apenas alterarmos o executavel do Cedega para chamar o "bash" do linux.
Usando o seu editor de texto preferido, faca a seguinte alteracao no arquivo "/usr/bin/cedega". Altere a linha
#!/bin/sh para #!/compat/linux/bin/bash

Feito essas alteracoes, ja podemos utilizar o Cedega.

Obs.: talvez seja necessario você desabilitar o uso do FreeType no arquivo ~/.transgaming/config
Se voce tiver problemas com o som, edite o arquivo ~/.transgaming/config e descomente as seguintes linhas que estara na secao [wineoss]
"dsp0" = "/dev/dsp0"
"mixer0" = "/dev/mixer0"

Vamos instalar o pacote "linux-png"

sylvioc# cd /usr/ports/graphics/linux-png
sylvioc# make install && make clean

Pronto, quase nao termina nao eh mesmo? :)

Configuracao do drive da NVIDIA.

Recentemente a NVIDIA, lancou o mais novo drive dela para FreeBSD, com suporte as mais novas placas NVIDIA
Vamos comecar baixando o arquivo no site da NVIDIA:
http://www.nvidia.com/object/freebsd_1.0-7174.html

Com esse arquivo baixado, vamos ter que descompacta-lo:
sylvioc# tar xvzf NVIDIA-FreeBSD-x86-1.0-7174.tar.gz
sylvioc# cd NVIDIA-FreeBSD-x86-1.0-7174
sylvioc# make install

Esse make install ira instalar para voce o modulo necessario para a placa e criara o dispositivo nvidia "/dev/nvidia"
Agora precisamos fazer com que o modulo "nvidia" seja carregado automaticamente, para isso vamos incluir a seguinte linha no arquivo "/boot/loader.conf"

nvidia_load="YES"

A essa altura o modulo nvidia ja deve ter sido carregado, veja isso com a saida do comando:
sylvioc# kldstat | grep nvidia

Bem, agora vamos precisar alterar o nosso arquivo do xorg, para isso, utilize o seu editor padrao e faca as seguintes alteracoes:

Na secao "Module" vamos acrescentar o "Load glx", deve ficar mais ou menos assim:

Section "Module"
Load "bitmap"
Load "extmod"
Load "dbe"
Load "type1"
Load "glx"
Load "freetype"
EndSection

E na secao "Device" da placa vamos alterar o "Driver nv" para "Driver nvidia" como mostra o exemplo abaixo:


Section "Device"
Identifier "Device"
Driver "nvidia"
VendorName "NVIDIA"
BoardName "GeForce2 Go"
EndSection

Prontinho, pode finalizar o seu X e abri-lo novamente, e voce vera a imagem da NVIDIA inicializando o X, isso eh um sinal que a aceleracao 3D da sua placa foi carregada com sucesso.

Qualquer duvida, ou problemas encontrados, podem enviar um e-mail para mim: sylvioc@gmail.com



Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de Manoel Pinho
FreeBSD: Por acaso o meu primeiro desktop Unix livre foi o FreeBSD, e não o linux, por volta de 1996. Troquei pouco tempo depois pelo Slackware, que na época era muito mais fácil de usar (quem diria...). Acho que fiz o caminho inverso da maioria e simplesmente hoje prefiro a praticidade dos Red-Hat-like e do Debian.

Respeitos os BSDs e acredito que possa usar qualquer Unix como desktop. O que vai variar é a carga de trabalho que teremos que ter para ajeitá-lo do nosso jeito. Já usei até Solaris como desktop, mas deu um trabalhão para instalar o Gnome, o KDE, OpenOffice.org e outros softwares que estou acostumado no linux nele. Afinal, todos os BSDs e até o Solaris se beneficiaram desse crescimento explosivo dos programas livres causado pela popularidade do linux.

Mas para desktops o linux ainda tem certas vantagens como maior suporte a hardware e maior disponibilidade de programas comerciais.

Quem sabe algum dia eu volte a usar um kernel BSD com a chegada do Debian/kBSD, que por acaso entrou hoje oficialmente no projeto Debian:

http://www.osnews.com/comment.php?news_id=10239

Comentário de Bruno
Não consegui fazer o flash funcionar: Olá,

Não consegui fazer o flash funcionar. percebi q no arquivo libmap.conf, a referencia [/usr/local/lib/linux-flashplugin6/libflashplayer.so] aponta pra um diretorio q nao existe (linux-flashplugin6), entao criei um link para onde estaria o libflashplayer.so (nao me lembro o diretorio agora, mas ficava dentro de X11R6/lib) e mesmo assim nao funcionou.

o que fazer?

obrigado.
Comentário de sobralense
Usei muito o Freebsd como des: Usei muito o Freebsd como desktop, acho que na época de testes do 5.0
Mas nunca precisei fazer tanta coisa assim para instalar flash.. =]
Comentário de Léo
Interessante usar FreeBSD num: Interessante usar FreeBSD num desktop, mas o trabalhão que dá para ajustá-lo a um desktop, só nessa parte, omite um fato importante: os requerimentos de um desktop são diferentes dos de um servidor, onde ele deve ser mais comum. Isto porque um desktop é um sistema interativo, onde o tempo de resposta a uma ação do usuário deve ser rápido o suficiente para ele não perceber um lapso entre acionar o comando(um clique num botão, por exemplo) e vê-lo ser executado.Esse requerimento pode requerer mudanças técnicas no código do FreeBSD, para ajustar a preempção.

Com isto tudo, estou dizendo que pode ser preciso mais do que instalar alguns softwares para fazer um FreeBSD adequado a um desktop comum.

Eu estou fazendo uma análise superficial, porque eu nunca vi um FreeBSD e nem copiei nenhum. Além do mais, também devem existir outros requerimentos para um sistema de desktop, que não vem à mente agora, que podem requerer algumas mudanças técnicas também.


Comentário de tijucas
kernel freebsd: em relacao ao freebsd como desktop, temos o mac os x que é baseado no freebsd e é, na minha opiniao, o melhor sistema operacional para desktop. apesar de usar linux em meu ibook :)
Comentário de Manoel Pinho
MacOS X x FreeBSD: O MacOS X é MENOS parecido com o FreeBSD do que linux é do AIX por exemplo.

O MacOS X não usa o mesmo kernel do FreeBSD, e sim um microkernel Mach com um subsistema Posix derivado do FreeBSD.

O sistema gráfico não é baseado no X e nem há arquivos-texto de configuração como qualquer Unix, mas um sistema de configuração binário.

Comentário de bilouro
MacOs x FreeBSD: Olá.

Comecemos pelo fato da Apple assumir que seu SO eh baseado em FreeBSD. E que deve ter sido feito alguns estudos pelos especialistas da Apple para escolher um SO no qual se basear...

>O MacOS X é MENOS parecido com o FreeBSD do que linux é do AIX por exemplo.
Deve ser por isso que o AIX é tão utilizado no mercado...
Que comparação hein?! Nunca vi um AIX como desktop...

>O MacOS X não usa o mesmo kernel do FreeBSD, e sim um microkernel Mach com um subsistema Posix derivado do FreeBSD.
Derivou-se do FreeBSD não do linux, porque o Linux não respeita completamente o padrão POSIX, a prova disso eh que para se instalar o qmail, é necessário um monte de patchs...

>O sistema gráfico não é baseado no X e nem há arquivos-texto de configuração como qualquer Unix, mas um sistema de configuração binário.
Lógico, a Apple desde o inicio teve seu ponto forte em interface gráfica... Por que motivo ele iria usar X11 ou XOrg, tendo o AQUA?!!?!?!?

Eu não entendo, a razão pela qual algumas pessoas PRECISAM falar mau ou tirar merito do FreeBSD...
Comentário de Manoel Pinho
Re: MacOs x FreeBSD: ---------------
Comecemos pelo fato da Apple assumir que seu SO eh baseado em FreeBSD. E que deve ter sido feito alguns estudos pelos especialistas da Apple para escolher um SO no qual se basear...
---------------

O motivo foi a licença BSD, que permite mais coisas que a GPL. A M$ também escolheu usar parte do código dos BSDs para fazer a primeira pilha TCP/IP do Windows e usou parte do OpenBSD para o tal Services for Unix, que adiciona uma camada POSIX ao Windows.

---------------------------
>O MacOS X é MENOS parecido com o FreeBSD do que linux é do AIX por exemplo.
Deve ser por isso que o AIX é tão utilizado no mercado...
Que comparação hein?! Nunca vi um AIX como desktop...
---------------------------

Desktop doméstico não, mas eu já usei uma workstation AIX no LNCC, e antes de conhecer o linux ou o FreeBSD.


---------------------------
>O MacOS X não usa o mesmo kernel do FreeBSD, e sim um microkernel Mach com um subsistema Posix derivado do FreeBSD.
Derivou-se do FreeBSD não do linux, porque o Linux não respeita completamente o padrão POSIX, a prova disso eh que para se instalar o qmail, é necessário um monte de patchs...
---------------------------

O motivo de usarem o BSD foi a licença, e não esse. Até a M$ diz que o windows implementa o POSIX e sabemos que é só o mínimo do mínimo.

As montanhas de patches para compilar o qmail são devido a sua licença que é uma aberração da natureza. Por isso mesmo eu prefiro o postfix.


------------------------------
>O sistema gráfico não é baseado no X e nem há arquivos-texto de configuração como qualquer Unix, mas um sistema de configuração binário.
Lógico, a Apple desde o inicio teve seu ponto forte em interface gráfica... Por que motivo ele iria usar X11 ou XOrg, tendo o AQUA?!!?!?!?
------------------------------

Compatibilidade com milhares de programas e exibição remota de aplicativos de forma transparente servem ? A Apple mesmo sabe da importância disso e por isso ela mesmo oferece um servidor X, que obviamente não está na instalação padrão feita para usuários leigos. Só os geeks instalam isso no MacOS X.

E se quer saber, eu ainda prefiro a M$ do que a Apple. Pelo menos ainda tenho a liberdade de montar um PC livremente e por muito menos. A Apple sugou tudo o que tinha melhor nos BSDs e não deu nada em troca, assim como a M$. Por isso mesmo os BSDs nunca decolaram em popularidade como o Linux.

--------------------------
Eu não entendo, a razão pela qual algumas pessoas PRECISAM falar mau ou tirar merito do FreeBSD...
-------------------------

Quem foi que falou mal do FreeBSD ?! O FreeBSD é um sistema muito bom e tecnicamente tinha tudo para estar anos a frente. O que aquela empresa chamada BSDi deu em troca depois de anos vendendo um BSD fechado ?

A licença BSD e a atitude de alguns (notem que não falei todos) desenvolvedores e usuários de BSDs, que nunca se interessaram em divulgar e expandir o seu projeto de forma enfática, fez com que o linux seja hoje em dia a plataforma princiupal de desenvolvimento de SL.

Comentário de Luc
Sem lentidão: Eu já rodei FreeBSD por alguns dias e não vi nenhuma lentidão. Achei-o tão rápido quanto o Slackware 10.0 (o 10.1 é mais rápido que o 10.0). Só achei que o FreeBSD consome bem mais memória que o Linux. Pelo menos foi o que me disse o Gkrellm.

Os BSDs são bem seguros, mas não uso porque o mundo é todo feito para o Windows, usar Linux já é difícil, usar BSD é mais difícil ainda (hardware, programas, compatibilidade). E se não fosse assim, acho que eu ia preferir o NetBSD, que é mais limpo e leve. É o Slackware dos BSDs. :-)
Comentário de Kid-X
NetBSD é o mais automático: Recentemente eu testei o NetBSD 2.0 i386 Live, ele detectou a maioria do meu hardware, exceto o modem USB; Igual o Knoppix!
A partir daí podemos concluir de que a versatilidade dos sistemas operacionais livres não são mais antiquados ao ponto de auto-detecção, apenas precisaríamos de mais drivers livres com múltiplas compatibilidades.

(2.0.2 é o mais recente, mas acho que não tem LiveCD.)
Comentário de Manoel Pinho
NetBSD: Pois é. O NetBSD deu um grande salto na versão 2.0 e passou a ter um suporte muito bom.

Mas, assim como no linux, também há forks e desavenças. O OpenBSD saiu do NetBSD e recentemente houve um grande racha no FreeBSD quando saiu da série 4.x para a 5.x. Surgiu o fork dragonfly, que usou o código do FreeBSD 4.x como base.

Nos BSDs também ainda há muitos problemas com escalabilidade. O suporte a múltiplos processadores é bem pior do que no linux. O sistema de arquivos também não é dos mais rápidos embora haja alguma vantagem em termos de integridade dos doados em algumas situações. Por isso vemos poucos BSDs usados como servidores de arquivos ou de bancos de dados.

Os BSDs brilham mesmo é na sua pilha TCP/IP e por isso mesmo são muito usados como servidores web. De qualquer jeito a vantagem em relação ao linux não é tão grande assim e por questões práticas pode não compensar a mudança.
Comentário de anon
Mais e a questão do Kernel: Mais e a questão do Kernel ?

Dizem que o monolitico é ruim. Pelo fato de ser monolitico daqui a pouco vão ser preciso 1 giga de espaço somente para o kernel.

E ultimamente o linux têm tido muitos bugs, exemplo 2.6.11.7, da até pena, no linux 2.4 não tinha nada disso.

Comentário de Douglas Augusto
Abrindo um off-topic em defes: Abrindo um off-topic em defesa da série 2.6 do kernel Linux.

> E ultimamente o linux têm tido muitos bugs, exemplo 2.6.11.7, da até pena,
no linux 2.4 não tinha nada disso.


Estava em discussão[1] um novo esquema de numeração para o kernel Linux. Em
vez do tradicional 2.6.x seria adotado 2.6.x.y, com o intuito de facilitar
a rápida integração de modificações menores.

Portanto, se de fato foi implementado este novo esquema de numeração, é
equivocado adotar um tom pejorativo ao se referir aos "remendos" da versão
2.6.11.


1. Revamped Linux Kernel Numbering Concluded


kernel_dan writes "Following on the heels of a prior discussion about a
kernel numbering scheme, KernelTrap has the conclusion. From summary:
"Linus Torvalds decided against trying to add meaning to the odd/even least
significant number. Instead, the new plan is to go from the current 2.6.x
numbering to a finer-grained 2.6.x.y. Linus will continue to maintain only
the 2.6.x releases, and the -rc releases in between. Others will add trivial
patches to create the 2.6.x.y releases. Linus cautions that the task of
maintaining a 2.6.x.y tree is not going to be enjoyable.'" Torvalds
suggested specific guidelines to alleviate burn-out of the .y maintainer and
Greg KH volunteered to begin maintainership."


--
FLTK fltk.org (Fast Light C++ GUI Toolkit)
BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004