Desktop, light setup
After installing and configuring the base system, here are instructions on how to get a light desktop up and running quickly. The instructions provided show how to get xdm, slim or wdm login managers working. This example on the window manager JWM should provide insight on how to install other window managers.
Contents |
Install
The following input is sufficient to install the programs for a running Desktop system:
% pkg install xorg jwm slim
Alternatively, ports may be installed. xdm and wdm login managers are other options.
Desktop login
Basic session managers are XDM, WDM, and slim. After the login manager is configured, the Desktop and a home file of .xinitrc must be set up, or the window manager login will fail. KDM and GDM login manager installations are not covered here, because they are part of base windowmanagers with heavy dependencies.
Without .xinitrc in each home folder, the window manager will fail to load from the console and from the login manager.
Console
To start from the console, be sure to add exec [window manager] to the .xinitrc file, without an &. Here is an example of .xinitrc:
#!/bin/sh exec /usr/local/bin/jwm exec $1
Once it is set up, type:
% startx
General configuration
To proceed with your choice of login manager.
The .xinitrc file in the home folder requires a minimum of to start from a login manager:
#!/bin/sh exec $1
Example of a minimal /usr/local/share/xsessions/jwm.desktop file:
[Desktop Entry] Name=JWM Exec=jwm
.desktop files are in xdg-style, demonstrated at Desktop Entry Specification. It appears that /usr/local/share/xsessions/*.desktop replaces the home folder file .xsession. If using .xsession, it uses the same syntax as .xinitrc
Slim
Slim is a practical choice for a login manager, unless remote login access is needed. To enable slim, edit /etc/ttys to :
ttyv8 "/usr/local/bin/slim -nodaemon" xterm on secure
Slim requires a *.desktop file in a directory that is specified by /usr/local/etc/slim.conf next to the sessiondir option; typically this would be /usr/local/share/xsessions. Older versions of slim could have their window manager configured in the file slim.conf by the sessions option.
First create the desktop directory, if it doesn't exist, by typing:
% mkdir -p /usr/local/share/xsessions/
Example of /usr/local/share/xsessions/jwm.desktop file:
[Desktop Entry] Name=JWM Exec=jwm
Customization
To change the background, look into /usr/local/share/slim/themes/default/, create a backup file of background.jpg, then copy your choice background image to /usr/local/share/slim/themes/default/background.jpg
% cd /usr/local/share/slim/themes/default % mv background.jpg background.bk.jpg % mv [pathname/your file] background.jpg
To create multiple themes, you may create a new directory under themes/ that is similar to the default/ directory, then specify this themes subdirectory from /usr/local/etc/slim.conf. If you do this, be sure each used folder ends off with three files named: slim.theme , background.jpg and panel.png.
Add or edit your themes to slim.conf :
#current theme, use comma separated list to specify a set to randomly choose from current_theme default,mytheme
To create themes directories:
% cd /usr/local/share/slim/themes % cp -R default mytheme
Then edit the mytheme/ files to your liking. For more details of slim configuration, type either:
% man slim % less /usr/local/etc/slim.conf.sample
XDM
To configure xdm to start up on boot, edit /etc/ttys and change the option on line ttyv8 from off to on:
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm on secure
Read about the secure setting in this file.
Then set up identical .xsession and .xinitrc files in each home folder, with the contents and permissions as shown in the above section.
If problems occur, check the file /var/log/xdm.log
% less /var/log/xdm.log
Customization files for XDM are located at /usr/local/lib/X11/xdm. See XFree Local Multi-User HOWTO: Using xdm and FreeBSD Handbook: XDM Configuration Files.
WDM
Here is how to set up Wings Display Manager's (WDM).
To enable WDM, edit line ttyv8 in file /etc/ttys to:
ttyv8 "/usr/local/bin/wdm -nodaemon" xterm on secure
It's configuration files are at /usr/local/lib/X11/wdm/.
Make sure the file /usr/local/lib/X11/wdm/wdm-config lists your window manager on the line DisplayManager*wdmWm:. The default window manager for WDM is windowmaker:
DisplayManager*wdmWm: wmaker:afterstep:blackbox:ctwm:enlightenment:fvwm:fvwm2:fvwm95:olvwm:qvwm:tvtwm:jwm
After rebooting, click the option on WDM's login screen, before logging in.
Desktop programs
Use the window manager's configuration files or .xinitrc to start up desktop programs.
Xorg
If an error is made, making it harder to edit files from the command prompt, reboot into single user mode, then remount the drive using the command:
% mount -u /
To create a custom xorg configuration file:
% Xorg -configure
After testing this configuration, xorg.conf.new can be copied to /etc/X11/xorg.conf:
% cp /root/xorg.conf.new /etc/X11/xorg.conf
See Configuring X and the FreeBSD Handbook: Chapter 6. The X Window System for more information.
Enabling hardware
To enable the mouse and keyboard, considering that recent versions of xorg are set to use autodetection by default.
Add the following to /etc/rc.conf :
dbus_enable="YES"
For using devfs, add to /etc/fstab :
devfs /dev devfs rw 0 0 # This line may not be necessary, since devfs automatically uses /dev fdesc /dev/fd fdescfs rw 0 0
Programs may have to be built without the hal option. See the manpages: devfs, devfs.conf, devfs.rules, and fdescfs.
Obsolete configuration reference
This is for those who are familiar with older versions of FreeBSD.
Manually setting the option in xorg.conf to the next line enabled the mouse and keyboard:
Option "AllowEmptyInput" "False"
/etc/rc.conf :
hald_enable="YES" #this option can be replaced with FreeBSD's native programs devfs and fdesc through the fstab file.
References
- FreeBSD 6 Unleashed (2006)
- Various FreeBSD and other related forums: https://forums.freebsd.org/
- FreeBSD and programs documentation