Added summary of how to install xfce4. Corrected one of the commands.
[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 Summary
84
85 * Install XOrg if it's not already installed.
86 * Ensure that mouse works.
87 * Get the xfce4 meta-package make file.
88 * Install binary files listed in xfce4 meta-package make file.
89
90 These instructions are currently a mess. They're currently just a rough outline of how I got it working. I'll go through and clean it up later.
91
92 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.
93
94     cd /usr/
95     make pkgsrc-create
96     make pkgsrc-update
97     cd /usr/pkgsrc/meta-pkgs/xfce4
98     pkgin update
99     pkgin in `cat Makefile | grep -E "xfce4.*mk" | sed -e 's/.include.*\/xf/xf/g' -e 's/\/.*/ /g' | tr -d "\n"`
100     pkg_radd modular-xorg
101     ls /dev/
102
103 Log into another console window by pressing Ctrl-Alt-F2 or in VirtualBox, Alt-F2.
104
105     man moused
106
107 Scroll down until you find where it mentions mouse dev names.
108
109     ee /etc/X11/xorg.conf
110
111 Comment out the /dev/sysmouse line by putting a # in front of it. Add the following line.
112
113     Option "Device" "/dev/psm0"
114
115 Except replace psm0 with whichever mouse you've got listed in /dev. Then save the file.
116
117     startxfce4
118
119 *DragonFly BSD 3.0.2 GUI Instructions*
120
121 I got the message Error Code 1 while creating and updating my pkgsrc tree. I haven't yet looked into it further.
122
123 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).
124
125     cd /usr/
126     make pkgsrc-create
127     make pkgsrc-update
128
129 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.
130
131     cd /usr/
132     make pkgsrc-update
133
134 *Notes*
135
136 * [XFCE based LiveDVD/IMG](http://leaf.dragonflybsd.org/mailarchive/users/2012-07/msg00123.html)
137 * [Installing a Desktop Environment: Xfce4](http://www.dragonflybsd.org/docs/how_to_get_to_the_desktop/#index11h3)
138 * [Desktop Environments: Xfce](http://www.dragonflybsd.org/docs/newhandbook/X/#index9h3)
139 * [Longest DragonFly BSD Review: Running Xfce in DragonFlyBSD 3.0.1](http://insidesocal.com/click/2012/04/review-dragonflybsd-301----the-5.html)
140 * [Instructions via Google Translate](http://www.google.com/translate_c?langpair=en&u=http://dragonflybsd.fr/index.php?page=Installation+de+Xfce4)
141 * [Installing pkgsrc](http://www.dragonflybsd.org/docs/howtos/HowToPkgsrc/#index2h2)
142
143     pkgin search xfce
144
145 **Install Xfce 4.8**
146
147 *WARNING:* This workaround is not yet complete. Contributions are welcome.
148
149 * [Choosing between portability and innovation](http://lwn.net/Articles/430598/)
150 * [Xfce 4.8 on BSD flavors](http://gezeiten.org/post/2011/01/Xfce-4.8-on-BSD-flavors)
151 * [Xfce 4.8 tour](http://xfce.org/about/tour48)
152
153 **Install Xfce 4.10**
154
155 *WARNING:* This workaround is not yet complete. Contributions are welcome.
156
157 * [Xfce 4.10 released](http://www.xfce.org/about/news/?post=1335571200)
158 * [Xfce 4.10 tour](http://xfce.org/about/tour)
159
160 **Set the GUI Keyboard Layout**
161
162 Edit the file /etc/X11/xorg.conf.
163
164     ee /etc/X11/xorg.conf
165
166 Set the XkbVariant option to your keyboard variant.
167
168     Section "InputDevice"
169         Identifier  "Keyboard0"
170         Driver      "kbd"
171         Option      "XkbVariant" "dvorak"
172     EndSection
173
174 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.
175
176     grep --color -n -r dvorak /usr/pkg/share/X11/xkb/symbols
177
178 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.
179
180 Tested in DragonFly 3.0.2.