Added rough instructions on how to install Xfce4 plus dependencies.
[ikiwiki.git] / varialus / index.mdwn
1 # et
2 # Anisoptera
3 *The following is an unpaid personal wiki page. The views and opinions expressed herein do not necessarily reflect those of the DragonFly BSD mascot nor its management.*
4 ### Tidbits
5 * **Hammer** is hands down the best file system currently in existence. It has block level deduplication, it is supported out of the box by operating system with great underpinnings, and it runs great on regular hardware.
6 * **DragonFly BSD** is an awesome operating system for many reasons other than that it's the only OS with Hammer, but Hammer is why I'm making the switch. DragonFly's default GUI configuration is a bit rough around the edges for everyday use. But it's nothing that a little ironing can't fix.
7 * **[Xfce](http://xfce.org/)** is a lightweight yet feature rich desktop environment. It has maintains an excellent balance between [innovation and compatibility](http://lwn.net/Articles/430598/).
8 * **[Dissonance](https://bitbucket.org/varialus/dissonance)** is my fork of Apache Harmony, which is a clean room implementation of Java with a permissive license. Sun and now Oracle refuse to license the TCK, a tool used to validate Java compatibility, for use with Harmony. As a result of the dissonance caused by this refusal to cooperate with the community, Apache retired Harmony and resigned from the Java Community Process Executive Committee. I would have preferred for Apache and the community to have instead just written their own TCK, but I don't know what effects the dissonance had on their organization and it was their decision to make, so I can't blame them. It's unfortunate that such a great project has been effectively abandoned, and so it it is with that in mind that I call on the community to support Dissonance; make your own TCK and make it so much better so as to make passing Oracle's TCK effectively meaningless.
9 * **[Jython](http://www.jython.org/)** is Python written in Java. It's not included in DragonFly BSD by default, but it's a great tool and I use it.
10 * **ee** is roughly equivalent to **nano**. They are both easy to use command line text editors. The exit option will ask you whether you want to save. You can get to the exit confirmation by pressing Ctrl-[ and selecting 'a) leave editor'.
11 * **pkgin** is roughly equivalent to **apt-get**. They are both fairly straightforward command line package management utilities.
12
13 ### Reminders
14 * If NetworkManager Applet is installed, use it to override an unreliable DNS server rather than editing /etc/resolv.conf directly. Observed in NetworkManager 0.8.1 on Debian Squeeze.
15 * In DragonFly BSD the command *shutdown -p now* will shutdown and turn off your computer. Using the -h switch instead of -p will shutdown and halt the computer but not turn it off. In Debian and probably other Linux distributions, the command *shutdown -h now* will shutdown and turn off your computer. The -p switch isn't available, but there may be a way to shutdown and halt without turning off your computer.
16
17 ### Issues
18 * Varialus should ensure that these issues are properly logged. Yes, I know that they should be properly logged and I intend to eventually get them all logged. In the mean time hopefully my notes will help someone still trying to find the answers to life's persistent questions.
19 * The installer should offer the Xfce desktop environment as a supported option. Observed in DragonFly 3.0.2. See workaround below.
20 * The installer should set the keyboard layout before any typing is required. Observed in DragonFly 3.0.2.
21 * The installer should set the keyboard layout for the GUI. Observed in DragonFly 3.0.2. See workaround below.
22 * The installer should set the keyboard layout for the encryption password prompt. Observed in DragonFly 3.0.2.
23 * The installer should configure the keyboard within the GUI to be able to use the caps lock key. Observed in DragonFly 3.0.2. See workaround below.
24 * When encrypting the swap partition, the installer should configure the boot loader to generate a random key each time the system is booted so that the password doesn't have to be typed twice when the system is booted. Observed in DragonFly 3.0.2.
25 * When configuring the system from the installer, if the system just finished installing with encryption, the hard drive should stay unlocked so that the user doesn't have to type in his password again. Observed in DragonFly 3.0.2.
26 * When configuring the system from the installer, if the system is encrypted but was not just barely installed, the user should only have to type in his password once, not twice. Observed in DragonFly 3.0.2.
27 * When creating a user password in the installer, the password should not be written to a plain text installation log. Observed in DragonFly BSD 3.0.2.
28 * When installing from a USB device onto a USB device, the installer should ensure that installed media is named such that when booted without the USB installer, the installed device name doesn't change. Observed in DragonFly 3.0.2.
29 * When installing onto a 3TB+ hard drive, the default partition table should be able to handle that size. Observed in DragonFly 3.0.2. Fixed and tested in snapshot on 8/14/2012. See workaround below.
30 * After selecting to install using all of a 3TB+ hard drive that already has an MS-DOS/MBR partition table on it, the installer should overwrite the partition table with an adequate partition table such as GPT. Observed in snapshot on 8/14/2012.
31 * The default shell provided by the installer should list valid auto completion options after typing a partial command and then pressing tab two or more times. Observed in DragonFly 3.0.2.
32 * ->Excepting the bullet point, this syntax should center text in this wiki.<- Observed on 8/25/2012.
33 * The following errors should not occur when quitting from the GUI.
34
35         waiting for X server to shut down xterm: fatal IO error 35 (Resource temporarily unavailable) or KillClient on X server ":0.0"
36         xterm:  fatal IO error 35 (Resource temporarily unavailable) or KillClient on X server "0.0"
37         failed to unset mtrr: Device not configured
38         
39         
40         xauth: (argv):1:  bad display name "myhostname.mysubdomain.mytld:0" in "remove" command
41
42     Observed in DragonFly BSD 3.0.2 64-bit on VirtualBox 4.1.20 in Debian Squeeze.
43
44 ### Workarounds
45 **Enable the Caps Lock Key within the GUI**
46
47 Edit the file /etc/X11/xorg.conf.
48
49     ee /etc/X11/xorg.conf
50
51 Delete the ctrl:nocaps XkbOptions option from the InputDevice section with the identifier Keyboard0 of the xorg.conf file. Or comment it out by prefixing the line with the # symbol.
52
53     Section "InputDevice"
54         Identifier  "Keyboard0"
55         Driver      "kbd"
56         #Option      "XkbOptions" "ctrl:nocaps"
57     EndSection
58
59 Observed in DragonFly BSD 3.0.2.
60
61 **Install Non-GUI on 3TB+ Hard Drive**
62
63 *WARNING:* This workaround includes instructions which will delete all data from a hard drive.
64
65 Delete the partition table from the hard drive. There are various tools with which to do this, one particularly easy to use tool is the [GParted Live CD/USB](http://gparted.sourceforge.net/livecd.php).
66
67 Install from a [snapshot version of DragonFly](http://avalon.dragonflybsd.org/snapshots/). Be aware that snapshot versions are less thoroughly tested than stable releases.
68
69 Tested in snapshot on 8/14/2012.
70
71 **Install Xfce 4.6 via Downstream Installer**
72
73 An [unofficial Xfce installer](http://island.quantumachine.net/~swildner/LiveDVD/x86_64/) was recently [announced](http://leaf.dragonflybsd.org/mailarchive/users/2012-07/msg00123.html). As far as I can tell it is functionally identical to the official GUI installer except that it includes the Xfce 4.6 desktop environment rather than the FVWM window manager. Hopefully the changes will be pushed upstream and it will be accepted as an official installation option.
74
75 **Install Xfce 4.6**
76
77 *WARNING:* This workaround is not yet complete. Contributions are welcome.
78
79 The following testing is being done with a root account and no user account. Additional testing with a regular user account will be done later.
80
81 *DragonFly BSD 3.1-DEVELOPMENT Non-GUI Instructions*
82
83 Get a list of which packages would be included if Xfce was installed from source. If you haven't already done so, [create and update the pkgsrc tree](http://www.dragonflybsd.org/docs/howtos/HowToPkgsrc/#index2h2). Running make pkgsrc-create failed for me when I ran it in my virtual machine with 2 GB, but succeeded when I ran it with 3171 MB.
84
85     cd /usr/
86     make pkgsrc-create
87     make pkgsrc-update
88     cd /usr/pkgsrc/meta-pkgs/xfce4
89     pkgin update
90     pkgin in `cat Makefile | grep-E" xfce4. * mk "| sed-e 's / .include. * \ / xf / xf / g'-e 's / \ /. * / / g' | tr - d "\ n" ` pkgin in `cat Makefile | grep -E "xfce4.*mk" | sed -e 's/.include.*\/xf/xf/g' -e 's/\/.*/ /g' | tr -d "\n"`
91     pkg_radd modular-xorg
92     ls /dev/
93
94 Log into another console window by pressing Ctrl-Alt-F2 or in VirtualBox, Alt-F2.
95
96     man moused
97
98 Scroll down until you find where it mentions mouse dev names.
99
100     ee /etc/X11/xorg.conf
101
102 Comment out the /dev/sysmouse line by putting a # in front of it. Add the following line.
103
104     Option "Device" "/dev/psm0"
105
106 Except replace psm0 with whichever mouse you've got listed in /dev. Then save the file.
107
108     startxfce4
109
110 *DragonFly BSD 3.0.2 GUI Instructions*
111
112 I got the message Error Code 1 while creating and updating my pkgsrc tree. I haven't yet looked into it further.
113
114 Get a list of which packages would be included if Xfce was installed from source. If you haven't already done so, [create and update the pkgsrc tree](http://www.dragonflybsd.org/docs/howtos/HowToPkgsrc/#index2h2).
115
116     cd /usr/
117     make pkgsrc-create
118     make pkgsrc-update
119
120 Get a list of which packages would be included if Xfce was installed from source. The pkgsrc tree was maybe already created by default on this version of DragonFly BSD. If it has not already been created, you'd first want to [create it](http://www.dragonflybsd.org/docs/howtos/HowToPkgsrc/#index2h2) before continuing. Update the pkgsrc tree.
121
122     cd /usr/
123     make pkgsrc-update
124
125 *Notes*
126
127 * [XFCE based LiveDVD/IMG](http://leaf.dragonflybsd.org/mailarchive/users/2012-07/msg00123.html)
128 * [Installing a Desktop Environment: Xfce4](http://www.dragonflybsd.org/docs/how_to_get_to_the_desktop/#index11h3)
129 * [Desktop Environments: Xfce](http://www.dragonflybsd.org/docs/newhandbook/X/#index9h3)
130 * [Longest DragonFly BSD Review: Running Xfce in DragonFlyBSD 3.0.1](http://insidesocal.com/click/2012/04/review-dragonflybsd-301----the-5.html)
131 * [Instructions via Google Translate](http://www.google.com/translate_c?langpair=en&u=http://dragonflybsd.fr/index.php?page=Installation+de+Xfce4)
132 * [Installing pkgsrc](http://www.dragonflybsd.org/docs/howtos/HowToPkgsrc/#index2h2)
133
134     pkgin search xfce
135
136 **Install Xfce 4.8**
137
138 *WARNING:* This workaround is not yet complete. Contributions are welcome.
139
140 * [Choosing between portability and innovation](http://lwn.net/Articles/430598/)
141 * [Xfce 4.8 on BSD flavors](http://gezeiten.org/post/2011/01/Xfce-4.8-on-BSD-flavors)
142 * [Xfce 4.8 tour](http://xfce.org/about/tour48)
143
144 **Install Xfce 4.10**
145
146 *WARNING:* This workaround is not yet complete. Contributions are welcome.
147
148 * [Xfce 4.10 released](http://www.xfce.org/about/news/?post=1335571200)
149 * [Xfce 4.10 tour](http://xfce.org/about/tour)
150
151 **Set the GUI Keyboard Layout**
152
153 Edit the file /etc/X11/xorg.conf.
154
155     ee /etc/X11/xorg.conf
156
157 Set the XkbVariant option to your keyboard variant.
158
159     Section "InputDevice"
160         Identifier  "Keyboard0"
161         Driver      "kbd"
162         Option      "XkbVariant" "dvorak"
163     EndSection
164
165 Valid keyboard options can be found by searching through /usr/pkg/share/X11/xkb/symbols/ for example to find references to the dvorak keyboard layout, run the following command.
166
167     grep --color -n -r dvorak /usr/pkg/share/X11/xkb/symbols
168
169 If too many lines scroll by, you can use your arrow buttons to scroll back within the non-graphical console screen by pressing the Scroll Lock button on your keyboard.
170
171 Tested in DragonFly 3.0.2.