6.7 ʹÓà X11

6.7.1 X.Org ×é¼þ

¡¡¡¡ÔÚ Ports Ì×¼þÖÐÌṩµÄ X11 ʵÏÖÊÇ X.Org¡£ Èç¹ûÄúµÄÓ¦ÓóÌÐòÓõ½ÁË X ×é¼þ£¬ ÔòÓ¦½« USE_XORG ÉèΪËùÐèÒªµÄÄÇЩ×é¼þ¡£ Ŀǰ¿ÉÓõÄ×é¼þ°üÀ¨£º

¡¡¡¡bigreqsproto compositeproto damageproto dmx dmxproto evieproto fixesproto fontcacheproto fontenc fontsproto fontutil glproto ice inputproto kbproto libfs oldx printproto randrproto recordproto renderproto resourceproto scrnsaverproto sm trapproto videoproto x11 xau xaw xaw6 xaw7 xaw8 xbitmaps xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont xfontcache xft xi xinerama xineramaproto xkbfile xkbui xmu xmuu xorg-server xp xpm xprintapputil xprintutil xpr oto xproxymngproto xrandr xrender xres xscrnsaver xt xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm.

¡¡¡¡×îеÄÁÐ±í£¬ ¿ÉÒÔÔÚ /usr/ports/Mk/bsd.xorg.mk ÖÐÕÒµ½¡£

¡¡¡¡The Mesa Project ÊÇÒ»¸öÖÂÁ¦ÓÚ×ÔÓÉµÄ OpenGL ʵÏֵļƻ®¡£ Äú¿ÉÒÔʹÓà USE_GL ±äÁ¿À´Èà port ÒÀÀµÆä²»Í¬µÄ×é¼þ¡£ ¿ÉÓõÄÑ¡Ïî°üÀ¨£º glut, glu, glw, glew, gl ºÍ linux¡£ ΪÁËʵÏÖÏòǰ¼æÈÝ£¬ µ±Ê¹Óà yes ʱϵͳ»á×Ô¶¯½«ÆäÓ³ÉäΪ glu¡£

Àý 6-1. ʹÓà USE_XORG µÄÀý×Ó

USE_XORG=   xrender xft xkbfile xt xaw
USE_GL=     glu

¡¡¡¡Ðí¶à ports »á¶¨Òå USE_XLIB£¬ Õâ»áµ¼Ö port ÒÀÀµ 50 ¶à¸ö¶¯Ì¬Á¬½Ó¿â¡£ ÓÉÓÚËü³öÏÖÓÚ X.org Ä£¿é»¯Ö®Ç°£¬ Òò´ËÕâ¸ö±äÁ¿½öΪÏòǰ¼æÈݵÄÔ­ÒòÌṩ£¬ Ð嵀 port ²»Ó¦ÔÙʹÓÃËü¡£

±í 6-5. Óõ½ X µÄ port ¿ÉÒÔʹÓõıäÁ¿

USE_XLIB ´Ë port Óõ½ÁË X ¿â¡£ Òѹýʱ - ÄúӦʹÓà USE_XORG ±äÁ¿ÁгöÓõ½µÄ X.Org ×é¼þ£¬ ¶ø²»ÊÇʹÓÃÕâ¸ö±äÁ¿¡£
USE_IMAKE ´Ë port Óõ½ÁË imake¡£
USE_X_PREFIX Òѹýʱ¡£ ĿǰÆä×÷ÓÃÓë USE_XLIB Ïàͬ£¬ ²¢¿ÉÒÔÖ±½ÓÓúóÕßÌæ»»¡£
XMKMF ÉèÖÃΪ xmkmf µÄÍêÕû·¾¶Ãû£¬ Èç¹ûËü²»ÔÚ PATH Öеϰ¡£ ĬÈÏÖµÊÇ xmkmf -a¡£

±í 6-6. ÓÃÓÚ±íʾ¶Ô X11 ijЩ×é¼þµÄÒÀÀµ¹ØÏµµÄ±äÁ¿

X_IMAKE_PORT ÓÃÒÔÌṩ imake ÒÔ¼°Ðí¶àÆäËüÓÃÓÚÁª±à X11 µÄ¹¤¾ßµÄ port¡£
X_LIBRARIES_PORT ÓÃÒÔÌṩ X11 ¿âµÄ port¡£
X_CLIENTS_PORT ÓÃÒÔÌṩ X ¿Í»§µÄ port¡£
X_SERVER_PORT ÓÃÒÔÌṩ X ·þÎñµÄ port¡£
X_FONTSERVER_PORT ÓÃÒÔÌṩ×ÖÌå·þÎñµÄ port¡£
X_PRINTSERVER_PORT ÓÃÒÔÌṩ´òÓ¡·þÎñµÄ port¡£
X_VFBSERVER_PORT ÓÃÒÔÌṩÔÚÐéÄâÖ¡»º´æ·þÎñ(virtual framebuffer server) µÄ port¡£
X_NESTSERVER_PORT ÓÃÒÔÌṩǶÌ× X ·þÎñµÄ port¡£
X_FONTS_ENCODINGS_PORT ÓÃÒÔΪ×ÖÌåÌṩ±àÂëµÄ port¡£
X_FONTS_MISC_PORT ÓÃÒÔÌṩ¶àÖÖλͼ×ÖÌåµÄ port¡£
X_FONTS_100DPI_PORT ÓÃÒÔÌṩ 100dpi λͼ×ÖÌåµÄ port¡£
X_FONTS_75DPI_PORT ÓÃÒÔÌṩ 75dpi λͼ×ÖÌåµÄ port¡£
X_FONTS_CYRILLIC_PORT ÓÃÒÔÌṩÎ÷Àï¶ûλͼ×ÖÌåµÄ port¡£
X_FONTS_TTF_PORT ÓÃÒÔÌṩ TrueType® ×ÖÌåµÄ port¡£
X_FONTS_TYPE1_PORT ÓÃÒÔÌṩ Type1 ×ÖÌåµÄ port¡£
X_MANUALS_PORT ÓÃÒÔÌá¹©ÃæÏò¿ª·¢ÈËÔ±µÄÁª»úÊÖ²áµÄ port¡£

