FreeBSD: Xorg Minimal Install

From Wiki³
Jump to: navigation, search


IconUNDER CONSTRUCTION: The code monkeys are on the loose! Check back for updates!
# $Id: Xorg-Minimal-HOWTO,v 1.8 2009/10/20 20:51:05 k Exp $
#
# X.org Minimal Install HOWTO


  [1] INTRO

  The following is my own personal account on my best attempts at 
  getting the most minimal X.org setup possible. My overall goal was to 
  maintain minimalism without sacrificing usability.


  [2] MAKE.CONF

  The following options from the /etc/make.conf file are to be used in 
  the building of X.org Minimal.

	sh# sudo $EDITOR /etc/make.conf

	WITHOUT_ARTS="yes"
	WITH_DBUS="yes"
	WITHOUT_ESOUND="yes"
	WITHOUT_GSTREAMER="yes"
	WITH_HAL="yes"
	WITHOUT_NAS="yes"
	WITH_NVIDIA_GL="yes"
	WITHOUT_GTK1="yes"
	WITH_GTK2="yes"
	WITHOUT_QT="yes"
	WITHOUT_NLS="yes"
	WITHOUT_GSSAPI="yes"
	WITHOUT_IPV6="yes"
	WITHOUT_JAVA="yes"
	WITH_BROWSER="firefox"
	BROWSER="firefox"
	WITH_MPLAYER="yes"
	WITHOUT_XINE="yes"
	WITHOUT_XMMS="yes"
	WITH_DVD_DEVICE="/dev/acd0"
	WITHOUT_CUPS="yes"
	WITHOUT_DEBUG="yes"
	WITHOUT_GCONF="yes"
	WITHOUT_GNOME="yes"
	WITHOUT_GNOMEVFS="yes"
	WITHOUT_GNOMEVFS2="yes"
	WITHOUT_KDE="yes"
	WITHOUT_NAUTILUS="yes"
	WITH_PERL="yes"
	WITH_PYTHON="yes"
	# lang/perl5.8
	.if ${.CURDIR:M*/ports/lang/perl5.8}
	WITHOUT_PERL_64BITINT="yes"
	WITHOUT_PERL_MALLOC="yes"
	WITH_THREADS="yes"
	.endif
	# lang/python
	.if ${.CURDIR:M*/ports/lang/python}
	WITHOUT_HUGE_STACK_SIZE="yes"
	WITHOUT_IPV6="yes"
	WITH_THREADS="yes"
	.endif
	# x11-servers/xorg-server/
	.if ${.CURDIR:M*/ports/x11-servers/xorg-server}
	WITH_OPENSSL_BASE=yes
	.endif
	# x11/nvidia-driver
	.if ${.CURDIR:M*/ports/x11/nvidia-driver}
	WITH_LINUX="yes"
	WITH_ACPI="yes"
	.endif
	# x11/rxvt-unicode
	.if ${.CURDIR:M*x11/rxvt-unicode}
	CONFIGURE_ARGS+=	--disable-iso14755
	WITHOUT_AFTERIMAGE=yes
	WITHOUT_IMLOCALE_FIX=yes
	WITHOUT_MENUBAR=yes
	WITHOUT_NEXT_SCROLLBAR=yes
	WITHOUT_PERL=yes
	WITHOUT_PLAIN_SCROLLBAR=yes
	WITHOUT_RXVT_SCROLLBAR=yes
	WITHOUT_TERMINFO=yes
	WITHOUT_UNICODE3=yes
	WITHOUT_XIM=yes
	WITHOUT_XTERM_SCROLLBAR=yes
	.endif

  Please note that even though the settings above are disabling 
  things like QT and GNOME you can still select to override this in 
  the config part of the port installation.

  Please also note the following changes to the /etc/rc.conf file so 
  that all of the X.org services can be started on boot.

	sh# sudo $EDITOR /etc/rc.conf

	dbus_enable="YES"
	hald_enable="YES"

  Feel free to also add 'linux_enable="YES"' at your own discretion.


  [3] INSTALL

  Now that we have all of that out of the way lets move on to the 
  exact list of the ports I installed in order to achieve my minimal 
  build. Note that I am not sure if the order in which they were 
  installed is an issue but I have preserved thus.

	# server
  	x11-servers/xorg-server

	# drivers
	x11-drivers/xf86-input-keyboard
	x11-drivers/xf86-input-mouse
	x11-drivers/xf86-video-nv	# replace with your video

	# fonts and libraries
	x11-fonts/xorg-fonts
	x11-fonts/dejavu
	x11-fonts/inconsolata-ttf
	x11-fonts/webfonts
	x11/libXcursor

	# utilities
	misc/unclutter
	x11/numlockx
	x11/xauth
	x11/xev
	x11/xinit
	x11/xkill
	x11/xmodmap
	x11/xrandr
	x11/xrefresh
	x11/xrdb
	x11/xset
	x11/xsetroot
	x11/xterm

  [4] CONFIGURE

  Now that the bulk of the actual server is setup you can switch on 
  over to the root account and run the following commands to get a 
  default config going.

	sh# Xorg -configure
	sh# cp ~/xorg.conf.new /etc/X11/xorg.conf

  Now you can go ahead and switch back to your user account and setup 
  a dummy '~/.xinitrc' file so you can test to make sure X.org works.

	sh# cat << EOF > ~/.xinitrc
		xsetroot -solid black &
		xterm
		EOF
	sh# startx


  [5] POST-INSTALL

  At this point I usually start installing everything else that would 
  be considered non-xorg-required packages. These are mainly ones that 
  I personally use. The ones I like to consider necessary are listed 
  first and the optional ones are last.

	# necessary
	graphics/scrot
	sysutils/conky
	x11/nvidia-driver
	x11/rxvt-unicode
	x11-wm/fluxbox

	# optional
	audio/audacious2
	devel/geany
	irc/xchat
	mail/thunderbird
	net-im/pidgin
	www/firefox35
	x11/nvidia-settings
	x11/nvidia-xconfig
	x11-fm/thunar


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

  [A] REFERENCES

  N/A