I did this using Xubuntu 7.04 (Feisty) as the OS and a Xubuntu 7.04 Live CD for the portion using a live CD. I also like to use SimplePup (http://www.puppylinux.org/user/viewpage.php?page_id=1) for a small live boot, but I wanted the consistency here. I'll warn you again when the time comes, but messing up any commands in this can be a death knoll for all the data on your hard drive. Double, or even triple, check all your command line inputs and make sure you change what's written here to what your particular case is. I don't want to be held accountable for sloppy typing in the terminal, so please be careful.
Method 1: File Server Backup
The first way to back up is to a file server, a Samba server in this case. If you don't know what one is, you most likely don't have one and so you should either burn a CD or DVD backup or go to Method 2, setting up a Samba server is a discussion for another day. If you have a different type of file server than Samba, sorry but I don't have directions for that yet.
First, make sure you have enough hard drive space on the server for the amount of data you want to store on it. If not, you'll need to add another hard drive or get less data. I suggest the first option. Now, boot to your live CD, in this case Xubuntu 7.04. Once in the XFCE environment (AKA: the desktop) you'll need to install pyNeighborhood by going to Applications > System > Add/Remove... and searching for pyNeighborhood with the All Available Applications selection in the drop down menu in the upper right hand. Once completed you will have all the tools needed for dealing with Samba which are, quite unfortunately, not included with Ubuntu and its derivatives.
Now, open a terminal window and type sudo mkdir /mnt/samba to create a directory to which you can link directly to the Samba server. Now mount your samba directory you want to save to into this /mnt/samba directory, for example sudo smbmount //192.168.1.100/home/user/backup /mnt/samba at which point you will most likely be asked for the password to the Samba server. To break this down into English that says "As root (sudo) mount the Samba file system (smbmount) on the server (//192.168.1.100) in the backup directory (/home/user/backup) to be given the local folder samba so I don't have to type as much (/mnt/samba)." Now you can use the dd command.
The dd command is extremely powerful and can act as a way to destroy data or make backups similar to Norton Ghost. BE EXTREMELY CAREFUL WHEN USING DD, A TYPO CAN ERASE YOUR DRIVE!!!!! With that said, let's play with dd. It stands for "data definition", but some people lovingly call it "destroys data." For our backup we will define 2 options of dd, if and of. if stands for input file and of stands for output file. In this example we want to back up our entire drive to the server in an .img file, similar to an .iso image in principle. To do this type sudo dd if=/dev/hda of=/mnt/samba/mybackup.img. At this point make sure /dev/hda is the drive you want to back up, and change this to whatever drive you want to back up, and that mybackup.img is whatever name you want to give your image. Now check again, making sure that everything is typed correctly with spaces in all the right places. Hit ENTER and let it sit and do its thing. Backing up my 60GB drive takes 20ish minutes, so sit back and relax. There shouldn't be any visible signs if it's working correctly. If it finishes without error you'll get back to the prompt (#) and you're home free. To restore this backup do the same procedure, switching the if and of values. It's a beautiful thing, isn't it?
Method 2: Backing up to another drive or partition
Using this procedure you can backup an entire drive or partition to another drive or partition. First, make sure you have enough hard drive space on the destination drive or partition (the one you're copying to) for the amount of data you want to store on it. If not, you'll need to use a different hard drive. Now, boot to your live CD, in this case Xubuntu 7.04. This method is much easier than the previous in term of length of steps, but again BE EXTREMELY CAREFUL WHEN USING DD, A TYPO CAN ERASE YOUR DRIVE!!!!!
With that said, let's play with dd. It stands for "data definition", but some people lovingly call it "destroys data." For our backup we will define 2 options of dd, if and of. if stands for input file and of stands for output file. In this example we want to back up our drive or partition to another drive or partition. In the terminal type sudo dd if=/dev/hda of=/dev/hdb to copy one drive to another. To copy one partition to another it would be the same except with partition numbers, such as sudo dd if=/dev/hda1 of=/dev/hdb1 or if you want to do a backup on the same drive, a poor choice for safety reasons, it would be sudo dd if=/dev/hda1 of=/dev/hda2. At this point make sure /dev/hda is the drive you want to back up, and change this to whatever drive you want to back up, and that /dev/hdb is the drive you want to back up to. Now check again, making sure that everything is typed correctly with spaces in all the right places. Remember: whatever drive or partition is after of= will be completely overwritten. Hit ENTER and let it sit and do its thing. There shouldn't be any visible signs if it's working correctly. If it finishes without error you'll get back to the prompt (#) and you're home free. To restore this backup do the same procedure, switching the if and of values.
Sometimes you'll need to reinstall the Grub boot loader when restoring from an image. If this happens you'll be told by Grub during startup when it fails to load your OS. Just insert the Live CD and use the restore option. In Xubuntu, at least, there's an option labeled Reinstall Grub boot loader. Run this and you'll be fine. Otherwise from the terminal type grub-install /dev/hda or whatever your hard drive is.
Now you have all the different ways to back up. There are others to back up single files, but that's a simple copy and paste from one drive to another. To copy and paste single files to a Samba server follow the initial backup directions for making the link in /mnt/samba and then just copy and paste into that folder.
Happy backing up!
For the record Norton is a registered trademark of Symantec Corporation, please don't sue me if I didn't credit this properly.
This procedure was developed using the Xubuntu 7.04 (Feisty Fawn) Alternate Install CD running XFCE. As always, be careful when editing your system configuration files, or following any procedures from any site, as you can do harm to your system if a mistake is made. Always make backups of the configuration files that you change, or you might just find yourself with a broken system that's a pain to fix.
The first step is to decide how you want your desktop to look. I wanted to make it as close to a Windows desktop as possible. Once you know the basics of how it works you can do anything you want with it, that's the power of Linux based systems.
First, go to the Applications > Settings > Desktop Settings menu, see below.
Under the behavior tab, select File/launcher icons on the dropdown menu. Under Show icons for select only the trash checkbox. Now close the dialog box. This alone isn't enough though. From the terminal type mousepad ~/.config/xfce4/desktop/xfdesktoprc (where ~ is a shorthand to the /home/USERNAME directory, it saves some keystrokes and is fancier) to edit the xfdesktoprc file, which controls which XFCE icons are shown on the desktop. This is edited by simply setting true or false for show-filesystem, show-home, show-removable, and show-trash. If any of these variables aren't there you can add them. In this example only show-trash is set to true as I am editing the other icons manually.
None of these changes will take effect until a restart or log out and back in. Now to make the Computer and Home Files links for the desktop. Right click on the desktop and choose Create Launcher... from the menu. The Name and Icon selections are somewhat self explanatory, give any name you want for the link and choose any icon you want. For the Command you can either choose one through the browse menu to the right of the box or type in any command you want that you would type into a terminal window.
In this example I wanted my launcher to point to the root directory, similar to My Computer in a Windows system. So I used the browse menu to select thunar, the file manager in Xubuntu, and had it look to root (/). This could also be accomplished by just typing thunar /. You can create launchers that automatically look to a certain directory by making it the parameter of the command, like the home folder for the user, ie thunar /home/tillamook where tillamook would be replaced with your user name.
After a restart or logging out you should have the finished product similar to this:
Now go forth an customize Tillimookians!
For the record, Windows is a registered trademark of Microsoft.
After 1 week of posting our tips and fixes I would call it a success. We hoped to help a few people, but neither of us would have guessed 109 viewers in 8 countries on 3 continents already. Thank you all. We're getting closer every day to unveiling the ultimate goal of the team, EONS. Teasers and such to come as we get closer to release date.
EONS Project Team
This procedure was developed using the Xubuntu 7.04 (Feisty Fawn) Alternate Install CD running XFCE. As always, be careful when editing your system configuration files, or following any procedures from any site, as you can do harm to your system if a mistake is made. Always make backups of the configuration files that you change, or you might just find yourself with a broken system that's a pain to fix.
This walk through should leave you with a complete LTSP server that clients with their "network boot" setting enabled can boot from. While it's true that the Xubuntu Alternate Install CD has an option to install an LTSP server automatically for you that works well, there are usually a few gotchas that you have to watch out for. This post is intended to guide you through the gotchas with a minimum of hardship. The hard drive of the computer that you're using during this procedure will be completely overwritten, so make sure you don't have anything on it that you don't want to lose. Also, this walk through will reference a couple of other posts on this blog to cut down on duplicate instructions. I apologize ahead of time for the low quality of a few of the screen shots. Lets get started.
The Installation Process
Boot the computer that will become your server from the Xubuntu Alternate Install CD and, if you're running a version prior to 8.04, select the Install an LTSP server option when the menu comes up. If you're using Xubuntu 8.04 or later, you'll need to follow the instructions in our LTSP update post to start the LTSP server installation. Make sure that the computer is hooked up to the network so that it can download the packages for the LTSP client build (Build chroot) step later on. Follow the directions for the Choose language screens, the Configure the keyboard setup screens, and the Configure the network screen (enter whatever host name you want the server to have). On Xubuntu 8.04 and newer, you may also be asked to select your timezone. Once you get through all of those, you will be at the first Partition disks screen (Figure 1).
You want to choose the Guided - use entire disk option unless you have a good reason to do otherwise. This will use the entire hard drive (remember that you're supposed to get everything important off of it), giving the server the most possible storage for your users. The more users you have, the more hard drive space you will probably require. Also, while I'm at it I will mention that using Serial ATA (with NCQ) or SCSI instead of Parallel ATA hard drives will significantly improve the performance of your server. This is because SATA and SCSI drives handle simultaneous requests from multiple users more efficiently. Now, back to the installation. Once you have selected Guided - use entire disk, hit Enter and you will be brought to the second Partition disks screen which asks you which hard drive to partition. Select the drive (be aware that multiple disk RAID configurations may show up as only one drive) that you want to partition for the server to use and hit Enter. The next and final Partition disks screen is a confirmation screen confirming the partition configuration that you just set up. You will see more than one partition (there should be a swap partition in there somewhere), and that's normal. Hit the Left Arrow to go over to Yes and hit the Enter key. You will probably hear the hard drive(s) start crunching at this point while the partitions are created and formatted. Once that step is complete, Xubuntu versions earlier than 8.04 will have you go through a Configure time zone screen, and a Configure the clock screen asking about UTC time. After these screens, you will come to the Set up users and passwords set of screens (4 of them). Enter whatever user name and password information you want here, just make sure you remember it for later. Beginning with Xubuntu 8.10, home directory encryption became an option, so if you're running 8.10 or newer, you will see an encryption screen next. Whether or not you choose to encrypt your home directory is up to you. I personally would not for this server, since encryption is designed to protect your data in the event a computer itself is stolen. This is more of a concern with laptops. Once you're done with that you will see the Configuring APT screen, which may ask you if you use a proxy server (on newer versions). If you don't have a proxy server just hit Enter. The system will configure apt, and then the Select and install software screen will come up. All of this part of the setup is automated, so get yourself a cup of coffee, its gonna take awhile. The Building LTSP chroot... (Building Thin Client System... on newer Xubuntu versions) step may error out at 50% done, and if it does you'll see the RSOD (Red Screen of Death) in Figure 2.
If you see this screen, don't worry. Just hit Enter to Continue, and then hit Enter with Build LTSP chroot selected on the Ubuntu installer main menu screen. Once you are done installing and the server has rebooted, check out our post Build chroot Fails During LTSP Server Install which will walk you through the process of redoing this step. Next you'll see the Installing GRUB boot loader screen, and the the Finishing the installation screen just before the CD ejects and a screen asking you to Continue to complete the installation comes up. Take the CD out and hit Enter to restart the computer.
Set Up the Server Environment
The first thing you want to do is ensure that your X Terminal works (Application -> Accessories -> Terminal in the default XFCE setup). There is a problem with XFCE that some people (including us) have experienced where trying to launch and X term will cause XFCE to exit out to the login screen. If you try to launch the XFCE Terminal (or any other terminal for that matter) in XFCE and it crashes, check out our post entitled "XFCE Terminal Crash Fix" to remedy the problem. Once you have a working X Term, we can move on.
Assuming that you are at the Xubuntu logon prompt, type in the user name and password combo that you set up during the installation and log in. The first thing that I would recommend doing is shutting down the DHCP server daemon that should now be running on your LTSP server. This is just a precaution to make sure that no DHCP clients accidentally get an IP address from your server instead of your network's primary DHCP server. If all of the computers on your network have static IP addresses, you should be able to skip this step. To shut down the DHCP server, open an X Term and type sudo /etc/init.d/dhcp3-server stop and hit Enter. You should see the message in Figure 3.
Once this is done, you have two different paths you can take. If the LTSP installation went fine without the Red Screen of Death telling you the Build chroot step failed, just continue straight on to the end of this. If the installation failed on the Build chroot step, just follow the directions in the post entitled Build chroot Step Fails During LTSP Server Install and then come back to this post and continue from this point.
The next thing you want to do is set your server up to on it's own physical network. Once you have that done, you can start adding the LTSP client computers as well. You could also just leave it on a network that already has a DHCP server (like the one you're probably already on), but the issues surrounding that type of setup will have to be covered in another post. Once you have the server isolated on its own network, its time to set a static IP for it. Open the network settings dialog (Applications -> System -> Network) double click on your main network connection (Wired connection for me). On newer versions of Xubuntu, you may have to right click on the network manager icon in the system tray and then click Edit Connections... .Take a look at Figure 4 to see what I'm talking about.
Once the settings dialog comes up for that interface, change the Configuration: drop down box to Static IP address, and enter your static IP address information. Just for your information, I used 192.168.0.1 for the IP address, 255.255.255.0 for the Subnet mask, and 192.168.0.1 for the Gateway address. Have a look at Figure 5 to see what I mean.
Notice that the Gateway address is the same as the IP address in this case. I did this because this is a simple (and hopefully well generalized) procedure, so I didn't worry about getting the LTSP server on the Internet. If you need it to be on the Internet, just add the actual address of the gateway on the network, or leave it as the LTSP server if you're making it the gateway too. Once you have set the static network configuration, hit OK and then click Close on the Network Settings dialog box. Open an X Term and type sudo /etc/init.d/dhcp3-server start to start the DCHP server back up again.
Now, set up a client on the same physical network (by physical network I mean the same network switch or router by the way), set it to boot from the network, and try to boot it. At this point the client should boot off of the LTSP server you have set up and will eventually bring you to an X desktop (assuming you don't have any video issues). If things don't work out for you and the client won't boot, see the section below called So Its Broke and You Want to Fix It for help. You will see the Ubuntu load and logon screens when the client boots up but don't worry, this is normal. Once you log on it will be just like the Xubuntu environment that you set up on the server. Go ahead and log on to your new LTSP client-server setup using the user name and password you set up for the client and reap the fruits of your labor.
Something to note here is that the easy way to make changes to the client user interface (XFCE or otherwise) that the LTSP clients will see, is to log on to the server with the client's user name and password and make the changes. The next time you boot your client, it should reflect the changes that you have made on the server. You can use some of the other tips, tricks, and fixes on this blog (i.e. "LTSP Client Shuts Down Server - The Fix") to help you set up a workable, stable environment for your users. Also, since we all know that these types of procedures are almost never a "one size fits all" type of thing, see the "So Its Broke and You Want to Fix It" section below if you need it. Otherwise, enjoy.
So Its Broke and You Want to Fix It
If you've done everything in this post so far, but you're still having problems, you've come to the right place. I'm going to go through a few things that have given us fits in the past.
First, open an X Term and type sudo ifdown eth0 (where eth0 is the name of your main network card) and then type sudo ifup eth0. This will shut down and then bring back up your network interface, updating it with the changes you have made. Restarting the computer will have the same effect if you don't know the name of your network interface.
Second, please check your physical network setup and connections. I can't tell you the number of times that we (meaning me) have thought I had a broken LTSP server when it was just a network connection that I either forgot to hook up, or a switch that I forgot to plug in.
Third, if your client will not do a network boot correctly from the server, check to make sure that you have the BIOS set up to do a network boot. This can be a pain on some computers like the Dell Optiplex GX100 (who says you can't reuse an old computer huh?) that I'm using as my test bed to write this blog. In order to even get the option to use the network interface as a boot device, you have to enable an network interface option that says On w/ MBA in the BIOS. Thanks for that extra step Dell, my life wouldn't have been complete without it. Also, make sure that your network interface supports the protocols being used to boot off of the LTSP server (i.e. PXE). If it doesn't , get yourself another network card or computer that will work. Once you're sure of all this, check the next step.
Fourth, Xubuntu uses the H. Peter Anvin version of tftp (tftp-hpa, and thank you Mr. Anvin). This version of tftp responds to a switch (-s) that prepends a path onto the beginning of the path that the client uses for its download. If this isn't set right, you will get a file not found TFTP error on your client during the net boot. Check your /etc/ltsp/dhcpd.conf file along with the tftpd entry in your /etc/inetd.conf file to make sure that the path after the -s switch, plus the path to either of the image files (pxelinux.0 or nbi.img) in the dhcpd.conf file adds up to a valid path to your network boot image files. For instance, on the LTSP system that I set up while writing this, the complete path from adding the tftpd and dhcpd.conf entries was /var/lib/tftpboot/ltsp/i386/pxelinux.0. It could also be /opt/ltsp/i386/boot/pxelinux.0 too and it wouldn't hurt anything. They are the same file. Verify that this path points to a valid image on your system. If it does not, I would suggest searching the root (/) directory for the pxelinux.0 file (or the nbi.img file if you're not using a PXE enabled client). While you are in the dhcpd.conf file, take a look at the bottom and you'll notice the entry option root-path "/opt/ltsp/i386"; or something similar. This is that chroot(ed) directory that we set up earlier that will act as the root directory for your LTSP clients.
If this post was helpful to you and you liked it, let us know in the comments. If you didn't like this post, Boot wrote it and posted it under my name.
This procedure was developed using Xubuntu 7.04 (Feisty Fawn) running XFCE, but the problem still exists in Xubuntu 9.10 (Karmic Koala). As always, be careful when editing your system configuration files, or following any procedures from any site, as you can do harm to your system if a mistake is made. Always make backups of the configuration files that you change, or you might just find yourself with a broken system that's a pain to fix.
Make sure that your computer has a connection to the Internet while you are following these instructions. The command I'm going to give you grabs the packages that it needs from the Ubuntu repository to build the chroot. If you're running on a slow Internet connection (like dialup), take a look at the section below entitled "Rebuilding chroot Over Dialup".
The first thing you have to do is remove the old chroot(ed) directory structure that wasn't completely built during the installation. Open an X Term (see our post XFCE Terminal Crash Fix if you can't get an X Terminal to work), and type sudo rm -R /opt/ltsp/ and hit Enter (after checking the syntax). Be careful with this step as one missed key stroke could wipe out your root directory structure -consider yourself warned my fellow Tillamookite. If you would prefer to delete the directory from a graphical interface, type sudo thunar in the X term. This will launch the Xubuntu file manager and you will be able to navigate to the /opt/ltsp/ directory and delete it. Once again, if you're on a dialup Internet connection, you should probably check out the section at the bottom of this post before executing the next command. Once the rm command is done removing the /opt/ltsp/ directory and its contents, type sudo ltsp-build-client and hit Enter. This step rebuilds the /opt/ltsp/ directory structure that will become the directories that your LTSP clients use. This step takes quite awhile, so it might be a good time to catch up on your Tillamookism voting and comments for Tillamook Rage. Also, while we're waiting, I might as well give you a quick explanation of what chroot does. If you already know, just talk amongst yourselves. What chroot does in this case is set aside an area on the server's hard disk to act as a sort of sandbox (if I might borrow some software security terminology) that your clients can play in. It looks to your clients like they have their own hard drive complete with all the normal Linux folders like etc and var. So they can play all they want without hurting your server installation (in theory). Just make sure that you restrict the privileges of the LTSP client logon account(s), or some little prodigy might just end up using your LTSP server for certain undisclosed nefarious deeds. Anyway, once the ltsp-build-client command has finished, you're all set. If you stopped working on the "LTSP Server Setup - The (Relatively) Easy Way" post, to come and do this, go on back and meet me over there so we can continue.
Rebuilding chroot Over Dialup
If you're using dialup, you may want to replace the sudo ltsp-build-client line above with the following...
sudo ltsp-build-client --mirror file:///cdrom
Keep in mind that if your CDROM drive is not mounted to the cdrom directory, you will have to change the line to use the location that it is mounted to. For instance, if your CDROM drive was mounted to cdrom1, you would type
sudo ltsp-build-client --mirror file:///cdrom1
In most cases though, you won't have to worry about this.
What this does is to minimize the amount of downloading that takes place by grabbing the files from the CDROM drive. Some security patches will still be downloaded, but the amount of things that you have to suffer through will be minimized. Just make sure that your connection to the Internet is active and that you have inserted the Xubuntu Alternate Install CD in the CDROM drive before executing the line.
You can now skip back up to the sentence you were reading before I interrupted you.
- What is a Tillamook?
- What is a Tillamookism?
- Did you eat paint chips as a kid?
We can easily answer those questions.
- Tillamook (Till-uh-mouck) n - was the name of a short-lived processor made by Intel. After finding one in a laptop and wondering what it was, the team laughed themselves silly over the name, try saying it, it really is fun. After which the Tillamookism was born.
- A phrase, usually from TV or movie, in which a word is replaced by Tillamook.
- No comment.
So go and vote, exercise you rights as a human*! And if that doesn't convince you, sudo go and vote.
*Sorry, but any animals or plants capable of voting are excluded from this poll. If you feel the need, call you congressperson and ask for Universal Eukaryotic Suffrage.
I did this while installing Xubuntu 6.10 (Edgy) on a 100 MHz laptop with 64mb RAM and a 2.1 GB hard drive (who says old computers are junk). And yes, it runs and I use it for mobile C programming. It should work on any Debian or Debian derivative system, but I've only experienced it on Ubuntu and Ubuntu derivatives in the "low-memory" installation.
Anthy is a Japanese character converter. If your installer hangs on Installing anthy... then press ALT+F2 to switch to a command line console #2. This is a nice trick for Linux at the command line, you can open multiple consoles by pressing ALT+F keys. Press ENTER to activate the console. Type ps to see all running processes with their process id. You're looking for the process id for /usr/bin/mkworddic. Type kill -9 xxxxx, where xxxxx is the id for /usr/bin/mkworddic. Now press ALT+F1 to go back to install screen, where it should move past anthy.
Now go out and make use of those old computers.
I used the Xubuntu 7.04 (Feisty) Alternative CD for this procedure, but it should work the same for any Debian or Ubuntu derivatives with the Rescue feature.
Start your computer and immediately insert the CD. When the menu appears choose the Rescue a broken system feature (aptly named I must say). This will run you through a few options such as location, keyboard, DHCP config, etc. but when this is done it asks what partition to mount as root. Choose your root partition, for me on my PC it is /dev/hda1, but on the G4 it's /dev/hda3 (thanks to Apple partition table and Yaboot). Now choose the Execute a shell in /dev/hda1. This will give you the terminal to play with to your heart's content.
Now for the actual fix:
Type Xorg -configure. This will run some tests and configure X the same as it was initially. Now type X -config //xorg.conf.new. If this works it will give you a checkerboard background with the X mouse. Make sure the mouse moves and your monitor isn't screaming at you, this would mean the refresh rates are off. Now press CTRL+ALT+BACKSPACE to exit the test environment. That's a fun step X fails to mention. If it didn't work you can edit the file xorg.conf.new file yourself or you can follow any directions they give you on what the problem may be.
If it did work now type cp xorg.conf.new /etc/X11/xorg.conf and let it do its thing. Now do an exit and this will take you back to the menu. Select Reboot System and remove the CD. This should get you back to a working OS.
As long as you can always find a way to fix your mistakes and take precautions (backing up like you're paranoid) you can do as much as you want to a computer, I find that's the best way to find out how software works. Edit things, see how they work, and when they break learn how to fix it. Though I say again, NEVER EDIT FILES THAT MAY BREAK THE SYSTEM IF YOU DON'T BACK UP ANY FILES YOU WANT!!!
This procedure was developed using Xubuntu 7.04 (Feisty Fawn) with XFCE4, but should work equally well with any Ubuntu derivative, or Debian derivative for that matter. Also, always be careful when editing your system configuration files, or following any procedures from any site, as you can do harm to your system if a mistake is made. Always make backups of the configuration files that you change, or you might just find yourself with a broken system that's a pain to fix.
This is what I would classify as a work-around, but it's effective and fairly straight forward. There are other work-arounds to this problem that you will see other places, but this is the one that we feel is the best so far. Some other solutions promote the use of granting sudo permissions on a group basis or setting the SUID bit for certain files. If you decide to follow those methods instead, please be cautious and make sure that you understand the security implications of granting root privileges that way.
Editing the XFCE Applications Menu
Once you log onto the LTSP server (make sure you select an XFCE session) using the LTSP client login account, right click on the Applications button and click Edit Menu in the popup menu that comes up (Figure 1).
Hidden checkbox for the Quit menu item (Figure 2). Next, click on the Edit menu and click Add entry (Edit -> Add entry). This will bring up the Add menu entry dialog box. Make sure the Type is set to Submenu and type Shutdown for the Name. You can set an icon for this submenu item in this window too if you want (I used the Gnome shutdown icon). Once everything is set, hit the OK button. Make sure the newly created Shutdown menu is selected by clicking on it, and repeat the process (Edit -> Add entry...) to add a new item of type Launcher and a Name of Logout. You'll see that the Command text box is enabled here too, so type xfce4-session-logout in it. You can set the icon for this here as well (I used the Gnome logout icon). Click the OK button and you should see your Logout launcher added just below your Shutdown menu entry (and slightly indented). If the Logout entry is not below the Shutdown entry, or it is not indented, just drag it on top of the Shutdown menu entry and that should fix it. At this point, your 'Xfce4-MenuEditor' window should look like Figure 2 from the Quit entry down. Go up to File in the 'Xfce-MenuEditor' menu and then down to Save (File -> Save) to save your changes to the XFCE menu. Close the menu editor.
At this point, your Applications menu should look like Figure 3.
What you are basically doing with this setup is enforcing a safe method of shutting down the LTSP client. The Shut Down button on the client's logon screen is safe to use, and so you can train your users to logout from XFCE and then shutdown from the logon screen. Unfortunately, forcing users to remember what ways they can and cannot shut down usually doesn't work very well. This method will give your users just one path to shut down the client. The reason that the 'Logout' launcher is in its own submenu is to keep users from accidentally clicking it, since you have disabled logout confirmation. Otherwise they might accidentally log out while they are trying to click the 'About Xfce' menu item.
This procedure was developed using Xubuntu 7.04 (Feisty Fawn), but should work equally well with any Ubuntu derivative, or Debian derivative for that matter. Also, always be careful when editing your system configuration files, or following any procedures from any site, as you can do harm to your system if a mistake is made. Always make backups of the configuration files that you change, or you might just find yourself with a broken system that's a pain to fix.
This solution is more of a odd work-around than a true fix, so we'll keep an eye out for a resolution in future versions of Xubuntu.
From the Xubuntu login screen press the 'Session' button. Select the 'Failsafe Terminal' option and click the 'Change Session' button in the dialog box that pops up. Then type your Username and Password to log in.
Once you are in 'Failsafe Terminal' mode (you will only see an X Terminal), type sudo vim /etc/X11/xorg.conf and hit Enter. Scroll down until you find the line with DefaultDepth on it. If the entry for the depth on this line is 24, change it to 16 (don't forget to hit the i key to put vim into insert mode). Once you are done changing the depth, hit the escape (Esc) key to exit insert mode (if you haven't already) and hit the colon (:) key to enter command mode. Once vim is in command mode, type wq and hit Enter. The w writes the changes to the file and the q quits vim. At this point you can restart the computer to make the settings take hold (restarting the X server would work too). Make sure to do this restart before trying to launch the X Terminal again.
This procedure was developed using Xubuntu 7.04 (Feisty Fawn), but should work equally well with any Ubuntu derivative or Debian derivative for that matter. Also, always be careful when editing your system configuration files as you could end up with a broken system if a mistake is made.
The use of mousepad on the command line can be substituted for vim if you prefer to work inside the terminal.
So, here's a fix for the slow DNS lookup problem in Xubuntu. We got it all figured out and you don't even have to stand on your head with tinfoil on your feet to make it work. The root of the problem seems to be that some DNS servers (including many of Verizon's and Comcast's) may ignore the first couple of hits from a Linux machine. We think that its something in the mechanics of how the Linux DNS client makes its requests. Below is the procedure to get Xubuntu back up to where it is just as fast or faster than Windows on the web.
Editing the DHCP configuration
From the X Terminal type sudo mousepad /etc/dhcp3/dhclient.conf. Enter your administrator password. Once the file opens in mousepad, scroll down to the prepend domain-name-servers line and uncomment it (remove the #) and remove the entry of 127.0.0.1 if it exists. If the line does not exist, add it just below the domain-name line. Make sure that you don't add IP addresses to the domain-name line or you will have problems. Just use the IPs separated by commas, i.e. prepend domain-name-servers 184.108.40.206, 220.127.116.11;. Don't forget the semi-colon or the script will throw an error. Uncomment the line that says select-timeout 5; and change the 5 to a 1. Save the file and exit mousepad. By the way, check out www.opennic.unrated.net/public_servers.html to see where we got these DNS addresses from. You might want to use addresses that are in your region. I would suggest testing each IP address that you want to try by adding it by itself in the prepend domain-name servers line and seeing if it speeds up your connection. Work down the list of IP addresses writing down the ones that speed up your connection. Also, please note that since these are open and free DNS servers, you may get some "drift" in the reliability of the servers over the course of months or years, so be aware that you may have to come back and grab new addresses some day.
Restarting the ethernet connection
Type sudo ifdown eth0. After that's done type sudo ifup eth0. (NOTE: If you're using wireless or you have multiple ethernet ports and it's a different number then enter that instead, ie sudo ifup wifi0) Exit the X Terminal.
Open Firefox and it should be about 100 times faster on DNS resolution. These changes will stay persistent even after you reboot too. The ifdown and ifup commands are 'interface down' and 'interface up'. They shut down or bring up a given interface respectively. eth0 is usually the default name of your first network card (interface). If you had two you would have eth0 and eth1. The select-timeout entry is how long the DNS client waits for a valid response from a DNS server before moving on. You could easily add more DNS servers to the list to make it even more bulletproof.
Turn off ipv6
You may not have to do this step. Try the procedures above first, and then give this a shot if you're still having problems. From the X Terminal type sudo mousepad /etc/modprobe.d/aliases, and find the line that says alias net-pf-10 ipv6. Change this line to read alias net-pf-10 off. Save and exit mousepad. What this does is blacklists the IPv6 kernel module and prevents it from loading.
Privacy. When You leave a comment, the Authors are automatically notified and receive IP, WHOIS, and e-mail information pertaining to the Commenter. This information is not stored by the Authors for other purposes than to moderate comments. This information is not being sold or used for other purposes. If you have concerns with the way this information is used, please contact the Authors directly to arrange for complete removal of this information. Removal of all personal information will result in the removal of any content the Commenter might have contributed to this Blog, including comments. This Blog is hosted in the USA. Be aware that laws regarding personal information and privacy may differ from Your location.
Blog content. All the contents of the Blog, EXCEPT FOR COMMENTS, constitute the opinion of the Authors, and the Authors alone; they do not represent the views and opinions of the Authors' employers, supervisors, nor do they represent the view of organizations, businesses or institutions the Authors are a part of. The Authors are not information technology professionals, and you should never substitute information from this Blog for information obtained from a licensed/certified information technology professional; always consult a professional before applying any of the information represented here. This Blog is entirely written in English. The content of this Blog is not intended to cause harm, but if You have any concerns about the contents of this Blog, please contact the Authors. Disagreeing with the content of the Blog does not constitute sufficient ground for You to ask the Authors to remove or modify any parts of this Blog. The Authors are not being paid to write content on this Blog or to manage and in any way operate this Blog.
Copyright policy. All the text, images and other content being part of this Blog is property of the Authors, unless noted otherwise. All logos and trademarks are property of their respective owners. You are not allowed to reproduce, sell, or modify any part of this Blog. You are welcome to link to this blog, and to discuss its contents in a respectful manner. When You quote or link to this Blog, please include the Blog’s name in your link. You are not authorized to use this content for personal profit. UNAUTHORIZED COPYING, REPRODUCTION, MODIFICATION, REPUBLISHING, UPLOADING, POSTING, TRANSMITTING OR DUPLICATING OF ANY OF THE MATERIAL IS PROHIBITED. Whenever copyrighted material is mentioned or used, the Authors are doing so according to fair dealing practices. Use of material from this Blog according to fair dealing practices requires proper acknowledgment. Simply linking back to the Blog is not considered proper acknowledgment; please provide a link including the Author’s name, the name of the page you are linking, and a permanent link (”Permalink“) to that page.
Comment policy. The Authors are not responsible for the content of any comments made by the Commenter(s). The Authors are also not responsible for knowing whether the content of Your comment is breaking the law in other countries or jurisdictions. This Blog is a venue for discussion; therefore, the Authors will not delete critical comments, or comments portraying a different opinion from the Authors' own. However, the Authors reserve the right to edit, delete, or not publish a comment if this is deemed to be potentially illegal (this includes, but it is not limited to comments containing hateful, libelous, and defamatory content). All comments on this Blog have to be written in English. Please do not endanger Yourself or break the law when you comment. Comments intending to advertise and/or distribute off-topic (”SPAM“) will be deleted. The Authors also reserve the right to block Commenter(s) who have previously published offensive comments, illegal content, or SPAM.
Forbidden actions. You are not authorized to (i) use this Blog to advertise for products of any kind and for other Blogs, (ii) to infringe the Copyright policy and Comment policy of this Blog, (iii) to attack this Blog using malicious software and/or use this Blog for data mining (iv) to commit any illegal actions while using the Blog, or against this Blog, (v) to restrict access to this Blog, (vi) to impede the normal functioning of this Blog and (vii) to menace the Authors with, or cause physical or financial harm to, the Authors of this Blog.
Changes to the Terms. The Authors reserve the right to change these Terms at any time. You will only be notified by the Blog through posts or syndicated content (RSS), NOT IN PERSON. It is Your responsibility to make sure that you agree with the new Terms, whenever changes have been announced. Changes to the Terms will be effective 48 hours after the notice has been posted on the Blog. If You do not agree with the Terms, DO NOT USE THIS BLOG.
No Guarantee. The Authors make no guarantee regarding the validity of the content of the Blog. In addition, the Authors do not guarantee that the Blog will be accessible at all times or during any down time (i) caused by outages to any public Internet backbones, networks or servers, (ii) caused by any failures of Your equipment, systems or local access services, (iii) for previously scheduled maintenance or (iv) relating to events beyond the Authors' control such as strikes, riots, fires, floods, explosions, war, terrorism, governmental action, labor conditions, natural and/or man-made disasters, or interruptions in Internet services to an area where the Authors' or Your servers are located. Although the Authors will try to moderate comments quickly, the Authors make no guarantee to the Commenter that their comments or trackbacks will be displayed promptly, without modifications, or that they will be displayed at all, as all comments will be published to the discretion of the Authors.
No Warranty or Condition; Links. The Authors make NO WARRANTY OF ANY KIND. If you choose to access the Blog, you do so AT YOUR OWN RISK. To the extent links and external content are based on or displayed in connection with the Blog, THE AUTHORS SHALL NOT HAVE ANY LIABILITY IN CONNECTION WITH THE DISPLAY OF SUCH LINKS AND SEARCH RESULTS, whether this external content is breaking the law in this or other jurisdictions. YOU AGREE TO USE THE BLOG AT YOUR OWN RISK, and that You will not consider the Blog’s content to be a suitable substitute for professional advice.
Limitations of Liability. IN NO EVENT SHALL THE AUTHORS BE LIABLE UNDER THIS AGREEMENT FOR ANY DAMAGES OR LOSSES, AND THE AUTHORS' LIABILITY TO YOU UNDER THIS AGREEMENT FOR ANY CLAIM IS LIMITED TO THE GROSS MONTHLY AMOUNT PAID BY THE AUTHORS FOR HOSTING SERVICES DURING THE ONE MONTH PERIOD IMMEDIATELY FOLLOWING THE DATE OF THE CLAIM. Each party acknowledges that the other party has entered into this Agreement relying on the limitations of liability stated herein and that those limitations are an essential part of the Agreement. Without limiting the foregoing, the Authors shall not have any liability for any failure or delay resulting from any condition beyond the reasonable control of the Authors, including but not limited to governmental action, labor conditions, power failures, natural and/or man-made disasters. The Authors are not liable for the content of any comments the Commenter might leave on this Blog (see Comment policy).
Obligation to Indemnify. You agree to indemnify, defend and hold the Authors, their agents, and applicable third parties (collectively “Indemnified Person(s)“) blameless from and against any and all third party claims, liability, loss, and expense (including damage awards, settlement amounts, and reasonable legal fees, brought against any Indemnified Person(s), arising out of, related to or which may arise from Your use of the Blog and/or Your breach of any term of this Agreement.
Applicable Laws; Venue. The Authors operate the Blog from the USA, and make no representations that materials in the Blog are appropriate or available for use in other locations. Access to the Blog from any location where the content is illegal is prohibited. Any claim related to the use of the Blog or to the Blog materials shall be governed by the laws of the USA. Any action related to the access, use, content, or existence of this Blog shall be filed only in the appropriate court located within the USA. The use of this Blog constitutes Your express permission and consent to the jurisdiction of the state and/or federal courts of the USA for purposes of such actions.
Legal notices and Contact information. If You are intending to carry out legal action of any kind against the Blog or the Authors, you are required to contact the Authors SEVEN BUSINESS DAYS before any legal claim is made. Please remember that the Authors mean to DO NO HARM to You or anyone else by writing this Blog. If You feel that your rights have been infringed, please contact the Authors, and allow seven business days for the reply to be received. The Authors will do whatever possible to address Your concerns.
This disclaimer was adapted from a document provided by Giovanna Di Sauro on the "Writing a blog disclaimer (part 2)" page here.
Objective: The purpose of the Equal Access to Technology (EAT) Initiative is to, as the acronym implies, “feed” the minds of those with fewer means to use and learn about high-tech devices, technology, and programs; especially children.
Implementation: The EAT Initiative has three main methods to obtain the objective:
1. Identifying those in need and getting them the resources they need to become competitive in an increasingly technical world.
2. Make the technology affordable enough to be within their grasp.
3. Educate those in need as to how to use the technology and how to obtain the information they will need to continue learning on their own.
In following these methods we will work with the county commissioners, social workers, and youth services to identify and aid those in need. We will also offer discounts on our already low price items to help defray the cost to those in need, and even offer technology for free to those with the least means. We will also work at developing and supporting free software for use by those in need as well as the general public. Education will be offered in the form of booklets, resource centers, and classes when needed.
Every day gifted children are being held back by limited funding and opportunities to expand their abilities to their full potential. Programs will be developed to help push these children forward and allow them to build important technical and programming skills, at the same time building their math skills and taxing their minds.
Through these ways we hope to bridge the digital divide, starting locally and thinking globally. If other entities will follow the EAT Initiative as well we can work together to make sure no mind goes hungry for knowledge.