Àý 6-2. ÔÚ±äÁ¿ÖÐʹÓÃÓë X11 ÓйصıäÁ¿

# ʹÓÃijЩ X11 ¿â²¢ÒÀÀµ×ÖÌå·þÎñºÍÎ÷Àï¶û×ÖÌå¡£
RUN_DEPENDS=   ${LOCALBASE}/bin/xfs:${X_FONTSERVER_PORT} \
               ${LOCALASE}/lib/X11/fonts/cyrillic/crox1c.pcf.gz:${X_FONTS_CYRILLIC_PORT}

USE_XORG=      x11 xpm

6.7.2 ÐèҪʹÓà Motif µÄ port

¡¡¡¡Èç¹ûÄúµÄ port ÐèÒª Motif ¿â£¬ ÔòÓ¦ÔÚ Makefile Öж¨Òå USE_MOTIF¡£ ĬÈ쵀 Motif ʵÏÖÊÇ x11-toolkits/open-motif¡£ Óû§¿ÉÒÔͨ¹ýÉèÖà WANT_LESSTIF ±äÁ¿À´Ñ¡Ôñ x11-toolkits/lesstif ´úÌæËü¡£

¡¡¡¡bsd.port.mk »á½« MOTIFLIB ±äÁ¿ÉèÖÃΪµ½ºÏÊ浀 Motif ¿âµÄÒýÓᣠÇëʹÓò¹¶¡½«Äú port ÖÐ Makefile »ò Imakefile Ìáµ½ Motif ¿âµÄµØ·½¸ÄΪ ${MOTIFLIB}¡£

¡¡¡¡ÓÐÁ½ÖֱȽϳ£¼ûµÄÇé¿ö£º

¡¡¡¡×¢Òâ MOTIFLIB (ͨ³£) »áÕ¹¿ªÎª -L/usr/X11R6/lib -lXm »ò /usr/X11R6/lib/libXm.a£¬ ËùÒÔ²»ÐèÒªÔÚÆäǰ¼ÓÈë -L »ò -l¡£

6.7.3 X11 ×ÖÌå

¡¡¡¡Èç¹û port ½«Îª X Window ϵͳ°²×°×ÖÌ壬 ½«ÕâЩ×ÖÌå·Åµ½ LOCALBASE/lib/X11/fonts/local¡£

¡¡¡¡

6.7.4 ͨ¹ý Xvfb À´»ñµÃÐéÄâµÄ DISPLAY

¡¡¡¡Ä³Ð©Ó¦ÓóÌÐò±ØÐëÔÚÓпÉÓÃµÄ X11 ÏÔʾµÄʱºò²ÅÄܳɹ¦±àÒë¡£ µ±±àÒëµÄ»úÆ÷ûÓпØÖÆÌ¨Ê±£¬ Õâ»á´øÀ´ÎÊÌâ¡£ ΪÁ˽â¾öÕâ¸öÎÊÌ⣬ Èç¹û¶¨ÒåÁËÊʵ±µÄ±äÁ¿£¬ Áª±à»ù´¡ÉèÊ©»áÆô¶¯²ÉÓÃÐéÄâÖ¡»º´æµÄ X server¡£ ´Ëʱ£¬ ±àÒë¹ý³ÌÖн«»á´«³ö¿ÉÓÃµÄ DISPLAY¡£

USE_DISPLAY=  yes

6.7.5 ×ÀÃæÏî

¡¡¡¡Í¨¹ýÀûÓà DESKTOP_ENTRIES ±äÁ¿£¬ ¿ÉÒÔºÜÈÝÒ×µØÔÚÄúµÄ port Öд´½¨×ÀÃæÏî (Freedesktop ±ê×¼)¡£ ÕâЩÏî»áÔÚÀàËÆ GNOME »ò KDE ÕâÑùµÄ·ûºÏÕâÒ»±ê×¼µÄ×ÀÃæ»·¾³ÖÐÏÔʾÔÚÓ¦ÓóÌÐò²Ëµ¥ÖС£ ÕâÑù×ö»á×Ô¶¯´´½¨¡¢ °²×° .desktop Îļþ£¬ ²¢½«Æä¼ÓÈë pkg-plist¡£ ÆäÓ﷨Ϊ£º

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

¡¡¡¡Äú¿ÉÒÔÔÚ Freedesktop ÍøÕ¾ÉÏ ÕÒµ½¿ÉÓõķÖÀàÃû³Æ¡£ StartupNotify ±íʾӦÓóÌÐòÔÚÖ§³ÖÆô¶¯Í¨ÖªµÄ»·¾³ÖÐÇå³ý״̬ÐÅÏ¢¡£

¡¡¡¡Àý×Ó£º

DESKTOP_ENTRIES=  "ToME" "Roguelike game based on JRR Tolkien's work" \
                  "${DATADIR}/xtra/graf/tome-128.png" \
                  "tome -v -g" "Application;Game;RolePlaying;" \
                  false
ÈôÄúÓйØÓÚ FreeBSD ports ϵͳµÄÎÊÌ⣬ Çë·¢Ë͵ç×ÓÓʼþÖÁ <ports@FreeBSD.org>¡£
¹ØÓÚ´ËÎĵµµÄÈκÎÎÊÌ⣬ ÇëÖº¯ <doc@FreeBSD.org>¡£