6.9. Usando o X11

6.9.1. Componentes X.Org

A implementação do X11 disponível na Coleção de Ports é o X.Org. Se o aplicativo depender de componentes X, adicione USES= xorg e defina USE_XORG na lista de componentes necessários. Uma lista completa pode ser encontrada em Seção 17.93, “xorg.

O Projeto Mesa é um esforço para fornecer implementação gratuita do OpenGL. Para especificar uma dependência em vários componentes deste projeto, use a variável USE_GL. Veja Seção 17.31, “gl para a lista completa dos componentes disponíveis. Para compatibilidade com versões anteriores, o valor yes direciona para glu.

Exemplo 6.18. Exemplo USE_XORG
USES=		gl xorg
USE_GL=		glu
USE_XORG=	xrender xft xkbfile xt xaw

Tabela 6.7. Variáveis ​​para Ports Que Usam X
USES= imakeO port usa imake.
XMKMFDefinir o caminho de xmkmf se não no PATH. Padrão para xmkmf -a.

Exemplo 6.19. Usando Variáveis ​​Relacionadas ao X11
# Use some X11 libraries
USES=		xorg
USE_XORG=	x11 xpm

6.9.2. Ports que Requerem Motif

Se o port requer uma biblioteca Motif, defina USES=motif no Makefile. A implementação padrão do Motif é x11-toolkits/open-motif. Os usuários podem escolher o x11-toolkits/lesstif em vez disso, definindo WANT_LESSTIF no seu make.conf.

O MOTIFLIB será definido por motif.mk para referenciar a biblioteca Motif apropriada. Por favor, corrija o fonte do port para usar ${MOTIFLIB} onde quer que a biblioteca Motif seja referenciada no Makefile original ou no Imakefile.

Existem dois casos comuns:

  • Se o port se referir à biblioteca Motif como -lXm em seu Makefile ou Imakefile, substitua ${MOTIFLIB} por isso.

  • Se o port usa XmClientLibs em seu Imakefile, mude para ${MOTIFLIB} ${XTOOLLIB} ${XLIB}.

Observe que o MOTIFLIB (geralmente) se expande para -L/usr/local/lib -lXm -lXp ou /usr/local/lib/libXm.a, então não há necessidade de adicionar -L ou -l na frente.

6.9.3. Fontes X11

Se o port instalar fontes para o X Window System, coloque-as em LOCALBASE/lib/X11/fontes/local.

6.9.4. Obtendo um DISPLAY Falso com Xvfb

Algumas aplicações requerem uma tela X11 funcional para que a compilação seja bem-sucedida. Isso representa um problema para as máquinas que operam sem um monitor. Quando essa variável é usada, a infraestrutura de compilação iniciará o X virtual framebuffer. Um DISPLAY funcional é então passado para a compilação. Veja USES=exibição para os possíveis argumentos.

USES=	display

6.9.5. Entradas de Desktop

Entradas de desktop (um padrão Freedesktop) fornecem uma maneira de ajustar automaticamente os recursos do desktop quando um novo programa é instalado, sem a necessidade de intervenção do usuário. Por exemplo, programas recém-instalados aparecem automaticamente nos menus de aplicativos de ambientes de desktop compatíveis. Entradas de Desktop surgiram no ambiente de desktop GNOME, mas agora são um padrão e também funcionam com o KDE e o Xfce. Esta pitada de automação fornece um benefício real para o usuário, e as entradas de desktop são incentivadas para aplicativos que podem ser usados em um ambiente desktop.

6.9.5.1. Usando Arquivos .desktop Pré-definidos

Ports que incluem *.desktop pré-definidos devem incluir estes arquivos no pkg-plist e instalá-los no diretório $LOCALBASE/share/applications. A macro INSTALL_DATA é útil para instalar esses arquivos.

6.9.5.2. Atualizando o Banco de Dados do Desktop

Se um port tiver uma entrada MimeType em seu portname.desktop, o banco de dados do desktop deve ser atualizado após a instalação e desinstalação. Para fazer isso, defina USES= desktop-file-utils.

6.9.5.3. Criando Entradas de Desktop com DESKTOP_ENTRIES

As entradas desktop podem ser facilmente criadas para aplicativos usando DESKTOP_ENTRIES. Um arquivo chamado name.desktop será criado, instalado e adicionado ao pkg-plist automaticamente. A sintaxe é:

DESKTOP_ENTRIES=	"NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify

A lista de possíveis categorias está disponível no Site Freedesktop. StartupNotify indica se a aplicação é compatível com notificações de inicialização. Estes são tipicamente um indicador gráfico como um relógio que aparece no ponteiro do mouse, menu ou painel para dar ao usuário uma indicação quando um programa está sendo iniciado. Um programa que seja compatível com as notificações de inicialização limpa o indicador depois de iniciado. Programas que não são compatíveis com as notificações de inicialização nunca limpariam o indicador (possivelmente confundindo e enfurecendo o usuário) e devem ter StartupNotify definido como false então o indicador não é mostrado.

Exemplo:

DESKTOP_ENTRIES=	"ToME" "Roguelike game based on JRR Tolkien's work" \
			"${DATADIR}/xtra/graf/tome-128.png" \
			"tome -v -g" "Application;Game;RolePlaying;" \
			false

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.