This page is where I will share some of my thoughts, feelings, and experiences dealing with computers. I always try to do a good job of documenting what I've done to fix my computer woes. I've done this online to hopefully help others with computer problems similar to mine. I don't plan to translate this page into Esperanto.
Ĉi tiu paĝo estas kie mi distribuos iun el miaj pensoj, sentoj, kaj spertoj pri komputiloj. Mi ĉiam penas dokumenti bone kion mi faris ripari miajn komputilajn problemojn. Mi faris ĉi tio sur la reto por helpi aliajn kiuj havis similajn komputilajn problemojn. Mi ne planas traduki ĉi tiun paĝojn al Esperanto.
| machine | type | processor | OS | disk | mem | motherboard | location |
|---|---|---|---|---|---|---|---|
| goat | Dell Latitude D830 (laptop) | Intel Core 2 Duo 2.5 GHz | ubuntu 8.04 LTS | 120 G | 2.0 G | - | home (but mobile) |
| bleu | IBM Thinkpad R50 (laptop) | Intel Pentium M 1.6GHz | ubuntu 7.10 | 40G | 1.25G | - | home (broken screen) |
| lighthill | Dell Precision 530 | Dual Intel Xeon 1.80GHz | ubuntu 7.10 | 80G 250G | 1.00G | - | research lab |
| sedusa | frankenputer desktop | AMD Athlon 2000+ 1.67GHz | ubuntu 7.10 | 80G 250G | 1.25G | ?? | home (communal) |
| pinkmame | frankenputer desktop | AMD Athlon XP 2600+ | debian 4.0 etch | 30G | 512M | ?? | home (MAME) |
| ricotta | Apple iMac G3 | PowerPC G3 | ubuntu 7.04 | 80G | 512M | - | home (stereo) |
| fenestro (etc4-156-3) |
Dell Precision 530 | Dual Intel Xeon 1.80GHz | ubuntu 7.10 | 80G 80G | 1.00G | - | research lab (window) |
| gouda | Dell Inspiron 7000 laptop | Intel PII 350MHz | ubuntu 6.06 | 6G ?? | 384M ?? | - | home (stereo) |
| pimento | frankenputer desktop | AMD Athlon XP 2000+ 1.67GHz | debian sarge Windows ME |
60G 12G | 256M | Microstar K7N2L NForce | home |
After putting hardy heron on lighthill, all of the problems on goproblems.com gave an error starting with the following.
Invalid SGF data. Sorry, you're screwed. Error message: illegal start of token string:
The solution is to remove the package icedtea-gcjwebplugin and the package sun-java6-plugin becomes the default. It's a problem with Hardy's default java plugin.
Putting hardy heron on lighthill was a snap. From the commandline, I executed
sudo aptitude install update-manager-core sudo do-release-upgrade
and after the process finished, I chose to reboot. Everything looks good except unsurprisingly, the dual-headed-ness didn't come back, so I just followed the same procedure as last time last time with one addition.
sudo cp mga_drv.so mga_drv.so-xorg-1.4.0.90-backup sudo cp mga_drv.so-from_matrox-4.4.3-7.2.0-backup mga_drv.so sudo /etc/init.d/gdm restart
Yay!
When trying to run audacity on hardy heron on lighthill, I was getting lots of errors and it wouldn't start. Here's an example of the error messages.
lighthill:~/PERILO/music/$ audacity 02-2,1.mp3 jackd 0.109.2 Copyright 2001-2005 Paul Davis and others. jackd comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details JACK compiled with System V SHM support. loading driver .. apparent rate = 48000 creating alsa driver ... hw:0,0|hw:0,0|1024|2|48000|0|0|nomon|swmeter|-|32bit control device hw:0 configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods ALSA: final selected sample format for capture: 16bit little-endian ALSA: use 2 periods for capture ALSA: final selected sample format for playback: 16bit little-endian ALSA: use 2 periods for playback Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1034 Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1066 Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1034 Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1066
The last two errors would just repeat over and over.
It turns out that the jackd program was the problem. I did a
sudo aptitude remove jackd
and audacity had no problems. It took some searching on the forums to find the answer.
For reasons that I won't go into, I needed to load MATLAB R14 SP2 running on 64-bit ubuntu Linux 8.04. I installed from the distribution CDs just fine (some people seem to have trouble with this), but was getting nasty looking errors about corrupted memory when I tried to run MATLAB.
*** glibc detected *** /usr/local/matlab/bin/glnxa64/MATLAB: malloc(): memory corruption: 0x0000000000596b90 *** ======= Backtrace: ========= /lib/libc.so.6[0x7f26dec62a14] /lib/libc.so.6(__libc_calloc+0x10f)[0x7f26dec6407f] /lib64/ld-linux-x86-64.so.2(_dl_allocate_tls+0x3c)[0x7f26e063532c] /lib/libpthread.so.0(pthread_create+0x558)[0x7f26df4bfb88] /usr/local/matlab/bin/glnxa64/libmwservices.so[0x7f26e026dbd7] /usr/local/matlab/bin/glnxa64/libmwservices.so[0x7f26e026d9de] /usr/local/matlab/bin/glnxa64/libmwservices.so[0x7f26e02429f7] ...
The fix to this so far has been to recognize the heap problems, but let MATLAB keep running anyway. To do this, set
export MALLOC_CHECK_=1
or just run MATLAB with
MALLOC_CHECK_=1 matlab
I don't know of any ill effects of having this be globally on, so I'm just going to add it to .bashrc.
EDIT: Keeping that variable set all the time causes lots of debugging messages to occur all the time, so I'll just turn it on for matlab when I need to.
Some programs, like evince, were taking a long time to start up, giving dbus erros. I solved this by adding the package dbus-x11. Yay!
EDIT: Well, this didn't work completely. I'm still getting the following errors from evince on startup.
** (evince:26069): WARNING **: Service registration failed. ** (evince:26069): WARNING **: Failed to connect to socket /tmp/dbus-IWKKLDHkVF: Connection refused
It turns out that the 75dbus_dbus-launch script in /etc/X11/Xsession.d is not installed from the dbus-x11 package for ubuntu 8.04. This was done because ubuntu assumes that people are going to be using Gnome, KDE, or XFCE, and that script causes problems with those environments. I copied that script over from lighthill to goat.
RE-EDIT: Okay, so I've now removed /etc/X11/Xsession.d/75dbus_dbus-launch in lieu of a better way of doing things. I've added the following lines to my program myfakefvwmpanel which is called by .fvwm2rc.
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then eval `dbus-launch --sh-syntax --exit-with-session` fi
I've also added the following lines to myfakefvwmpanel in order to get Gnome and KDE applications running properly. It does take up memory, but it does make them run faster, too.
# Make GTK apps look and behave how they were set up in the gnome config tools if which gnome-settings-daemon >/dev/null; then gnome-settings-daemon & fi # Preload stuff for KDE apps if which start_kdeinit >/dev/null; then LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup & fi
When I boot up on wifi, the resolv.conf file gets munged. I suspect it's DHCP doing it, even though I don't have any DHCP turned on in /etc/network/interfaces. I found some notes in a forum that suggest I should add the following before the "request" line in /etc/dhcp3/dhclient.conf.
prepend domain-name-servers 123.45.678.90, 123.45.678.91;
with adjustments made for my own nameservers. I'm trying it.
EDIT: It seems to have worked.
For some reason, I can't get postfix working on goat through dreamhost. I followed my own instructions from 2006-10-12 which are basically the same as dreamhost's instructions for postfix, but even though the mail log said it went through, I never received the emails.
So, I decided to switch to exim4 and see if that worked and following dreamhost's instructions for exim, it worked great. Basically, all that I needed to do was put my mailhost:username:password into /etc/exim4/passwd.client and then do a
dpkg-reconfigure exim4-config
so that my config file, /etc/exim4/update-exim4.conf.conf, looked like
dc_eximconfig_configtype='smarthost' dc_other_hostnames='' dc_local_interfaces='127.0.0.1' dc_readhost='konfuzo.net' dc_relay_domains='' dc_minimaldns='false' dc_relay_nets='' dc_smarthost='mail.konfuzo.net' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='true' dc_mailname_in_oh='true' dc_localdelivery='mail_spool'
I also added the line
port = 587
to the file /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost in order to switch from port 25 to 587 for smtp. That also worked without a hitch. Yay!
In order to specify the refresh rate in xorg.conf, one uses the "Modeline" entry. To do this for a specific monitor, one puts the Modeline entry in the "Monitor" section and then references that Modeline's title in the "Screen" section. In order to get a Modeline entry for a specific resolution and refresh rate, one uses the gtf command, for example
gtf 1280 1024 75
Here are the resulting sections in xorg.conf.
Section "Monitor"
Identifier "Hitachi CML175SXW"
HorizSync 24.0 - 80.0
VertRefresh 56.0 - 75.0
# 1280x1024 @ 75.00 Hz (GTF) hsync: 80.17 kHz; pclk: 138.54 MHz
Modeline "1280x1024_75.00" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -HSync +Vsync
EndSection
Section "Screen"
Identifier "Primary Screen"
Device "nvidia Quadro2 Pro 0"
Monitor "Hitachi CML175SXW"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024_75.00"
EndSubSection
EndSection
I don't know why, but audacious and audacity were both spouting errors and behaving badly on my ubuntu gutsy 7.10 installation on lighthill. Both of these were recently upgraded in the repositories, so I wanted to go back to the older versions, so at least they'd work. Here was the full procedure necessary to do that.
sudo aptitude install audacity=1.3.3-1ubuntu0.1 sudo aptitude install audacious=1.3.2-4 sudo aptitude hold audacity audacious audacious-plugins audacious-plugins-extra
I had to use apt-cache showpkg audacious | less and apt-cache showpkg audacious | less to find the version numbers. Now audacious audacity and aumix are all held back during upgrades (must be something about the "au" at the front of the program name).
from ubuntuguide.org:
sudo /usr/share/doc/libdvdread3/install-css.sh
Well, the dpkg --set-selections command line that I'd used before didn't seem to be working on usagi for some reason. I found an equivalent line in aptitude so here is the complete new set of commands to get aumix properly installed on gutsy.
sudo apt-get build-dep aumix sudo apt-get source --compile aumix sudo dpkg -i aumix_2.8-18_i386.deb sudo aptitude hold aumix
Here is a good tutorial on how to turn regular video files into a DVD using tovid. The basic steps are
todisc -files File1.mpg File2.mpg File3.mpg \ -titles "Episode 1" "Episode 2" "Episode 3" \ -out Season_one makexml -menu Menu.mpg foo1.mpg foo2.mpg foo3.mpg -out MyDisc makedvd -burn MyDisc.xml
In order to bring the quality up to 10 (instead of the default of 6), I ended up using the following command line with tovid beforehand.
tovid -quality 10 -ntsc -dvd -in foo.avi -out foo-encoded
Here is another really good tutorial!!!
(EDIT) Actually, I had a problem with the results of the tovid command above. The input and output movie files were jumping all over the place in mplayer, so using mplayer to encode it didn't make much sense. I ended up using a ffmpeg command line which worked great.
ffmpeg -i myfile.avi -target ntsc-dvd dvd.mpg
There are a couple of programs designed to wipe files on a filesystem, shred and wipe. It turns out that journaling filesystems don't really allow "in place" rewriting of a file, so these programs are pretty useless for wiping files. However, an entire partition or disk can be wiped at once by specifying the device as the file to be wiped. Using this technique, dd can also be used. In the following three examples "/dev/hda" should be replaced with the drive or partition (example: /dev/hdb3) you want to erase. Note that 1 pass on a USB connected hard drive looks like it's going to take about 22 hours!
shred -v /dev/hda wipe -kD /dev/hda dd if=/dev/urandom of=/dev/hda
Realistically, just removing the partition information from the drive probably good enough for keeping 99.99% of all people from recovering the data. Beyond that, writing random data or zeros once probably covers 99.99% of all situations beyond that. However, writing the data 25 times with the specified data patterns is considered 100% safe.
I was driving myself a little batty, trying to figure out why I couldn't print to another cups printer using the same method as last time. Eventually, I figured out that the "Manage Server -> Share published printers connected to this system" option wasn't checked on the machine the printer was actually connected to. I think that this is the second time I've learned this lesson.
Wow, the subversion import command is easy to misunderstand. One imports from a directory that one won't necessarily be using, but (at least for me) imports into the directory one will be using, then goes into the directory above the new directory and does the initial checkout there. Yeeks.
Example:
cd ~/phyd/dissertation mkdir aim-tmp touch aim-tmp/goals.uxt svn import aim-tmp file:///home/nodog/repository/phyd/dissertation/aim svn checkout file:///home/nodog/repository/phyd/dissertation/aim rm -r aim-tmp
We were running out of space on the main hard drive of sedusa. It had a 20G system partition and a 35G home directory partition and that just wasn't enough. So I'm replacing it with an 80G drive which will be split 15G/63G (a 2G swap partition).
I put the new drive on the system in place of the CDROM which had been the master on the second IDE controller.
I used fdisk /dev/hdc and created three partitions on the new drive: 15G, 2G, and the rest. I used mkfs.ext3 -m 1 /dev/hdc1 and mkfs.ext3 -m1 /dev/hdc3 to create the filesystems on the two filesystem partitions and mkswap /dev/hdc2 to format the swap partition. I also set /dev/hda1 as bootable.
I booted the system into single user mode, umounted the /home directory (after first umounting /home/nodog/PERILO), mounted the new system partition with mount /dev/hdc1 /mnt, and copied the filesystem with cp -prvx /* /mnt. This stopped working somewhere in /proc so I had to restart it, only copying the directories beyond /proc. I think this will be no problem, because I understand that /proc is recreated on boot.
I umounted /mnt and mounted the new home directory partition on /mnt with mount /dev/hdc3 /mnt, remounted /home with mount /home, and then copied the home directories with cd /home; cp -prvx * /mnt.
NOTE: I probably could've avoided booting from CD by chroot-ing here, editing /etc/fstab, editing /boot/grub/menu.lst, and running update-grub, but I didn't think of it as things were happening.
At this point, I connected the new drive in the same location that the old drive had been (master on the primary IDE controller) and reconnected the CDROM drive.
I booted from the ubuntu alternate CD and went into rescue mode. I started a shell with /dev/hda1 as the root. I edited /etc/fstab to reflect all the changes I'd made, and then edited /boot/grub/menu.lst so that (hd0,0) was the boot drive and the "root=" option pointed to "/dev/hda1". I did all this in the area of the file that lets update-grub automatically handle the changes.
For some reason, there was a problem with the X resolution. I'm not sure why. It was fixed pretty easily with dpkg-reconfigure xserver-xorg.
Admittedly, things didn't go quite this smoothly, but I think that they could've if I'd done things right the first time.
So, the hard drive crashed on usagi, and luckily it happened only after I'd getten everything in ATTIC backed up to another partition on another drive. Unfortunately, that did mean that I lost my dualheaded xorg.conf, my apache config, and my aumix installation. The last two weren't too hard to recreate, but the xorg.conf file along with the downgraded ATI driver were a bit harder to recreate. After doing the work, here's the xorg.conf for usagi.
Section "ServerFlags"
Option "xinerama" "true"
Option "DefaultServerLayout" "DualHead"
EndSection
Section "ServerLayout"
Identifier "DualHead"
Screen "Primary Screen" 0 0
Screen "Secondary Screen" RightOf "Primary Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "Monitor"
Identifier "Hitachi CML175SXW"
HorizSync 24.0 - 80.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "ViewSonic VG900b"
HorizSync 30.0 - 82.0
VertRefresh 50.0 - 75.0
EndSection
Section "Device"
Identifier "nvidia Quadro2 Pro 0"
Driver "nv"
BusID "AGP:1:0:0"
EndSection
Section "Device"
Identifier "ATI Radeon 7500 RV200 QX"
Driver "radeon"
BusID "PCI:4:13:0"
EndSection
Section "Screen"
Identifier "Primary Screen"
Device "nvidia Quadro2 Pro 0"
Monitor "Hitachi CML175SXW"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "Secondary Screen"
Device "ATI Radeon 7500 RV200 QX"
Monitor "ViewSonic VG900b"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
openssh-server keychain fvwm m4 mutt fetchmail procmail vim-full gcal apache2 php5 libapache2-mod-php5 imagemagick mplayer audacious ntp mkisofs aumix k3b wodim cdrecord synergy apt-file sun-java6-jre sun-java6-plugin qiv randomize-lines bittornado flac dbus-x11
In the wake of oink's demise, google's advanced search features have been most helpful. Here's an example of some great searches:
intitle:index.of +mp3 +"advance" -html -htm -php -txt -pl
To search for specific titles, replace "advance" with what you want.
To search for software, replace "mp3" with "zip" or "iso".
To search for full albums, replace "mp3" with "rar".
Here's an example of it as a URL: an example of Google linking advance releases.
I started using audacious as a music player instead of xmms just recently. I'm not sure why I got dissatisfied with xmms, but I think it had something to do with the weird times listed for newer mp3s and other file formats. In searching that, I found that xmms wasn't under development anymore, so I decided to switch to it's apparently current successor, audacious.
Two problems seemed to pop up with this. There's apparently a situation when moving the audacious window without using an fvwm title bar that causes a temporary locking of fvwm. According to Audacious' FAQ this problem is solverd by adding the line
DestroyFunc EWMHActivateWindowFuncto your .fvwm2rc file.
The second problem was that I couldn't seem to get rid of the title bar using fvwm's Styles. The main problem was that I wasn't able to correctly specify the name or class of audacious' windows. Finally, I found the program xprop which works similar to xwininfo, but gives the window's class name as well. I'd chosen "audacious" for the style's window name. It turns out that simply changing to "Audacious" solved the problem because this is the class name for audacious' windows (window names in Style lines are case-sensitive). Here's the style line.
Style "Audacious" !Title, BorderWidth 0, ClickToFocus
I was getting an error ("aumix: SOUND_MIXER_READ_DEVMASK") on gutsy when I ran aumix. This is a known gutsy bug. Someone suggested that they got it running from source. I'd never done that before, so I needed to figure out how, and then do it. Here are the steps.
sudo apt-get build-dep aumix sudo apt-get source --compile aumix sudo dpkg -i aumix_2.8-18_i386.deb sudo dpkg --set-selections
After this last command, I typed "aumix hold", hit return, then hit Ctrl-D. Now the package stays even on an upgrade. Cool.
For some reason, I couldn't see flash websites once I'd installed gutsy. It turns out that I needed to remove the files referring to flash in ~/.mozilla/plugins, remove the package flashplugin-nonfree, and then install it again. Don't know why, but it worked.
Well, I'm trying to get gutsy gibbon onto lighthill, and I'm getting stymied at every turn. First, I tried the commandline version using sudo do-release-upgrade, but I kept getting errors saying "Cannot calculate upgrade" and the log messages showed there was some issue with the gnome-cups-manager package. From google, it seemed that doing the upgrade using the graphical method, gksu "update-manager -c" would take care of this problem, and it looked like it would, but now that method seems to be stuck. I am trying to do this upgrade over ssh, so maybe that's part of the problem. I'm going to go to school now and see what happens from there. I may have to do a new install. Boo.
Okay, at school now, and the gksu "update-manager -c" method seems to be working great. For some reason it was unhappy working over the ssh connection.
Unsurprisingly, the dual-headed-ness didn't come back, but unlike last time, this time I just went to /usr/lib/xorg/modules/drivers and executed
sudo cp mga_drv.so-from_matrox-4.4.3-7.2.0-backup mga_drv.so sudo /etc/init.d/gdm restart
Yay!
I've decided to just downgrade the ATI video driver for now (although I see problems with this in my regular update/upgrading). I downloaded the .deb package with aptitude download xserver-xorg-video-ati and then installed that package with dpkg -i packagename which automatically handled the "downgrade." In order to keep the video driver from being upgraded, I did a dpkg --set-selections and on the next line typed "xserver-xorg-video-ati hold", hit return, then Ctrl-D. Now the upgrade doesn't try to upgrade the ATI video driver. Nice!
The above procedure worked on usagi as well, where I have both an nVidia card and an ATI card. It turns out from the release notes that I'd have to use just the ATI card (if that's even possible) to go to RandR.
EDIT 2007-12-20: To be clear, I had to change the file /etc/apt/sources.list to point to "feisty" instead of "gutsy", then
sudo aptitude update sudo aptitude download xserver-xorg-video-ati/feisty sudo dpkg -i xserver-xorg-video-ati_1%3a6.6.3-2ubuntu6_i386.deb sudo dpkg --set-selections
where I then typed "xserver-xorg-video-ati hold", and hit Ctrl-D. I then editted /etc/apt/sources.list again to change "feisty" to "gutsy," and
sudo aptitude update
Using the reccommended cammandline method, I started the install of gutsy gibbon on my laptop, bleu. Unfortunately, it seems that there were some blocks on the hard drive which had gone bad and caused the process to fail while trying to upgrade ttf-freefont. I used the rescue CD and did fsck.ext3 -fc /dev/sda2 to try to fsck the partition. It found bad blocks and problematic inodes. I let it do all the repairs that it wanted to do.
Now, I was left with the situation that I couldn't seem to upgrade, remove, or reinstall the ttf-freefont package. The error message that I was seeing was "files list file for package `gnome-icon-theme' is missing final newline". Eventually, I needed to repair the file /var/lib/dpkg/info/gnome-icon-theme.list and I did so by following the instructions for FAQ Q5.19 on the Fink documentation page.
Once I'd gotten that done, I could finally reinstall and then upgrade the ttf-freefont package. After that, I still had a weird problem with the new kernel which was installed. When I would boot, X was prevented from starting, and I would see the error message "Re: device-mapper: table: 245:2: linear: dm-linear: device lookup failed." By doing a google search I found info in the ubuntuforums that I simply needed to remove the evms package. After I did that with sudo aptitude remove evms everything seemed to work just fine.
I will note that I haven't tried dual monitors yet, and I have already seen dual monitor problems on the upgrade of my work desktop computer, usagi. There are some notes about this in the release notes for gutsy gibbon.
The recommended commandline method is
sudo do-release-upgrade
It halted with a script error the first time I tried it on usagi, but then I re-ran it, and it worked. Apparently another valid method is
gksu "update-manager -c"
I ran into a problem here and there, primarily with some third party repositories in /etc/apt/sources.list. Also a problem with space on /boot.
I don't know how long it's been out, but I just saw that MoGo is availble for download. I decided to download it and play against it. Well, that turned out to be more of a trial than I expected.
It turns out that glGo (or PANDA-glGo) has some tweaks in it which pretty much tie it to GnuGo as the computer opponent. This kind of sucks.
After searching for quite a while, I finally figured out how to get GoGui to play using MoGo as the computer opponent. Once you've downloaded and unzipped the zip file, go into the gogui directory. In order to get it to install correctly, use the following command.
sudo bash ./install.sh -p /usr/local -j /usr/lib/jvm/java-6-sun
I untarred the MoGo tarball and put the three files (one executable and two data files about openings) into /usr/local/bin. Within GoGui, go to Program -> New Program... Enter "/usr/local/bin/mogo --19 --totalTime 1800" for a game played in 30 minutes (1800 seconds). You may have to mess around with Program -> Attach in order to play MoGo, but that's pretty self-explanatory. The crappy thing is that whichever program one has attached will play both colors, so GoGui cannot be used to watch GnuGo play against MoGo. Ah well.
For some reason, apache2 wasn't configured so I could access the public_html directory in my home directory. It turns out that this is controlled by the Userdir module, which wasn't enabled by default. In order to enable this I used
sudo a2enmod
and from the options given, chose "userdir." Everything works fine now.
EDIT: By also choosing "php5," I avoided the problems with php files in the following configuration.
I have also configured for a localhost only webserver like before.
I received a new (to me) computer from the ME department to use for research. The biggest advantage to this computer is dual processors. Here are the specs.
| machine | type | processor | OS | disk | mem | motherboard | location |
|---|---|---|---|---|---|---|---|
| lighthill | Dell Precision 530 | Dual Intel Xeon 1.80GHz | ubuntu 7.04 | 80G 250G | 1.00G | - | research lab |
I chose to install ubuntu 7.04 from scratch onto this machine. I did run into a weird problem when I removed the second hard drive for a bit and it kept telling me that "primary disc 1" was missing. I was just confused and this refers to the second drive on the primary IDE controller. I was able to turn off the search for it in the BIOS.
I switched the old lighthill to etc4-156-3 for now, and then rsync-ed my home directory over to the new lighthill. Some files couldn't be copied, but they were files which were newer on the new lighthill, so no problem.
In order to get this machine to be the new lighthill, after the install, when I used etc4-156-3 as the temporary hostname, I changed the hostname in /etc/hostname and /etc/hosts. I changed the IP address in /etc/network/interfaces. I also changed some values in /etc/fstab so it would mount the 250G drive in the right place on reboot.
I moved the dualhead Matrox card over to the new machine and followed the basic procedure I had done before to get it running in dualhead mode.
Getting postfix was a little bit of a pain, but mostly because I had forgotten to install procmail and I have that referenced in my .forward. Basically, I installed with "no configuration," and then copied the /etc/postfix directory and /etc/mailname file from the old lighthill.
To get matlab running, I just did a mymakelocalstaff and then copied /usr/local/matlabr14 from the old lighthill to the new.
Packages that I added to the base install so far: openssh-server keychain fvwm m4 mutt fetchmail procmail vim-full gcal apache2 php5 imagemagick mplayer xmms
I got the same computer for a desktop computer at my job. This time, I just swapped the hard drives and DVD burner into the new machine. The dualheaded X configuration didn't work until I went into /etc/X11/xorg.conf and changed the BusID for the second video card to its new address, 4:13.0. Note that lspci listed the address as 4:0d:0, so I needed to translate out of hex.
The network adapter wasn't working either. I was getting the following error.
SIOCSIFADDR: No such device eth0 eth0: ERROR while getting interface flags: No such device
The problem was resolved by commenting out the line in /etc/iftab which connected the MAC address of the previous motherboard's NIC to eth0. Once I commented out that line, the new motherboard's NIC was assigned to eth0. During the research on this problem, the command ifconfig -a helped me to find that the new NIC was being seen at eth1 instead of eth0.
It appears that all of the gnome application and desktop configuration settings are stored in the directory $HOME/.gconf in the directories apps and desktop respectively. I assume copying these between computers will copy settings and configuration. Testing... Neat.
It turns out that copying menus is a different matter altogether. The best way to get something into a menu seems to be through adding a menuitem.desktop file in .local/share/applications. Examples can be found in /usr/share/applications/.
This is handled using the gconftool-2 program. Here are a couple of lines that I used. Note that "stretched" is for fullscreen and "wallpaper" works for tiles.
gconftool-2 -t str -s /desktop/gnome/background/picture_options "stretched" gconftool-2 -t str -s /desktop/gnome/background/picture_filename "filename.jpg"
For quite a while, I've been dealing with some crappy fonts in old X windows programs like cgoban, sanduhr, and even parts of Matlab. I thought that I'd figured out the problem today. It seemed to be with the gtk 1.2 configuration. I fixed this by following the instructions in this ubuntu forum howto. I created the file ~/.gtkrc.mine (referenced from ~/.gtkrc) and in it, I put
include "/usr/share/themes/Plastig/gtk/gtkrc"
#include "/usr/share/themes/IndustrialTango/gtk/gtkrc"
style "default-text"
{
# fontset = "-adobe-helvetica-medium-r-*-*-16-*-*-*-p-*-iso10646-*"
fontset = "-b&h-lucida-medium-r-*-*-14-*-*-*-*-*-*-*,\
-b&h-lucida-medium-r-*-*-14-*-*-*-*-*-*-*,\
-b&h-lucida-medium-r-*-*-14-*-*-*-*-*-*-*,\
-b&h-lucida-medium-r-*-*-14-*-*-*-*-*-*-*"
# fontset = "-bitstream-bitstream vera sans-medium-r-*-*-17-*-*-*-*-*-iso8859-*,\
# -bitstream-bitstream vera sans-medium-r-*-*-17-*-*-*-*-*-iso8859-*,\
# -bitstream-bitstream vera sans-medium-r-*-*-17-*-*-*-*-*-iso8859-*,\
# -bitstream-bitstream vera sans-medium-r-*-*-17-*-*-*-*-*-iso8859-*"
}
class "GtkWidget" style "default-text"
This fixed some of the problem, but cgoban still didn't look correct. Then I remembered that I can play against GnuGo using glGo, so I decided to do that instead of worrying about how to fix such an old program. I'm sure that there's some "default font" option somewhere in an X-windows config file, but it's not worth tracing down at this point.
I wanted to listen to Harry Potter on my PMP (Personal Music Player), so I loaded it on, and it seemed to be doing fine until I got to the end of the first track, when it seemed to skip a bit. I managed to convinced myself that everything was fine, but then at the end of the next track, it seemed to skip again. This time, I was pretty sure that something was missing. I listened again, and yes it was cut off. I listened to the same track on the computer and it was fine. Bah. (I was becoming more and more dissatisfied with the iriver T10 by the moment, because I found a reference to someone else with this problem, and it only happens in UMS mode. BAH!)
I found the program mp3check, which tests mp3s to make sure that they're within specifications. Well, it turns out that the problem files weren't up to snuff and had about 53k of junk at the start which was causing the rest of the data to get pushed down so that when the player ended at the proper time, the actual stream got cut off. (You can tell I've been listening to a British speaker, no?) Using the command line
mp3check -e --cut-junk-start *
I processed all of the files, and they seem to be playing fine now. Yay! (I can't fault the T10 for only playing mp3 files that meet spec.)
EDIT 2007-08-16:I sent back the Iriver T10. It just ended up not behaving correctly. Too bad, but glad that I got my old PMP working (Cowon Iaudio G3). If I had to buy another PMP right this instant, I'd get a Cowon Iaudio 7.
Well, my Cowon iaudio G3 (1G) has finally started to suffer the effects of all the sweat I pour over it exercising and will randomly turn itself off after 10-20 minutes or so. I've now ordered an Iriver T10 (2G) which I'm convinced I'll be able to turn into a UMS (USB Mass Storage) device so I can use it with linux.
In the meantime, I'm in the middle of Harry Potter and the Deathly Hallows and I don't want to have to wait for the new MP3 player to get here. I have an old Iriver ifp890 (256M) that I could use (though 256M just isn't big enough to use without being a pain). Here's what I had to do in order to get it up and running.
#!/bin/sh
# /etc/hotplug/usb/ifpdev
chgrp usb $DEVICE
chmod g+rw $DEVICE
ifpdev 0x0003 0x4102 0x1108 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
/dev/sdb /media/ifp890 auto user,noauto,exec 0 0
Now, when I execute `mount /media/ifp890', the Iriver ifp890 directories are available under /media/ifp890. Nice!
EDIT: Well, I went back, took apart my Cowon iaudio G3, sprayed some DeOxIt into it, and put it back together, and it seems to be working well again. Maybe I didn't need to go and get another MP3 player yet. We'll see.
Well, apparently this upgrade didn't completely finish when I started it. I'm not sure why and I'm not sure why I didn't know. I fixed some problems with the virtual terminals before I even noticed, but it appears that if I'd managed to finish the upgrade, everything would've gone fine.
I did have a problem with grub when I tried to remove some kernel images and set it to "nosplash." Basically, I was using grub-install when I should've been using the update-grub command. I didn't know, but once I figured it out, all the problems with "BIOS disks" not found went away.
This process went well.
There were some minor issues with versions, but I just went with the upgrade options which seemed the most reasonable, then did another "update, upgrade, dist-upgrade" afterwards.
Unsurprisingly, the X server got overwritten, so I followed very similar steps to last time. Getting dual head for my Matrox G450 support back took a bit. First I ended up grabbing the newest version of the driver found at the unofficial matrox linux drivers forum. I then '--extract-only'ed the .run file supplied and grabbed the mga_drv.so and mga_hal_drv.so files from the created xservers/7.1.0 directory and, after turning off X with sudo /etc/init.d/gdm stop, put them in /usr/lib/xorg/modules/drivers/. Because I had already editted /etc/gdm/gdm.conf-custom to add the -ignoreABI flag to the X server, I didn't have to do it again. And finally, I restarted gdm with sudo /etc/init.d/gdm start, and lo and behold, there was dual headed X again. Weee!
I followed the same upgrade procedure above on usagi, and that went well, but the primary screen lost it's resolution information somehow. I went into the /etc/X11/xorg.conf file and uncommented the following lines in the "Monitor" section.
HorizSync 28.0 - 64.0 VertRefresh 43.0 - 60.0
After a restart of gdm, everything looked great.
For some unknown reason, apache2 stopped liking the link in my home directory from public_html to www. It took re-installing apache2 several times before I went to the apache2 error log and finally saw that apache2 really couldn't see it. I removed the link and then recreated the link, and everything worked fine. WTF? I'd wanted to switch to public_html for a while, so I'll do that now. I believe it will affect my home directories, mywwwpush and my web sites at konfuzo.net.
EDIT:It happened again! This time I accidentally changed my "public_html" directory to "public-html" while I was doing some name changes on some .sgf files. Changing it back obviously fixed things. (Thinking back on it, this may have been what I accidentally did last time. Urgh.)
A FAQ in the zsnes forums has the answers to this problem. The solution for me was to kill artsd (which I actually hadn't known I was running, but did allow me to have more than one sound generating program to run at the same time, and switch to 48000 Hz sampling rate.
For the Commodore 64 emulator, x64 (part of VICE), I want X to start in 800x600 mode. As far as I can tell, the best way to do this is to make another "Screen" section in the /etc/X11/xorg.conf file which has only one "Mode" (set to "800x600"). With startx or xinit, one can specify server options after a "--" flag, and one of Xorg's flags is "-screen SCREENNAME". The command line might look something like this.
xinit /usr/local/bin/x64 PAC-MAN.d64 -- -screen x64screen
Will confirm this later today.
Okay, I just wanted to let y'all know that I made some major progress on the MAME machine at this point. In fact, enough progress, that it's no longer the "MAME" machine or even the "arcade" cabinet. This thing isn't even the "game" cabinet anymore.
I managed to get X windows NES and SNES emulators running on the machine. What happens is that when one selects an NES or SNES game on the machine, a script starts X windows, then runs one of these emulators in fullscreen mode in X.
NES and SNES games are very different from the arcade games. The latter only expect 3 minutes of your time for a quarter. The former expect you paid $30 for a game cartridge and then provides dozens of hours of gameplay. This means much more standing in front of the cabinet. I have ordered a gamepad and Bug says he has one to contribute. Aside from allowing more comfortable play on the Nintendo systems, the controllers also open the opportunity to play 4 player games now, like Gauntlet and The Simpsons.
So, on the heels of that success, Kai offered up the challenge of getting the Commodore 64 emulator running on it so he could play C64 games from *his* childhood (the SNES had been Dhruv's childhood). Well, I got that running last night. It's much flakier than the Nintendo emulators, but it does work.
In the process of getting the C64 emulator running, I stumbled across two crucial pieces of information which allowed me to finally get AdvanceMESS (the Multiple Emulator Super System) running. I had to have the BIOS roms for the C64 correctly named and in the right location before AdvanceMESS would stop complaining about "Emulator advmess without roms files, ignoring it." Last night I finally understood that "roms" meant *BIOS* roms and not *cartridge* roms. Now AdvanceMESS will handle C64 emulation, and is now a backup (and crappier) NES and SNES emulator.
Finally, the reason it's no longer necessarily a "game" cabinet is that the C64 is a full fledged computer, on which I entered and ran the following basic program.
10 PRINT "HELLO, KELLYS!" 20 GOTO 10
So, moving forward, it shouldn't be to hard to get other game systems covered by MESS/AdvanceMESS up and running. Anybody need to play those old Apple II games? Atari 2600? Tandy CoCo?
I think we should have an official renaming of the beast, in honor of it's new broadened scope. I thought that the PGEC (pronounced Pee-Geck, the Palace Game and Emulator Cabinet) would be good, but I'm not feeling all that creative at the moment. PGEC rates a 6 out of 10 for naming. I'm sure someone else can come up with a 8 or 9.
Much gaming,
nodog
Here're the important lines from pinkmame:~mame/.advance/advmenu.rc
emulator "zsnes" generic "/usr/bin/xinit" "/usr/local/bin/zsnes %p" emulator_roms "zsnes" "/usr/local/share/advance/image/snes/" emulator "fceu" generic "/usr/bin/xinit" "/usr/games/fceu %p" emulator_roms "fceu" "/usr/local/games/emulation/nes/" emulator "x64" generic "/usr/bin/xinit" "/usr/local/bin/x64 %p" emulator_roms "x64" "/usr/local/games/emulation/c64/"
Looking at these now, I should remark that any command following xinit must begin with a "." or "/".
Here's the important line in pinkmame:~mame/.advance/advmenu.rc.
emulator "advmess" advmess "advmess" ""
Here are the important lines from pinkmame:~mame/.advance/advmess.rc
dir_image /home/mame/.advance/image:/usr/local/share/advance/image:/usr/local/games/emulation dir_rom /home/mame/.advance/:/usr/local/share/advance/bios:/usr/local/games/emulation
In order to get the C64 emulator working, I following both the fine manual and some instructions found in a forum on the web, and acquired the Commodore 64 BIOS roms named c64_basic.zip, c64_kernal.zip, and c64_char.zip which contained the files Basic.rom, Kernal.rom, and Char.rom respectively. AdvanceMESS requires that rom files be named with the number printed on top of the original chip. With some trial and error, and superior feedback provide by AdvanceMESS, I was able to figure out the correct names for these files (Basic.rom -> 901226.01, Kernal.rom -> 901227.03, Char.rom -> 901225.01 ). Those files are `zip'ed together into the file pinkmame:/usr/local/share/advance/bios/c64.zip.
An example commandline to get the c64 emulator running is
advmess c64 -flop PAC-MAN.d64
There is also a zip file I got off the web somewhere (I believe that it was originally called nss.zip), which contains the BIOS roms for the SNES emulator. Those files are in pinkmame:/usr/local/share/advance/bios/snes.zip. The NES emulator apparently doesn't need BIOS roms (?). An example commandline to get the NES emulator running is
advmess nes -cart smbdhtm.nes
I've gotten excited about playing the Super Mario Brothers 1, 2, 3, and Super Mario World on the MAME/MESS cabinet. It's looking more and more like I'm going to switch back to using X on that system, and running xmame and xmess. xmame has been reasonably easy to understand, but xmess took a while to get the syntax right, and the manpage and "-?" option aren't completely helpful. Here's the syntax...
xmess nes -ef 2 -cart SuperMarioBrothers2.nes
which runs the SuperMarioBrothers2.nes rom in the directory /home/nodog/ATTIC/xmess/software/nes. The file /etc/xmame/xmessrc has the following lines in it.
biospath /home/nodog/ATTIC/xmess/bios softwarepath /home/nodog/ATTIC/xmess/software
In order to get it to run a snes program, I got the file nss.zip and renamed it snes.zip and put it in the /home/nodog/ATTIC/xmess/bios directory. xmess isn't a great SNES emulator, though, so zsnes would be better to use.
When I would do a sudo aptitude update on pinkmame, I kept running into a problem with "unknown key"s. It turns out that all I needed to do was sudo aptitude install debian-archive-keyring and then run the update again. I wish I had written down the exact error.
I've been having trouble getting mail through to hotmail, so I thought that I'd try sending mail out through an SMTP server. This is, of course, the correct way to do things, but I haven't had trouble much until now, so I haven't had to worry about it. UT's mail server requires that one connect with SSL for authentication, so I needed to turn that on, which required turning on SASL and TLS. I went through turning on SASL before.
My basic comments for turning on TLS come from the "Getting started, quick and dirty" section of /usr/share/doc/postfix/TLS_README.gz found in the postfix-doc package. I followed the instructions there almost to the letter and it worked, literally the first time.
I'm tired of make-ing my webpages, so I decided to install a local webserver. Installing apache2 was easy (sudo aptitude install apache2), but there were some issues. First, I wanted it to be accessible only from localhost, because I'm not ready to be serving my own web pages yet. I added the following code to /etc/apache2/apache2.conf just before the section about .htaccess.
<Directory /*> Order deny,allow Allow from 127.0.0.1 Deny from all </Directory>
This isn't perfect, because it still allows people to see the names of directories, even if they can't access them, though it's only directories that they knew or guessed the name of. I also wanted php support, so I installed the php5 package (sudo aptitude install php5), and that allowed me to see php files as long as I loaded them from the server (ex. http://localhost/~nodog/academic.konfuzo.net/main/main.php) instead of read them as a file. Finally, I needed to clear my cache on my browser, because otherwise I got the same error message as before installing php5, "you have chosen to open main.php which is a php script."
NOTE: This last error remained persistant on one machine (my home laptop). Eventually I had to install the following symlinks in order to get firefox to load php files (well, to get apache to serve them).
cd /etc/apache2/mods-enabled sudo ln -s /etc/apache2/mods-available/php5.conf sudo ln -s /etc/apache2/mods-available/php5.load
I've been having some troubles getting web movies to play on my browser. A totem screen will appear and say something like "can't play fd0://". Well, it took a bit, but I was able to figure out that I needed to remove the totem-mozilla package and install (or reinstall) the mozilla-mplayer package. Once I did that and restarted firefox, everything worked just fine.
Okay, so I do a bad job of updating my website. I want to create a website that I don't actually need to update each year. This is leading me to thinking about how I use the web, what I publish, what I share, what kind of image I want to have, whether I'm okay with other people holding my data, what I want to be in control of, whether I want to join in the "social" aspect of the web, etc. These are big questions, and not answered easily. This even brings up the dichotomy of what-do-I-want-to-be versus what-I-actually-am.
The first question that I'd like to answer is: How do I currently use my website?
The next question is: How do I currently use the rest of the web in terms of personal website?
I've been beating my head against this huge font problem (menu fonts in firefox, kontact, etc *way* too big) for a couple of hours, and I've finally figured out what the problem was. Before I tell the fix, here are the two lines which eventually gave me the clue I needed to understand the problem.
bleu:~$ xdpyinfo | grep resolution resolution: 105x98 dots per inch bleu:~$ xrdb -q | grep dpi Xft.dpi: 96
The first line tells me what X thinks the dpi of my monitor is. This was originally *way* off. The second shows what Xft thinks my dpi is. If I set this with
echo "Xft.dpi: 105" | xrdb -merge -
Then the fonts were the correct size, but if I added "Xft.dpi: 105" as a line to .Xresources, then it didn't seem to have and effect and in fact
xrdb -q | grep dpi
would return a ridiculous value again (like "175"). I finally read a web page on some fvwm (my window mananger) forum that this had happened to them as well when they started using a dual headed configuration. Well, that set off a lightbulb. I realized that with the "MergedFB" dual headed configuration that I'm using with my ATI card and the open source "radeon" drivers, the X display thinks it's 2800x1050 (both monitors). My first idea was to measure across both monitors and add a line to /etc/X11/xorg.conf that gave the size of both monitors ("DisplaySize 675 270"). A few minutes later, I realized that allowing X to figure out the monitor size on it's own might be a good plan, so I removed the "DisplaySize" lines. Here's the final resulting xorg.conf file with which font display is just fine and Xft.dpi is 96.
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/usr/share/fonts/X11/misc"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
Option "XkbOptions" "lv3:ralt_switch"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
Section "Device"
Identifier "ATI Technologies, Inc. Radeon R250 Lf [Radeon Mobility 9000 M9]"
Driver "radeon"
BusID "PCI:1:0:0"
Option "MergedFB" "true" #Enable MergedFB function
Option "MonitorLayout" "LCD, CRT" # Use LCD and CRT even if you have 2 LCD's or CRT's
Option "CRT2Hsync" "30-95" #Horizontal Sync of the Monitor (check your monitor's manual for correct values)
Option "CRT2VRefresh" "50-160" #Vertical Refresh rate of the Monitor (check your monitor's manual for correct values)
Option "OverlayOnCRTC2" "true"
Option "CRT2Position" "RightOf" #Physical location of your secondary monitor in relationship to your primary monitor.
Option "MetaModes" "1400x1050-1400x1050" #Monitor Resolutions for Primary-Secondary monitors
Option "MergedXineramaCRT2IsScreen0" "false" #determines which screen is going to be the primary screen; value can be "true" or "false"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
# DisplaySize 360 270
# DisplaySize 310 230
# DisplaySize 675 270
# HorizSync 28-70
# VertRefresh 43-60
EndSection
Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies, Inc. Radeon R250 Lf [Radeon Mobility 9000 M9]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 4
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 8
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 15
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 16
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 24
Modes "1400x1050"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection
Section "DRI"
Mode 0666
EndSection
Damn, I tried, but in the end, I can't abide by KDE. The file browser part of konqueror kept crashing on me (it wouldn't do anything, and then suddenly do unexpected things, and I'd have to kill the process). The configuration never ended up working quite right for two screens, and really, the whole thing ended up feeling kind of sluggish, whereas good old fvwm was snappy and behaves as expected.
Unfortunately in that process, I somehow got my fonts in firefox messed up (they were WAY to big), and by that, I mean the fonts in the menus ("File Edit View ..."). The solution was to run gnome-font-properties and in the "Details" button specify 110dpi fonts. That worked like a charm. (Well, worked like a charm for the rest of that session. As soon as I ended my X session and came back in, the fonts got huge again. Urgh.)
Holy bajeebees, that title makes me one of the biggest geeks on earth! But, yes, after I decided to try KDE out again, I realized that it doesn't use xmodmap, but xkb. Well, I didn't want to lose my carefully constructed way of typing Eo characters (ĉĝĥĵŝŭĈĜĤĴŜŬ) using Caps-Lock and Menu as the "Eo shift key" (my IBM laptop has no "win" or "menu" keys, so must have both). Well, I came up with an xkb file to put into /etc/X11/xkb/symbols. It's an exact copy of the file "us" there with the following lines added and I named it "eodv".
// added by nodog 2007-03-08
partial alphanumeric_keys
xkb_symbols "dvorak-eo" {
name[Group1] = "U.S. English - Dvorak - Esperanto";
key.type = "FOUR_LEVEL";
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft, dead_grave] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ bracketleft, braceleft ] };
key <AE12> { [ bracketright, braceright, dead_tilde] };
key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
key <AD04> { [ p, P ] };
key <AD05> { [ y, Y ] };
key <AD06> { [ f, F ] };
key <AD07> { [ g, G, gcircumflex, Gcircumflex ] };
key <AD08> { [ c, C, ccircumflex, Ccircumflex ] };
key <AD09> { [ r, R ] };
key <AD10> { [ l, L ] };
key <AD11> { [ slash, question ] };
key <AD12> { [ equal, plus ] };
key <AC01> { [ a, A ] };
key <AC02> { [ o, O ] };
key <AC03> { [ e, E ] };
key <AC04> { [ u, U, ubreve, Ubreve ] };
key <AC05> { [ i, I ] };
key <AC06> { [ d, D ] };
key <AC07> { [ h, H, hcircumflex, Hcircumflex ] };
key <AC08> { [ t, T ] };
key <AC09> { [ n, N ] };
key <AC10> { [ s, S, scircumflex, Scircumflex ] };
key <AC11> { [ minus, underscore ] };
key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
key <AB02> { [ q, Q ] };
key <AB03> { [ j, J, jcircumflex, Jcircumflex ] };
key <AB04> { [ k, K ] };
key <AB05> { [ x, X ] };
key <AB06> { [ b, B ] };
key <AB07> { [ m, M ] };
key <AB08> { [ w, W ] };
key <AB09> { [ v, V ] };
key <AB10> { [ z, Z ] };
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
key <CAPS> { type="TWO_LEVEL", [ ISO_Level3_Shift, ISO_Level3_Shift ] };
key <MENU> { type="TWO_LEVEL", [ ISO_Level3_Shift, ISO_Level3_Shift ] };
modifier_map Mod5 { <CAPS> };
modifier_map Mod5 { <MENU> };
};
In order that it would be recognized as a valid keyboard layout, I had to add a line to /etc/X11/xkb/rules/base.lst.
eodv U.S. English w dvorak Eo
in the "! layout" section. Everything worked as expected.
I got a lot of hints about this from this page on custom xkb layouts and Bertilow's page on Esperanto in Linux.
I don't know why but on my research machine, lighthill, some of my matlab windows were using terrible and ugly fonts. These were the dialog pulls up a dialog boxes, and they don't receive the standard font names from Matlab apparently. Well, a solution to this was to add the line
*fontList: -*-helvetica-medium-r-normal-*-17-120-*-*-*-*-iso8859-1
to my .Xresources file (well, in my case to my .Xresources.m4 file). This forces Matlab to choose the specified font. That's pretty okay, but in the process, I think I found out that X in general is choosing a crappy default font. I wonder how I can control that.
Well, now that I have dualheadedness at the research lab and at home, I decided it was time to get it working at my workplace. I didn't expect that they would buy me another video card, so I brought an extra PCI video card from home, an ATI Radeon 7500 (DVI and VGA output). (I had actually thought that this card was broken at one point, but since it's now up and running, I guess that I've proven that it works at least somewhat.) The interesting things about this setup for me is that it's the only place that I've done 2 video cards, and also the only place where my main monitor is on the right. Below is my /etc/X11/xorg.conf.
Section "ServerFlags"
Option "xinerama" "true"
Option "DefaultServerLayout" "DualHead"
EndSection
Section "ServerLayout"
Identifier "DualHead"
Screen "Primary Screen" 0 0
Screen "Secondary Screen" LeftOf "Primary Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "Files"
# path to defoma fonts
FontPath "/usr/share/X11/fonts/misc"
# FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "Monitor"
Identifier "Dell 1702FP"
DisplaySize 330 265
# HorizSync 28.0 - 64.0
# VertRefresh 43.0 - 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "nvidia Quadro2 Pro 0"
Driver "nvidia"
BusID "AGP:1:0:0"
# Option "IgnoreEDID" "True"
# Screen 0
EndSection
Section "Device"
Identifier "ATI Radeon 7500 RV200 QX"
Driver "radeon"
BusID "PCI:4:14:0"
# Option "IgnoreEDID" "True"
# Screen 1
EndSection
Section "Screen"
Identifier "Primary Screen"
Device "nvidia Quadro2 Pro 0"
Monitor "DELL 1702FP"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "Secondary Screen"
Device "ATI Radeon 7500 RV200 QX"
Monitor "DELL 1702FP"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
xmms started giving me trouble with fonts and doublesizing. The font error was basically "Failed to open font". Here's the doublesize error.
Gdk-ERROR **: BadMatch (invalid parameter attributes)
serial 4418 error_code 8 request_code 72 minor_code
The solution to the font errors was simply to go into the preferences and choose a new font, which turned out to be a good thing anyway, because I couldn't really read the previous fonts.
The doublesizing problem apparently has something to do with xmms not choosing a reasonable color depth on doublesizing. The solution is to
export XLIB_SKIP_ARGB_VISUALS=1
before starting xmms. This worked fine, so I added it to my .bashrc.
With this version of matlab on linux, I could compile .c files with the mex command, but when I would run them, I would get errors of the nature
??? Invalid MEX-file '/home/nodog/matlab/AuditoryToolbox/agc.mexglx': /usr/local/matlabr14/bin/glnx86/../../sys/os/glnx86/libgcc_s.so.1: version `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6).
By reading the matlab /usr/local/matlabr14/sys/os/glnx86/README.libstdc++ file and some forums on the net , I saw that I needed to mv the files libgcc_s.so.1 and libstdc++.so.5.0.3 (and the libstdc++.so.5 link to it) somewhere else.
This process went well. I burned an ubuntu-6.10-alternate-i386 cd and followed the instructions here. by mounting the cd at /media/cdrom running gksu "sh /media/cdrom/cdromupgrade". Everything went well, but I lost my dualhead support.
Getting dual head for my Matrox G450 support back took a bit. First I ended up grabbing the newest version of the driver found at the unofficial matrox linux drivers forum. I then '--extract-only'ed the .run file supplied and grabbed the mga_drv.so and mga_hal_drv.so files from the created xservers/7.1.0 directory and, after turning off X with sudo /etc/init.d/gdm stop, put them in /usr/lib/xorg/modules/drivers/. I then had to edit /etc/gdm/gdm.conf-custom to add the -ignoreABI flag to the X server. Here are the exact lines I added.
# Definition of the standard X server. [server-Standard] name=Standard server command=/usr/X11R6/bin/X -ignoreABI -br -audit 0 flexible=true
And finally, I restarted gdm with sudo /etc/init.d/gdm start, and lo and behold, there was dual headed X again. Weee!
EDIT: After the upgrade, I fixed the /etc/apt/sources.list to put my chief repository (ftp.utexas.edu) back in, the did sudo apt-get update, sudo apt-get upgrade, and finally sudo apt-get dist-upgrade. This seemed to go okay, and I did have lots of things which got upgraded.
I followed the same procedure as above, but I couldn't get the "generic" kernel to load. The boot process would stop with "Waiting for root file system. ...". After reading the ubuntuforums, I found that the solution is to rebuild the initramfs for the kernel in question. I did that with the command below.
update-initramfs -k 2.6.17-11-generic -c
NOTE: In both cases above, I also went back into the /boot/grub/menu.lst file and changed the default kernel to either be the generic kernel (with "default 2") or to do the saved/savedefault thing (boot the last kernel booted). To install this, I then executed sudo grub-install hd0.
Well, I went ahead and bought the bullet and upgraded at home as well from CD. This time, however, I chose not to install upgraded packages from the net. That ended up costing me about 20 minutes when I did the update, upgrade, dist-upgrade. Also, the X server went out because that didn't get upgraded along with everything else. It wasn't until I did the update, upgrade that X came back, but X popped up without my intervention. Neat!
This was a nagging problem for a long time: if a local copy of firefox was running, when one 'ssh -X'ed to another machine and ran firefox, then a new window of the local firefox would open up. That was *not* the behavior that I just requested. I wanted to execute the remote copy of firefox. It turns out that there is an environment variable when set to MOZ_NO_REMOTE=1 allows the behavior that I want. (Why would one want the default behavior?!?)
I searched through a bunch of old hardware and determined that it would be possible/good to set up two monitors on my lab machine (lighthill). After beating my head against what I think is a partially broken ATI Radeon 7000 VE, I found a dual monitor Matrox G400 card. It seemed to work great on one head, but gave me a very helpful error of "requires a binary-only "mga_hal" module that is available from Matrox <http://www.matrox.com> ". I went to the page Latest Matrox drivers for older products and grabbed the linux drivers for this card. After untarring the file they gave me, I went into their directory matrox_driver-x86_32-4.4.0/xserver/7.0.0/ and copied mga_drv.so and mga_hal_drv.so to /usr/lib/xorg/modules/drivers/ after first backing up the mga_drv.so which was already in that directory.
Along with the following /etc/X11/xorg.conf file, things seem to be working. There are still a few problems here and there (like where fvwm2 sticks its IconManager and Pager, and there still seems to be a little bouncing on one of the screens), but overall this is a new and neat experience.
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
# Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
# This is for my nvidia card which isn't currently in the machine.
#Section "Device"
# Identifier "NVIDIA Corporation NV17 [GeForce4 MX 440-SE]"
# Driver "nv"
# BusID "PCI:2:0:0"
#EndSection
Section "Device"
Identifier "Matrox G400/G450 0"
Driver "mga"
BusID "PCI:2:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Matrox G400/G450 1"
Driver "mga"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "Monitor"
Identifier "Viewsonic A90 Monitor"
VendorName "Viewsonic"
ModelName "A90"
HorizSync 30-86
# These are the actual Vert rates for the Viewsonic A90 Monitor.
# VertRefresh 50-180
# The rates below are faked to have two synchronized monitors.
VertRefresh 50-160
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Dell M992 Monitor"
VendorName "Dell"
ModelName "M992"
# These are the actual Horizontal rates for the Dell M992 Monitor.
# HorizSync 30-96
# The rates below are faked to have two synchronized monitors.
HorizSync 30-86
VertRefresh 50-160
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Left Screen"
Device "Matrox G400/G450 0"
Monitor "Dell M992 Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Section "Screen"
Identifier "Right Screen"
Device "Matrox G400/G450 1"
Monitor "Viewsonic A90 Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Dual Head Layout"
Screen "Default Left Screen"
Screen "Right Screen" RightOf "Default Left Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "ServerFlags"
Option "xinerama" "true"
Option "DefaultServerLayout" "Dual Head Layout"
EndSection
Section "DRI"
Mode 0666
EndSection
Following the success of what I'd done at the lab and seeing that it might be possible to use the ATI Radeon R250 Lf fire GL 9000 (Mobility 9000 M9) video card on my IBM Thinkpad R50 to run the regular laptop screen at the same time as an external monitor, I tried it. After a couple of hours of fiddling with it, it worked. It's using xinerama, which apparently isn't optimal, but works for now. I did have to download a proprietary driver for this video card, the fglrx driver, but instructions on how to do that were given here. Here's my /etc/X11/xorg.conf.
Section "ServerFlags"
Option "xinerama" "true"
Option "DefaultServerLayout" "DualHead"
EndSection
Section "ServerLayout"
Identifier "DualHead"
Screen "laptopScreen"
Screen "externalScreen" RightOf "laptopScreen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection
Section "Files"
# path to defoma fonts
FontPath "/usr/share/X11/fonts/misc"
# FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
# Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
Section "Monitor"
Identifier "laptopMonitor"
DisplaySize 305 228
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "externalMonitor"
DisplaySize 370 275
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "atiRadeonR250Lf_Mobility9000M9-0"
Driver "fglrx"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "atiRadeonR250Lf_Mobility9000M9-external"
Driver "fglrx"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "laptopScreen"
Device "atiRadeonR250Lf_Mobility9000M9-0"
Monitor "laptopMonitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "externalScreen"
Device "atiRadeonR250Lf_Mobility9000M9-external"
Monitor "externalMonitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
I had to create a new Mac today with OSX so that a labmate could replace the Windoze machine that a professor needed back. I just yanked the OSX drive out of the mac that I'd created, put the drive in another G4 500MHz that was sitting around, booted with the option key, selected the OSX partition (the only one), went into System Preferences->Startup Disk, chose that partition, and rebooted. That machine is fine.
The old ubuntu drive, though, needed to be switch from slave to master, and that proved to be trouble. The end result/solution was to use the ubuntu-6.10-alternate-powerpc disc and choose "rescue" at the prompt. Eventually, I was able to start a shell with partition hda3 as root, edit /etc/yaboot.conf to reference "hda" instead of "hdb" and "disk0" instead of "disk1" and then run ybin. The disk0/disk1 bit was tricky to find/see at first, and caused some extra work. On the plus side, I did get to know more about OpenFirmware and how that works.
EDIT 2007-02-16: At some point, I added a second disk as a slave back to the G4 running ubuntu so other students in the acoustics lab would be able to use a machine with OS X on it. After the OS X install, of course the machine booted directly into OS X. Getting it to boot at least into yaboot again was pretty simple. I just held down the "option" key on boot and selected the linux drive for boot. After booting, I used fdisk on the second drive to find out which partition OS X was on (/dev/hdb5), added that to the /etc/yaboot.conf file (macosx=/dev/hdb5) and a "defaultos=macosx", and then ran ybin -v again. Yay!
I was trying to run qiv on ubuntu 6.10 Edgy Eft on an old G4 PowerPC, but I kept getting weird errors of "Gdk-ERROR **: BadMatch (invalid parameter attributes)". It turns out that this is related to "Compositing" in X. There are two workarounds which seem to handle the problem.
Section "Extensions"
Option "Composite" "Enable"
EndSection
The second is probably preferable, but I used the first for now.
It took me a while but I finally figured out how to stop xscreensaver on ubuntu 6.06 from locking the screen when I closed the lid. The file /etc/default/acpi-support contains these two lines.
# Comment this out to disable screen locking on resume LOCK_SCREEN=true
So, I just commented the second line. It may not take effect until the next time I login or restart the system, though.
I figured out that the reason that the mouse wasn't working on our MAME cabinet was that user mame didn't have any permission on
/dev/input/event[0-9]* /dev/input/mice /dev/input/mouse[0-9]*
In order to give read and write permission, I first added mame to group games. I then added the following lines to /etc/udev/rules.d/40.permission-rules.
KERNEL=="event[0-9]*", GROUP="games" KERNEL=="mice", GROUP="games" KERNEL=="mouse[0-9]*", GROUP="games"
and on a /etc/init.d/udev restart all of the relevant files in /dev/input are now group games.
Yay! Trakball on MAME so I can play Tempest!
EDIT: Okay, so the above was done on an ubuntu 6.06 system, and the system I really wanted to use was a debian etch system. This meant that the file I added the lines to was /etc/udev/rules.d/020_permission.rules and a reboot was required (perhaps not required, but it worked).
I had an extra 80G disk laying around that I know had some performance problems on a high end server that doesn't allow performance problems. I thought that would make a great home directory disk on sedusa. I installed it as the slave on the second IDE controller. I then booted into "recovery mode" which appears to simply be single-user mode. I used fdisk to give it the following partitions:
hdd1 swap 2G 82 hdd2 / 12G 83 hdd3 /boot 500M 83 hdd4 /home 65G 83
In order to set up the filesystems, I ran the following:
mkfs -V -t ext3 -c -m1 /dev/hdd4 mkfs -V -t ext3 -c -m1 /dev/hdd3 mkfs -V -t ext3 -c -m1 /dev/hdd2
There were some errors on the second command, but I hope this was just the mkfs program recognizing the bad sectors and marking them.
I temporarily mounted partition hdd4 to /mnt with mount /dev/hdd4 /mnt and used cp -dpr /home/* /mnt to copy the home directories over.
Finally, I changed the line in /etc/fstab to mount /dev/hdd4 as home instead of /dev/hda4:
/dev/hdd4 /home ext3 defaults 0 2
and rebooted. Everything came up just fine and looks good.
ssh remotehost /usr/games/gnugo --level 6 --mode gmp --quiet --cache-size 32
cgoban would keep beeping and tell me "waiting for go modem handshaking to complete." I finally figured out that ssh wasn't in cgoban's PATH, and gave it the full pathname.
/usr/bin/ssh remotehost /usr/games/gnugo --level 6 --mode gmp --quiet --cache-size 32
EDIT: Well, there still seem to be other problems. Feh.
reEDIT: Well, this actually seems to work now.
I've been miffed because when I look at programs on different computers, the physical size of the fonts on my screen will look very different, even though I specified the same font size in the program and, to my knowledge, I'd chosen the same parameters for the different machines when setting them up. This even occurred for displaying a program remotely. It might look great on one computer, but remotely displaying it on another made it look terrible due to font size problems.
Thankfully, I found the solution today at http://www.mozilla.org/unix/dpi.html. Basically, one needs to use the "DisplaySize" command in the "Monitor" section of /etc/X11/xorg.conf to specify the actual size in mm of the viewable area of one's monitor. With a full restart of X, this made everything much better. Yay!
The specific line in my /etc/X11/xorg.conf looks like.
DisplaySize 330 265
From ubuntuguide.org
sudo apt-get install libdvdread3 sudo apt-get install dpkg-dev fakeroot debhelper # If you have AMD64. You need dpkg-source. Otherwise skip. sudo /usr/share/doc/libdvdread3/examples/install-css.sh
Everything seemed to be working fine with gouda, but on an apt-get update && apt-get upgrade followed by a reboot my orinoco silver wireless card wasn't working anymore. To get networking up again at all, I installed the old 3Com wired PCMCIA card that I had (Dell FastEthernet 10/100), started X, and used gnome's network-admin program (which seems pretty good). After searching around on the web, I found this page which had a suggestion which worked for me. It turns out that the "hostap" and "orinoco" drivers were battling it out for the orinoco card. I added
blacklist hostap_cs
to /etc/modprobe.d/blacklist, rebooted, and everything was great. Yay!
I use gouda (the Dell Inspiron 7000) as my stereo computer (it plays my music). In order to keep it connected to the network, the screen has to stay at least slightly open. If the backlight is one, that puts too much light into the room, so I needed to shut off the backlight. It turns out that was a two step process.
First I needed to recompile the kernel with the APM_DISPLAY_BLANK option turned on. I also followed some suggestions online for speeding up the kernel. That's in the next section.
Second I needed to somehow effect the same output as setterm -blank 5 on the virtual console without anyone logging in. It turns out that command actually outputs an escape sequence, so setterm -blank 5 > blank_5.uxt stored that escape sequence in the file blank_5.uxt. getty is the program that puts the login prompt on the screen as well after it shows the contents of /etc/issue. So, I just dumped the contents of blank_5.uxt into /etc/issue on a separate line, and now the screen blanks after 5 minutes.
Here are a few tips I found on the web for speeding up a 2.6.15 kernel...
In "General Setup" activate: -Support for paging of anonymous memory (swap) --Support for prefetching swapped memory In "Processor type and features": -Processor family Choose the model of your processor. Activate: -Preemption Model --Voluntary Kernel Preemption (Desktop) -High Memory Support --off -if you have less than 1 GB of RAM --1GB Low Memory Support -if you have 1GB of RAM --4GB -if you have more than 1GB of RAM -Timer frequency --1000 Hz In "Device drivers" go to "Block devices" and in "IO Schedulers" leave only the "CFQ I/O scheduler" activated, which provides the best performance. In "Kernel hacking" uncheck "Kernel debugging".
In a fit of useless activity, I decided that my Dell Inspiron 7000 (gouda) needed to no longer be running SuSE 9.3 and needed to be switched to debian or ubuntu. I figured that debian's known for being a distribution which works well on old hardware (here a PII-333). I only use the machine to play music to my stereo anyway (so why did I put any effort into this at all?).
So, I kept getting an error while trying to install either debian or ubuntu. (I'll add the exact text of the error later.) It turns out that on starting PCMCIA card services, there was one set of ports and irqs that I needed to exclude for the CDROM to work completely correctly, and another set of ports that I needed to include for the orinoco silver wireless network card to work at all. Here's the final version of the line I needed to type into the "config" line while starting card services.
exclude port 0x800-0x8ff, irq 3, irq 5, include port 0x300-0x4ff, port 0x000-0xcff
In the end, I decided to install ubuntu. The biggest reason, was that all of my other machines are ubuntu, so the /etc/apt/sources.list file will be the same, and I can expect similar behavior. The biggest drawback will be the installation of far more packages than I need on this simple machine. I'm gonna have to get rid of some packages and turn X off, but that'll be fine as long as there is enough room to install the full distribution.
This did force me to get wireless working on this machine, which I did want.
I don't love the ubuntu boot splash screen with it's little progress bar, so I wanted to disable it. It was just a matter of removing "quiet" and "splash" from the boot line in /boot/grub/menu.lst, and then running sudo grub-install /dev/hda. It worked out great, although I could switch to a more modern vga mode, but that's much less necessary.
Debian, and therefore ubuntu, makes use of /etc/alternatives to choose which of a group of programs which fills a particular role will be chosen when the generic name for that role is invoked. As an example, which of x11-ssh-askpass, gtk-led-askpass, ssh-askpass-gnome, ssh-askpass-fullscreen will be chosen when the user types in ssh-askpass. There are lots of command line options to make things happen immediately, but the easy route is just to type in
sudo update-alternatives --config ssh-askpass
and select one of the choices by number.
I finally figured out the correct URI to give to CUPS in order to print from one CUPS server to another ("printers" is literal here, "machine.domain" and "queue" are the names of the machine and the printer queue):
ipp://machine.domain/printers/queue
By reading up on this, I did avoid another problem, which was that when printing from one cups server to another, one must set one of the servers to "raw" as the printer manufacturer and type. This avoids "double translatting" the file.
I will note that it is very helpful if *you* are a member of the "lpadmin" group and user "cupsys" is a member of the "shadow" group. (You'll need to /etc/init.d/cupsys force-reload to get the running cupsys to actually be in the shadow group.) If so, then one can use one's own username and password instead of root when adding a user. This is especially useful when on ubuntu, because there is no root user.
From shallowsky.com I found that the "Enter username and password for 'CUPS'" dialog can actually be handled by doing the following:
adduser cupsys shadow adduser yourname lpadmin
The second line is only necessary if you are not a member of lpadmin already. This was indicated in the very end of /usr/share/doc/cupsys/README.Debian.gz
If you copy a URL wrapped over multiple lines from somewhere and try to paste it into the address bar, you will end up only with the first line of it. To fix it, go to about:config and change editor.singleLine.pasteNewlines setting to 3.
In order to paste a URL (middle-mouse button) into a Firefox browser window or tab does and have that cause the page to be opened: Open about:config (by writing it in the location bar) and set middlemouse.contentLoadURL to true.
So, xbiff's pixmaps have reverted to the terrible looking inbox images and I was getting these errors in .xsession-errors:
Warning: Cannot convert string "flagup" to type Pixmap Warning: Cannot convert string "flagdown" to type Pixmap
It turns out that the bitmaps for xbiff are contained in the "xbitmaps" package, and that needed to be installed.
I took a look at many different sources.list files for ubuntu, and this is the conglamoration that I came up with:
## Add comments (##) in front of any line to remove it from being checked. ## Use the following sources.list at your own risk. ## deb http://archive.ubuntu.com/ubuntu dapper main restricted universe multiverse ## deb-src http://archive.ubuntu.com/ubuntu dapper main restricted universe multiverse ## Main UT Mirror deb ftp://ftp.utexas.edu/mirrors/ubuntu/ dapper main restricted universe multiverse deb-src ftp://ftp.utexas.edu/mirrors/ubuntu/ dapper main restricted universe multiverse ## MAJOR BUG FIX UPDATES produced after the final release deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse ## UBUNTU SECURITY UPDATES deb http://security.ubuntu.com/ubuntu dapper-security main restricted universe multiverse deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted universe multiverse ## BACKPORTS REPOSITORY (Unsupported. May contain illegal packages. Use at own risk.) deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse ## PLF REPOSITORY (Unsupported. May contain illegal packages. Use at own risk.) ## requires the following line to add the repository key... ## wget http://packages.freecontrib.org/ubuntu/plf/12B83718.gpg -O- | sudo apt-key add - deb http://packages.freecontrib.org/plf dapper free non-free deb-src http://packages.freecontrib.org/plf dapper free non-free ## CANONICAL COMMERCIAL REPOSITORY (Hosted on Canonical servers, not Ubuntu ## servers. RealPlayer10, Opera and more to come.) deb http://archive.canonical.com/ubuntu dapper-commercial main ## Repository for Skype ## deb http://download.skype.com/linux/repos/debian/ stable non-free
Okay, so there are several packages that are in debian stable and in debian unstable that are missing in debian testing (notable vlc and mplayer). What a pain. The final solution to this has now been to switch back to ubuntu. Jeebus! I'm getting all of my machines there slowly, but the pink palace machine sedusa freaked out during the ubuntu install and won't even get to the grub menu. "Error 17"
Following this page I was able to get postfix to do sasl authentication with mail.konfuzo.net fairly easily.
relayhost = [mail.konfuzo.net]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_pass
smtp_sasl_security_options =
Note that the "[]" around mail.konfuzo.net tells postfix to not use MX rocords, but A records instead. This is apparently "the trick."
mail.konfuzo.net: myusername:mypassword
And it seems to be working!
I don't completely understand the debian/cdrecord/wodim problems, but I couldn't get cdrecord to work properly with debian. Eventually I found that I needed to run modprobe ide-cd and set CDR_DEVICE=/dev/cdrw
So, it was quite strange, but my during an Online Update on my SuSE machines, I've been getting "No patches available" when I know that patches have been released. It turns out that I need to go to "Online Update Configuration" and "configure now." Then everything seems to be in order again.
It took a while before I found the website http://easymamecab.mameworld.net/, but once I did, I finally figured out that the trick to getting a framebuffer kernel that wasn't VESA was to remove the VESA driver and compile the framebuffer driver for your video card into the kernel instead of as a module. Now I've got the MAME machine using AdvanceMAME through debian. Now the big problem is the A-PAC controllers. They really seem to see left and right on the joysticks as the same thing. (Up/down as the same, too.)
I was trying to figure out which video card I had in the machine when my boss suggested the lspci command. It gave me everything I needed.
I've been beating my head against the foreign characters being printed when using Alt-anything in xterm for a little while. I finally found the solution. I had to turn off 8-bit input. This was done by adding a line with "xterm*eightBitInput: false" in it to .Xresources (well, in my case, to .Xresources.m4 because I process that file with m4 in mycrazify). In order to do debugging, I used xrdb -merge ~/.Xresources to immediately put the changes into effect. Now, I can use irssi on my debian and ubuntu machines.
So, for better or for worse, I've decided to put ubuntu 6.06.1 LTS on my laptop instead of SuSE 10.1. It seems like I'll be doing a little more sysadm work to get things set up, but hopefully, apt-get and a speed increase will be the result. So far, I'm a little dubious, but still moving forward. (Note: In the future, I would recommend using the "alternate" install for anyone except rank beginners. The "Live CD" install is pretty, but doesn't allow for many options.)
The biggest problems I've had so far are
1 - I didn't realize that I hadn't installed procmail. This caused my .forward file (consisting of one line: "| /usr/bin/procmail || exit 75") to cause mail delivery to fail. I thought there was a problem with my exim4 configuration, so I reinstalled it several times. Eventually, I gave up and installed postfix instead, and thankfully, it showed me my error almost immediately.
2 - I'm getting foreign characters when I hold down alt and type in an xterm. This wouldn't be a big deal, I guess, except that I used alt-1, alt-2, etc to get to the different IRC windows in irssi. This new behavior prevents access to those windows, except through the commands /window 1, /window 2, etc. rxvt and other programs don't exhibit this behavior.
The wireless network card gave me a little bit of trouble, but I think that once I typed all the config info in correctly, the rest went smoothly. I'll also note that network-admin sure makes wireless connections easier!
So, I need to authenticate at konfuzo.net before it will relay my mail. I've set this up before, following instruction found at wiki.dreamhost.com. It looks like it's easier to set up an authenticated smarthost using exim. I followed the instructions at http://wiki.dreamhost.com/index.php/Exim, but then later was able to remove my /etc/exim/passwd.client file and konfuzo.net seems to keep relaying. I'm not sure why. Maybe it's a IMAP before SMTP thing. I dunno.
After some decision making at work, we've decided to go with debian instead of ubuntu, so I decided to do the same thing at home. Once I'd moved my /home directory to a separate partition (which I will advocate from here on) I was able to reinstall an operating system in about 25 minutes. Getting wireless working (simply a matter of putting the ipw2100-1.3.fw (found by google) in /usr/lib/hotplug/firmware) and getting mail working (which involved me putting my mail.konfuzo.net username and password in /etc/exim4/passwd.client) were the only two real hold ups. I have to admit that I love apt-get and how easy it is to immediately install a package that you didn't have. Much nicer than waiting minutes for it with SuSE and YaST. (Oh, and network-admin in the gnome-system-tools is just badass for working with wireless networks. I was able to switch back and forth between school and home networks super simply.)
Apparently, for a non-initrd kernel, you need to have the following compiled into your kernel: motherboard chipset driver, driver for the boot drive type and controller, and a driver for the root filesystem.
Okay, so I suddenly find myself looking at debian again, both for work and for a MAME machine. Here are my notes about compiling an etch (testing) kernel (2.6.16) for debian.
VFS: Cannot open root device "hda1"
Please append a correct "root=" option
Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0)
It's up and running after several tries. Now, I'd like to create a kernel that doesn't depend on an initrd image as well as has the options that I want. Moving along.