Disclaimer - tinkering with settings and scripts can break your
system..
all information here is presented as-is and without warranty.
Gnome 3 stuff now has its own page.
3/20/11 - Starting a new file for PC-related activities... sort of a
continuation of Ubuntu Notes.
A few days ago I received my new ZaReason Limbo 6000A system with a 3ghz quad core AMD processor, 4gb ram, 500gb disk, a DVD R/W drive, and preloaded with a customized 64-bit version of Ubuntu 10.04 LTS. My old Ubuntu 8.04 system running on a 1.4ghz AMD still works fine but as end-of-support approaches on 8.04 I had to make a move, trying to upgrade it would be risky, better to let it continue being the slow workhorse that it is.
I set up the GUI to use the Clearlooks theme with Ambiance window
decorations, which puts the buttons on the right but still looks
mostly stock...
...that's my MEVO corewar evolver (click to enlarge).
4/3/11 - The last couple of weeks have been a blur of setup
activity, I use an odd mix of apps for my electronics job and hobbies,
spanning three different operating systems. The new system is now
beginning to resemble my old setup except it's much faster, looks a lot
better and has lots less built-up cruft. That'll change. Pretty much
all of the bash scripts and many of the simpler binaries I use
(including anything compiled with FreeBasic) copied right over and work
fine with minor editing to account for different install paths etc,
binaries that called libraries had to be recompiled. Most of the build
tools and utilities I use were already installed. FreeBasic itself
didn't work and doesn't offer a 64-bit version but I found instructions
for installing the needed 32 bit libraries. The web came fully
functional with popular codecs, I didn't have to do much for web stuff
other than install a couple of FireFox plugins I use and install Pan
gFTP SeaMonkey acroread etc from the repository, plus lsb so Google
Earth would work. Other essential apps for me include Assogiate, VLC,
Sound Converter, Gerbv, Audacity, flip (from tofrodos), mplayer-gui so
I can use a script to play all the songs in a directory without messing
with playlists, wine for running LTSpice and IrfanView, DosEmu for
running all my old dos apps and batch files, and VirtualBox with the
extensions for running Windows.
Wine and DosEmu
Getting everything running smoothly took a bit of trial and (lots
of) error. At first I made the mistake of using WineTricks to load up
my wine install in an effort to get more Windows stuff running under
wine instead of virtually, but that proved futile for the apps I was
trying to run and worse it destabilized LTSpice, causing it to
frequently crash. Redid my .wine dir from scratch (deleted then ran
winecfg), only needed to add mfc42.dll for Irfanview. Better to run the
more intense Windows stuff under an actual copy of Windows... although
I do need to figure out the wine prefix thing to have different wine
configurations. All I really need in wine are apps I associate to right
clicks with the help of scripts, here's the one for IrfanView...
#!/bin/bash
winpath="$1"
if [ -n "$1" ];then
echo "$1" | grep "/" &> /dev/null && winpath="Z:${winpath//\//\\}"
fi
wine "C:\Program Files\IrfanView\i_view32.exe" "$winpath"
...the one for LTSpice is the same except for the last line. The
script checks to see if a parameter is specified, if it is then checks
to see if there's a "/" path separator and if there is then converts
all "/" characters to "\" and prepends Z: so Windows apps will
understand.
Setting up DosEmu was somewhat trickier. I have an existing dos tree
which I assign to the D: drive so edited the autoexec.bat to remove the
part that attaches my home dir to D: (I don't want that) and instead
specify the directory tree I want. Basically this involved commenting
out the unix -s DOSDRIVE_D line and the following if "%DOSDRIVE_D%"
line, then adding set DOSDRIVE_D=[the directory I want]. Added extra
PATH dirs listing where my apps are and a D: before the final unix -e
line (path must be set right before it gets to that line for
right-click associations to work). Unlike wine, the DosEmu environment
is its own isolated world restricted to the specified directories, so
scripts to implement dos associations have to map the specified file to
somewhere in the dos tree, I just copy the file to a known location
then after DosEmu exits copy back any resulting files and remove the
temp files. Here's the script I use to run the CVASM16 PIC assembler...
#!/bin/bash
dosroot=~/MYDOS
if [ -e "$1" ]; then {
bn=`basename "$1"`
pn=`dirname "$1"`
if [ -n $bn ]; then {
mkdir $dosroot/cvasm.tmp
cp -f "$1" $dosroot/cvasm.tmp
unix2dos $dosroot/cvasm.tmp/$bn
xdosemu "cvasm16t.bat $bn"
cp -f $dosroot/cvasm.tmp/*.lst "$pn"
cp -f $dosroot/cvasm.tmp/*.hex "$pn"
rm $dosroot/cvasm.tmp/*
rmdir $dosroot/cvasm.tmp
} fi
} fi
The cvasm16t.bat file is a batch that's coded to CD to D:\cvasm.tmp
where the source file was copied before running the assembler with
options to produce hex and listing files, which are copied back to
where the original source was. The temp copy of the source is converted
to crlf line ends using unix2dos, which (now) just flip -m $1 in a bash
script (similarly dos2unix is flip -u $1 in a script). Similar
techniques are used to run other dos programs by association, varying
depending on what the app does.
Once the launch scripts are in place the relevant file types have to
be associated with them. For existing file types this is just a matter
of right-click, properties and a few clicks and keystrokes but for
programming usually it's all text to the OS and I don't want all my
tools on the right-clicks of every text file. This is where Assogiate
comes in, I use it to create new types for *.asm *.src *.hex etc, each
inheriting whatever is associated to plain text but letting me add
extra
apps specific to those extensions. Once set up I can edit code in
various languages, right-click to assemble or compile, and right-click
to download to my embedded app or otherwise run without fooling with
those complicated integrated dev environment things.
VirtualBox and Windows
I installed Oracle VirtualBox 4.0.4 from the VirtualBox web site
along with the extensions that enable USB support. One of the reasons I
got the new system (besides needing to anyway to get more up to date)
was the new Altium Designer PCB program was not compatible with my
previous Windows XP box, which seems to have become partially damaged
from the attempts. I need that stuff, it has
to work and I have to have a way to back it all up ("computer", OS,
apps and all), plus it was getting old having to constantly transfer
files between the WinXP box and my main Ubuntu system (using a
thumbdrive). Would be very nice to do all that stuff virtually... at
least forstall setting up a new Windows box until I get everything
transferred into this new Ubuntu system.. for the moment I still need
my old 8.04 system for reference and there isn't really room for yet
another PC around here. To try out VirtualBox (VB) I installed WinXP
Home,
pretty nice. The shared folder thing works perfectly, never could get
that to work with VB 3 on my old machine where I resorted to setting
up a local FTP server instead. Altium (probably) won't run under XP
Home but this is pretty nice... went down the road and bought a shiny
new copy of Windows 7 Professional. The 64-bit version was unstable and
not compatible with some of my software, fortunately both 64-bit and
32-bit versions are provided. The
32-bit version is actually quite nice, at least as an environment for
running Windows stuff.
All the apps I need to run worked, except for Altium, which crashed
hard causing the OS to reboot. After some experimenting determined the
cause was the VB guest additions, without the VB drivers Altium boots
up
fine (no 3D but I can work around that). I can't do without the guest
additions since they also supply mouse and shared directory
functionality, so instead I went to System and disabled the (simulated)
video card, leaving plain VGA/VESA. This means not being able to resize
the virtual window, with my 1440x900 monitor the biggest screen I could
choose was 1024x768 - rather cramped for Altium. To work around that I
used a shortcut containing a VBoxSDL command to launch Win7, which
displays it without the menu and status icons, that lets me choose
1124x832. That'll work... but before launching I have to roll up my
Gnome panels to give it the entire vertical screen.. once it boots I
can put the panels back, covering up the dreaded corner "X" that's the
equivalent to flipping the power switch [desktop effects have to be
enabled to allow the panels to overlap a window frame, the VBoxSDL
--termacpi option avoids improper shutdown].
Here's my present setup...
Getting there. BTW the network indicator in the top panel doesn't normally have a darker background, just an effect caused by the xwd screen dump utility that I used to get the screenshot, with the help of a script tied to one of my panel launchers (see below under Scripts).
To get a bit more functionality in the Windows environment (and just
to feel more at home) I installed CygWin. The ncurses package is needed
to provide the clear command, the CygWin install program is sort of a
package manager that lets things be added and removed as needed, even
has Gnome and KDE if so inclined. CygWin, like most 'nix systems, uses
LF line ends so to avoid wrecking scripts I installed Scite, which
preserves line end format and permits converting to and from CRLF
format. Arranged to allow double-clicking and running bash scripts by
adding C:\cygwin\bin to the PATH variable and associating *.sh files to
C:\cygwin\bin\bash.exe. It shows a warning whenever a script is run
from outside the normal filesystem (thus $0 will contain \ separators
rather than the / 'nix convention), to suppress that added a CYGWIN
variable containing nodosfilewarning.
Operating without the usual VirtualBox menus took a bit of setup,
each USB thing to be used in the virtual environment has to be added to
the USB setup so that if those devices are used they will be
automatically mounted. Also has to be set to automatically use the CD
device. I didn't have much luck using USB thumbdrives.. not something I
would want to add to the USB filters (which would prevent using them in
Ubuntu when Windows was running) and not sure it would work anyway,
Ubuntu sees and automounts USB disks first and grabbing control
afterwards seems a risky even if it did work (which it didn't). With
the shared directory thing this is not an issue.
Getting audio to work was a challenge. Audio output always worked, but had difficulty getting input to work - mostly because the mic jack on the front of the ZaReason machine doesn't work (the headphone jack works but input just shows a pulsing noise, I suspect something isn't wired right). I tried a cheap USB mic/speaker interface but that was useless - Ubuntu 10.04 couldn't deal with it at all (killed the USB subsystem and since I'm using a USB keyboard and mouse that's the same as total lockup - blacklisted snd-usb-audio in /etc/modprobe.d/blacklist.conf to keep that from happening). The device was also useless on my old system - Ubuntu 8.04 didn't lock up with it but when booted into XP the response was far too choppy/distorted to do measurements. Once I ran cables to the rear line in / speaker out jacks on the ZaReason machine I started to get better results but it was still tricky.. had to tell VB to use the OSS driver to get anything useful. Previously in an attempt to make it work I told VB to emulate AC97 and installed the RealTek driver in Windows, but not sure if that has anything to do with anything. Somewhere in the system there's a limiter, had to set Ubuntu's input "level" to unamplified (it's really a selector switch that just looks like a slider) to avoid distorting audio sweep levels, and in Windows make sure the mixer was set so there was no software loopback going on. Once all the bits were just right the Holmes Impulse test program gave me a reasonable loopback response (speaker output connected to line input), amplitude and phase response wasn't great but calibrating got it flat from 15-15K, manually editing the mic calibration file got it flat down to 10hz. Not perfect but it'll do for now.
Useful Scripts
Note: all scripts are presented as-is and without warranty, I'm not
responsible for any effect they may have on your system. Don't ever run
a script unless you understand what it does. These scripts should
present no issues but often scripts need to be adapted to a particular
system, you might have to do that.
There are some things that I do all the time... launch a bash
terminal in a particular directory, zip up a directory or file, make a
screen dump of a particular window or the entire desktop, and launch a
file manager with root privilages in a directory for editing config
files, fiddling with my /usr/local/bin directory etc. Another handy
thing is being able to play a bunch of music files in a directory in
filename order - I don't like fooling around with adding playlist
items, and later versions of VLC play songs in title order which messes
up the "album" order. Gnome 2 makes it easy to add scripts that are
always available, just put them in the ~/.gnome2/nautilus-scripts
directory. One really nice aspect of scripts in nautilus-scripts is
when multiple files are selected all the filenames are delivered on the
same command line, very handy for running a program with multiple
items. Selecting multiple items then launching something via
association launches multiple tasks each with one of the files,
generally not what I want to do.
Scripting 101 - all bash scripts should begin with the line
#!/bin/bash to tell the system to use bash (other kinds of scripts can
specify a different interpreter). Scripts must be made executeable
before they can be run by double-clicking or from a command line
(otherwise bash must be explicitly specified), right-click, properties,
permissions. Scripts for Ubuntu and most other GNU/Linux systems must
have LF line ends, I use flip from the tofrodos package for this along
with a dos2unix script that runs flip -u $1 and a unix2dos script that
runs flip -m $1 (unix2dos is handy for converting text created under
Linux to something Windows Notepad will display, also dos and many
old-comp systems expect input files to be in CRLF format). Scripts
placed in nautilus-scripts are always available, for more specific
usage by association or to use from the command line put the scripts in
a path directory, /usr/local/bin is the standard location. Associated
scripts can be put anywhere but putting them in a path directory avoids
having to specify the directory or browse for the file, just type the
filename when associating. I set up the Nautilus file manager so that
when an executeable script is double-clicked it prompts for what to do
(edit, preferences, behavior), if a script does not specifically launch
a terminal (xterm gnome-terminal etc) then to see any output or
interact then when running choose "run in terminal". If a script
launches its own terminal or runs a graphical thing then just run.
Important... anything run by right-click associations or from
nautilus-scripts does not launch a terminal so you must code it
yourself if the script requires non-GUI iteraction - generally this
means the associated script contains something like xterm -e
some_other_script $* where some_other_script is the actual script to
run. There's a way to code it so it's in the same script but it's
easier to use separate files and that permits the 2nd script to be used
when already at a command line. For a one-line script where there is no
need to keep the script running, add a & character at the end to
spawn the command as a separate task so the script can go ahead and
exit. That's the basics, the rest is learning how to use the bash
scripting language, there are numerous how-to's on the net for that.
Here are my essentials for nautilus-scripts...
Terminal just launches Gnome Terminal wherever I am...
#!/bin/bash
gnome-terminal &
BrowseAsRoot prompts for a password then launches the nautilus file
manager... [updated 11/14/11]
#!/bin/bash
gksudo "nautilus --no-desktop $(pwd)" &
MakeZipFile zips up the selected file or folder...
#!/bin/bash
# wrapper for zip command
# put in nautilus_scripts or run from command line
if [ -n "$1" ]; then
itemtozip="$1"
zipfile="$1.zip"
# made vars to maniplulate later... like detecting if being
# run from folder open and trimming out the full paths to
# avoid including them in the zip file.
if [ -e "$itemtozip" ]; then
zip -r "$zipfile" "$itemtozip"
else
echo "$itemtozip not found"
fi
else
echo "Usage: zipitup item"
echo "Creates item.zip"
fi
MPlayAll plays all files in a directory using gmplayer...
#!/bin/bash
gmplayer * &
Here are some other scripts I use (not from nautilus-scripts)...
Xdump uses the xwd utility to take a screen dump of a selected
window...
#!/bin/bash
# Xdump - This script dumps the contents of a X windows to gif files
# Edit to specify output directory, default is ~/ImageDumps
# Renames the output file in sequence starting with dump1.gif
# Note..filenames and paths below must not contain spaces!
# Requires xwd and convert from imagemagick
# ---- config variables ----
outdir=~/ImageDumps
namebase=dump
#nameext=png
#nameext=jpg
nameext=gif
namenum=1
tempdir=~
# --------------------------
xwd -nobdrs > $tempdir/xwdimage.xwd
mkdir $outdir
while [ -e $outdir/$namebase$namenum.$nameext ]; do
namenum=$[$namenum + 1]
done
convert $tempdir/xwdimage.xwd $outdir/$namebase$namenum.$nameext
rm $tempdir/xwdimage.xwd
This requires xwd from x11-apps and convert from imagemagick, both
were already installed. To use I made a launcher that runs this script
(not useful for command line use so doesn't matter where it's put but
somewhere under home is handy for easy editing to change the image
type), and put the launcher on my top Gnome panel. Clicking on a window
interior dumps only the window contents, some apps like Gnome Terminal
(but not xterm) permit clicking on the title bar to save window borders
and all, most apps permit only the window contents to be saved (seems
like that wasn't the case under 8.04, not sure why). Clicking on an
exposed area of the desktop saves the whole screen.
These scripts create a ram disk (64 megs on my systems), here's
MakeRamDisk...
#!/bin/bash
gksudo mkramdisk.sh
...and the mkramdisk.sh script that it runs (assumed by the above to
be in a path directory)...
#!/bin/bash
# make a ram disk for Ubuntu and similar systems
# this must be run as root (gksudo mkramdisk.sh)
rddevice=/dev/ram14
rdmountpoint=/media/ramdisk
rdworkdir=/media/ramdisk/work
if [ ! -e $rdworkdir ]; then # only run if ramdisk workdir doesn't exist
if [ ! -e $rdmountpoint ]; then # if mountpoint doesn't exist
mkdir $rdmountpoint # create it
fi
mke2fs -m 0 $rddevice # format the ramdisk and mount it...
mount $rddevice $rdmountpoint && mkdir $rdworkdir # create work dir
chmod 777 $rdworkdir # make so anyone can use it
fi
This UnmountRamDisk script unmounts the ram disk...
#!/bin/bash
gksudo umount /media/ramdisk
...needed because unmounting using right-click unmount doesn't work.
And of course the obligatory unix2dos and dos2unix scripts (make
sure binary versions are not present)...
#!/bin/bash
# unix2dos - uses flip to convert a file to CRLF format
flip -m $1
#!/bin/bash
# dos2unix - uses flip to convert a file to LF format
flip -u $1
These are a few of my general-use scripts, I've got lots more that
are more specific such as scripts for compiling PIC and other code,
doing various things involving the game of CoreWar (including numerous
scripts that invoke old batch files I wrote in the '90's), and in
general whenever I want to automate something to avoid the command line
(or avoid too much complication at the command line). Bash is quite
powerful and if inclined can be used to make complete programs, such as
REBS.
4/6/11 - Little Glitches... notes from my notes... and do note that
just because I write about bugs and stuff doesn't mean I'm dogging
Ubuntu or GNU/Linux (although I might comment about certain elements
just in case UI/SW designers happen to be reading) - these are all
minor glitches and if anything I
have greater chances of solving or working around these things because
it's an open source system - issues with Windows are far more serious
and fundamental.
My ZaReason Limbo 6000A system came with a MSI 880GM-P51 motherboard
and a 3ghz AMD Athlon II X4 640 processor, the system normally ships
with a 2.8ghz processor but they were out of stock of that one. Slot
specs are slightly different than listed on the web page, I have 2
PCIEx4 slots rather than 1, which makes me think that the motherboard
in my system is different - possibly explaining the mic jack issue
(just a theory but my MB has Intel HD audio which uses the same
physical front connector as AC97 audio, but the jacks are wired
differently). But possibly not - the other theory is it is just me and
the way I'm trying to wire my test circuits runs afoul with HD audio's
sensing/switching system. Regardless, the rear line in jack works and
is better for testing circuit response anyway. For the most part the
ZaReason-configured 64-bit version of Ubuntu 10.04 works well with the
hardware, but one glitch is lm-sensors does not work - detect-sensors
says I need the k10temp driver, which isn't currently present in the
2.6.32 kernel. However fan speed control seems to work fine, and
hddtemp does return the hard drive temperature. Compiled k10temp.c and
temporarily inserted into the kernel but afterwards sensors only
returned some PCI temp.. not what I was looking for. The 2.6.33 kernel
has k10temp built-in but I don't know if there are any plans to
officially move 10.04 to a later kernel branch - 2.6.35 is listed in
the repositories but I'm a bit hesitant to go mucking around too much
at such a low level - but there was talk about adding the temp drivers
to 2.6.32. Hmm... probably the best thing to do is just wait.. if I
want to know how hot it's running I can feel the breeze coming out the
back.
There was a little glitch where a bit more than once a second there
was a little hard disk access sound - late at night when everything is
quiet it was like a ticking clock (but out of time with the real
ticking clock). Started investigating to see what was writing using the
command "sudo find / -xdev -mmin 1" (w/o the quotes), fairly frequent
writes to ~/.cache/ubuntuone/log/syncdaemon.log and
/var/cache/samba/winbindd_cache.tdb, also discovered that the ~/.gvfs
cannot be accessed by root (wtf? a fuse thing). The iostat command from
the sysstat package is also handy for monitoring system activity.
Unchecking the Ubuntu One startup thing resulted in a broken
restart/shutdown panel item, fuse is easy to disable by adding
~/.xsessionrc containing GVFS_DISABLE_FUSE=1 followed by an EXPORT of
that variable (the file has to be like a bash script), restores proper
permissions to .gvfs but interferes with mounting CD's (they eventually
mount but takes awhile), neither action did anything to quell the
little disk noise, back to stock. Then it stopped on its own (after an
update but that could be unrelated). The great ticking HD mystery...
but I learned of a handy place I can put my own startup commands and
variables so that's cool.
The Yelp Help system has a bug in the man and info page displays
under Advanced Topics, the index text is garbled. I really like the man
displays since it's an overview of most of the installed commands and
it's much easier to read than typing man somecommand and scrolling up
and down in a terminal shell. So went to /usr/share/yelp and sure
enough there was man.xml and info.xml files, which sure enough
contained the garbage I was seeing in the lang:"en" and lang:"en@shaw"
tags. The other lang:en tags looked fine, so after backing up the
original files I simply deleted the garbage tags. The indexes look fine
now, man page displays work. There are still some issues with links in
the Info pages, destination is incorrect for anything linking to
gettext or coreutils (but it does land within the correct info file)
and hyperlinks don't work in any of the info doc files (however the
side index panel does work). The garbled text thing is a known bug (not
sure if the fix is known, haven't seen it reported but it was obvious),
not sure what's up with the info links, seems internal - under 8.04
Yelp also has problems with file#tag links but there hyperlinks in the
info files do work. Not a big deal or anything, I can still access the
info.
The "Safely remove drive" option [sometimes] displays an error
message when
using to unmount a USB thumbdrive [not all thumbdrives are affected].
"Eject" produces no error and the
remove error is probably cosmetic [asks the drive to confirm but some
ignore the request], but some of the
reports about this issue suggest potential problems [possible cached
kernel writes, confusion over eject vs safely remove and which one
should be used - was simpler when it was simply unmount]. This one has
an
easy alternate solution - indicator-usb
is a
little app that when added to the startup programs pops up a panel icon
whenever a removeable drive is
attached, when clicked there's a remove option. Easier to use than the
old method of right-clicking the drive, which is often covered up by
open windows.
I had a bit of a apt package system messup... noticed some security
updates were not selectable.. in particular libavdevice52 libavformat52
libpostproc51 and libswscale0, these are used by VLC, mplayer and
blender and probably other multimedia apps. A case where updated
libraries were complaining because their dependents were not also
updated. I noticed in the confict reports from synaptic they could use
the -extra versions instead - so marked the -extra versions of the
problem packages for installation which removed the conflicting
versions without affecting the actual apps. However trying to mark the
updated core versions of the libraries (that get security updates) also
marked the apps that depend on the libraries for removal - not exactly
useful. Update manager did the right thing and prevented those updates
from being installed, I did what I did to keep from seeing the conflict
even though it means I probably won't get security updates for these
packages. A known issue, they're working on it. Update 4/8/11 - appears
to be fixed now... the -extra versions got the same fixes and went in
just fine - the lesson seems to be when Update Manager shows
unselectable updates it's doing what it's supposed to do, ignore it
until they become selectable. However it still could represent a buggy
situation - some apps may be uninstallable during the time when the
repositories are inconsistent... this doesn't happen often, in fact
it's the first time I've noticed the effect in the 5 years I've been
using Ubuntu.
I noticed a bit of glitchiness when copying launchers to the Gnome
panel, sometimes they don't show up at first, ending up with duplicates
or losing items after a restart, icons get reset when copying on and
off the panel. Once I got it set up it has been fine. Another Gnome
thing... under 10.04 if I try to change the
icon for a file in the Nautilus file manager it only changes the icon
for that file instead of for all files of that type - trying to change
the icon in Assogiate has no effect. So I can't make all my .red files
red at once. Not exactly a problem except in a general sense - the
tendency to dumb down the GUI and replace once useful things with eye
candy that looks pretty but doesn't help get things done.
All of these are minor issues, the only one likely to affect casual
users is the safely remove drive glitch [and that only happens with a
couple of my thumbdrives, others work fine]... then again casual users
often just yank the thumbdrive out, oblivious to the need to safely
remove a drive (until data loss occurs). Although this might appear to
be a long list of bugs, it's not at all, uncountable things work just
fine - it's just potentially useful to document the issues I run into
and my workarounds, and being a techie I tend to notice even little
things. So far Ubuntu 10.04 has been very stable and pleasing to
use.
4/7/11 - Open Source PCB Software... KiCad...
This is the 3/30/11 version from the KiCad download site,
the version in the Ubuntu 10.04 repository is outdated and has video
glitches. The 32-bit binary package is statically compiled and seems to
work on my 64-bit OS, only requires copying the kicad directory to
/usr/local, but to make sure I copied the bin dir to bin32, recompiled
from source and replaced the binaries with dynamically-linked 64-bit
versions. Compiling was fairly easy for a package of this magnitude,
well documented but generalized, ended up needing to install cmake,
libwxgtk2.8-dev, libqt4opengl-dev and for the source docs, doxygen,
already had the rest of the dependents (probably didn't need the qt4
version of opengl, but it pulled in what it was looking for). Didn't do
the sudo make install, just copied the resulting binaries to where they
need to be. Being able to compile from source is significant to me, it
means freedom.
I haven't used the program enough to comment too much about it,
except for my "experience" making a little test board...

[edited 4/14/11] The schematic editor worked fine, didn't take long
to figure it out
and plop down a contrived circuit. Outputed to a netlist and ran the
CVpcb tool to assign footprints to the parts, seemed to work fine. Ran
PCBnew and drafted my board outline, loaded the processed netlist and
got a pile of parts all on top of each other (a bit inconvenient), read
the docs and figured out how to separate them then arranged on the
board. Used the rules screen to specify the trace size I wanted, layed
down the traces, pretty easy to figure out. Figured out that if a trace
crosses through a pad it does not imply a connection as far as the rats
nest is concerned, have to stop at each connected pad. Tried the 3D
view... chip and LED models picked up but no surface mount parts.
Edited those parts on the PCB and found the paths had Windows (\)
separators, browsed to the models I wanted and removed the
incorrectly-pathed models. Got 3D. This is probably something to watch
out for, not sure if in the model files or the code (lots of models on
the net offer both Linux and Windows versions so that might have
something to do with it, in any event easy enough to fix). Overall, for
a new PCB package, the process was on the easy side - with a "big"
commercial package it can take days to get this far on a first try, and
the 3D view is really nice... I'm used to seeing blocks because the 3D
model stuff is too tedious to create the models, in KiCad for the most
part I don't have to.
Ok, the circuit needs power/ground pads... this is where I ran into
a bit of trouble, couldn't find a way to simply plop down a couple of
pads and assign them to nets - bug in my expectations as it appears
that all items must be specified in the netlist, including external
connections. Although this limits "freeform" changes to the PCB, I
think I like that netlist consistency is enforced. This is a
high-quality program, from what I'm seeing better than some commercial
packages.. not as many features but that can be a good thing - the more
features a program has, the more to have to wade through to find the
thing that actually needs doing. As with anything new it takes time to
figure it out, but on another front it takes some digging to gather up
the tools needed to convert files back and forth between the needed
formats.. found mm3d, MeshLab, dxf2vrml from the dime package, a python
tool called TTConv0.2
(note - must run using the python command, might require dependents - I
installed installed python-wkgtk2.6) that converts a DXF drawing into a
KiCad PCB for
defining the board outline, and stuff under Windows for converting DWG
to DXF. For casual viewing IrfanView with the plugins can display DWG
and DXF but with trial version text added... DWG format seems to be
very encumbered, there is a free program (lx-viewer) for accessing and
converting but it requires libraries that appear to be unobtainium
without becoming a member of some club - unacceptable. DraftSight
for Windows (from the makers of SolidWorks) works for converting DWG
files to DXF suitable for feeding to TTConv, free with
registration. There's a Linux deb
version but presently only for 32-bit... followed these
instructions to install [and had to take low-level steps to remove
its "magic" file associations]. KiCad can export to VRML
which at least for the simple test board I was able to convert to DXF
using MeshLab, so I think that part is covered.
Bit by bit it's coming together... more and more companies are now
supporting Linux... EDA under Linux is becoming a real possibility for
me, and others are already doing it. It's different, things sometimes
aren't as "nice" but that's changing majorly thanks to WxWidget Qt and
Gtk.
4/16/11 - Installed a PNY "Verto" GeForce 210 video card, while at
it added another 4 gigs of ram to bring my total to 8 gigs. I chose the
'210 chipset because it requires little power (about 30 watts max) and
I really just need better software compatibility, I don't care much
about high-powered 3D games (it would have been nice if it permitted
oolite to run but I suspect that's another issue). Installation was
essentially just plugging in the video card then using my monitor's
auto-detect function to reposition the screen (which initially was way
off-center). In plain (non-driver) mode it was a bit glitchy but all
that smoothed out once I used "Hardware Drivers" to install the NVIDIA
driver package. OpenGL-related glitches are gone, yay. Software-wise it
didn't really help Windows 7 running under Virtual Box.. with the guest
addition's video driver enabled it reports DX8, not good enough for
Altium, which still crashes on startup if the VB video driver is
enabled... back to "removing" the Virtual Box video "card". In plain
VGA mode it does seem a bit faster between the video card and extra
ram... now giving Win7 3 gigs of memory with the PAE option enabled.
Before installing the card I tried out the Kubuntu 11.04 beta to
check out the state of KDE these days... although other than a few
minor things I'm happy with the Gnome 2 GUI installed with Ubuntu
10.04, Gnome 3 just doesn't cut it for me. Not at all actually. I tried
the Gnome 3 live CD and its shell wouldn't even run with my MB's
integrated ATI video (not that I care), and fallback mode was a joke...
Gnome 3 may be fine for simple users, obviously its new target, but
simply put if I can't put my own app launchers, files and links on the
desktop, then I won't willingly use it. It's not just because that's
what I'm used to, it's because I put my links around the edges of the
screen (where I want) so when apps are running I can still quickly get
to stuff. I can't do what I do using an app-runner shell or having to
go through a menu tree or navigate a file manager for everything. I
understand the "new way" is good for some users (so carry on, develop
away), it's just not for me and once 10.04 falls out of date I'll need
an alternative to move to. I was happy to find that the new KDE (4.6)
works fine (even if a bit heavy on the effects), by default it also
uses the desktop for its own purposes but took maybe a minute to find
an option that lets me put whatever I want on the desktop, treating it
like a file manager. KDE has a built-in way to configure file
associations, another important thing for getting stuff done that's
missing in Gnome and has to be made up for using utilities. So cool, if
Gnome goes belly up on me I'll just install KDE and hopefully in the
future KDE will remain a work-friendly GUI.
4/26/11 - Tried out Linux Mint XFCE (Debian) from live DVD... not
bad, has possibilities, but still seems to have some artificial
lockdown going on. The Desktop folder was owned by root, to do any kind
of file management there had to sudo chmod 1777 Desktop (try to stop
me:-). Nothing in the way of managing file associations [9/6/11
wrong... just didn't see the option, also once installed permissions
were fine. Rant about the dumbing down of user associations removed,
although it's still a semi-disturbing trend with Gnome 3 and newer
versions of Windows. In the case of Gnome 3 either Thunar from XFCE or
PcManFM from LXDE can be installed along with Assogiate to restore the
ability to freely associate files. Other bits of the other DE's such as
LxPanel and a bit of configuration help make Gnome 3 work the way I'm
used to using a computer.. see the Adapting Gnome 3 section below for
some of the tweaks I've made to Virtual Box test installs.]
I got Oolite to work... the
version in the 10.04 repository is broken but the 64 bit v1.75.1 from
the website works fine on my system. Had to install it twice.. the
first time it pulls in autopackage stuff, after that it installs
normally (to
home or the system). Great game! Just one little "problem", with my
joystick it is hard to control, rolls and turns "stop on a time" with
no "drift". So trying to get the source code to try to fix that.. the
web site the source is hosted at is kind of sort of broken (at least at
the moment from here), but using
subversion (svn) works
(compile instructions here).
Compiles, runs without "installing" or removing the stock version...
but there is a minor glitch when loading a player, doesn't
go to the commander profile screen automatically after loading, have to
press F5, and after crashing the ship it reverts back to initial
conditions rather
than last load/save, otherwise seems OK. Both issues were solved by
installing patched gnustep stuff from a ppa as detailed in the compile
instructions (didn't have to recompile).
4/27/11 - one of the (Oolite) joystick setup options is for a
precision toggle, that helps a lot. Also noticed there is a bit of
recovery time in the controls, a small fraction of a second.. so the
"drift" code is already there, if I care enough can probably find and
change the constant that controls it, maybe make it a setting that can
be tweaked without recompiling.
[Or maybe not... getting rather used to it just like it is,
switching between normal and precision mode as needed...]

10.04 panel config bugginess... panel issues have been noted before,
but a few days ago after updating LTspice in wine it kinda whacked out
my panels (an unrelated bug in wine which is a pretty freaky app to
begin with - sometimes GUI-related things go wrong when running
software that's totally alien to the native system but without the
sandbox of a virtual machine), after restarting I
found the indicators rearranged - the logout/shutdown/restart thing was
no longer at the end. Unlocked the notification area and moved it more
to the middle, that fixed that. Booted this morning and there were two
"Terry" things (one disfunctional) and no logout option at all. Enough
of this
buggy indicator social networking stuff I will never use, right-clicked
the
useless indicators and removed, that puts the logout options on the
System menu where they belong anyway. Also removes the volume control,
to get a volume control back (a different one but I don't care) I added
gnome-volume-control-applet to the startup programs (there must be a
notification area on the panel). And removed Ubuntu
One. Back to uncluttered normality now... did the same thing some time
ago to the 10.04 install running on my HP Mini 110.
I suppose the conflict between "power" users and "normal" users has been going on ever since there was such a thing as GUIs for computers, with developers trying to strike the balance. These days, with the proliferation of cell phones the web and social media, "normal" has become simplified to the point of not being all that useful for us older folks who still use computers primarily to, you know, compute. And we're becoming more and more the minority, so less importance is attached to things like being able to configure the system for fast work flow, instead it's all this (cough) new exciting vision stuff. I'm sure there are things I do to my system that breaks the fancy stuff... if I only did "normal" stuff I probably wouldn't notice the new limitations. The funny thing is I'm not really against the trend (just against it becoming the only choice) - if the GUI changes mean more people use Linux-based systems, then the more it will be supported and that benefits me, even if I have to rip out stuff that gets in my way. And that is why I use GNU/Linux - because I can. I can choose which distro to use. I can choose which GUI suits me best. I can undo defaults and restore access to my desktop (sometimes, if not time for a new GUI). If I really want I can start from scratch and pick and choose which elements to include but I prefer to use a well-supported system like Ubuntu and just modify it to my liking, less work (at the moment anyway). Even when I have to do surgery to fix something, I learn more about how the components work. So it's good.
4/29/11 - I think what's been bugging me regarding desktop
environments is the thought of becoming dependent on something, only to
have the powers that be take it away
from me (unfortunately that's a repeating theme). True, free software
can't be fully taken away, not in the
same way as proprietary software, but stopping support eventually
means the same thing, just a slower death... it just becomes more and
more inconvenient. The solution for GUI-makers is simple - don't remove
legacy interfaces
that people are using! That used to be the golden rule - don't alienate
existing users. I'm not talking about shells like Unity and fancy
indicators, those things can be removed if not wanted, rather I'm
talking about removing functions from libraries other apps depend on,
and removing OS functionality that is essential to some users. Simply
because the "majority" doesn't need or want the more advanced functions
is not a reason to upset the minority who do and would rather there be
no major changes to their work flow. Hide the advanced stuff,
fine, add a fancy shell, whatever, but remove too much real
functionality and the advanced users will have to move on to something
else.
I installed KDE on top of
my existing system and it didn't take much effort to configure it to
work the way I work.. a couple minor glitches mostly related to
cohabitation with Gnome (specifically no shutdown/restart options, just
logout, and fonts are different depending on if I boot into it directly
or after
exiting Gnome - fixed that by using KDE's system settings to pick
another font size) but it looks like it would get the job done. All
those
additional KDE apps work fine under Gnome as well (actually I've been
running KDE apps under Gnome for about as long as I've been using
Ubuntu), same for Gnome apps under KDE. Hopefully this versatility will
continue. I still prefer Gnome (2) and will continue to use it so long
as it remains useful, but KDE is waiting and ready if it gets too
weird or if I just want a change (that I can use, can do without
changes I can't use).
5/1/11 - Tried to switch to KDM to get the shutdown/login options in
KDE (sudo dpkg-reconfigure gdm then select kdm), that didn't work -
system hung on splash screen. Had to boot to recovery mode, go to a
prompt, and run dpkg-reconfigure gdm again to go back to GDM to fix it.
That was a close one.. definitely need to be careful when messing
around with low-level boot stuff. Could be related to the NVIDIA
driver.. ever since installing the GF210 card the splash screen has an
initial glitch and isn't in the right resolution (which is probably
because it goes by so fast I haven't been able to select my monitor's
autodetect function in time - darn, should have taken advantage of the
hang but was preoccupied thinking "uhoh I just borked my system"). For
now better just stick to GDM and if I want to run KDE then log out from
Gnome (my system is set to log in automatically, possibly affecting
things - but I have it set to allow 10 seconds for other login but I
don't see any screen, not sure what's up with that...). OK.. poke some
more - in Login Screen unchecked the play sound option (probably
unrelated, just any change but who knows), rebooted and while in grub
(which I previously had to enable to see - commented the GRUB_HIDDEN
options) pressed c then entered
vbeinfo to see what graphics modes it supports... 1024x768x32 looks
good (just listed didn't change anything), exit then press a key to
rerun the menu, let it boot - no splash at all just odd garbage at the
top.. then the login screen appeared (there it is!). Back in Gnome
edited /etc/default/grub (after copying to a backup!) added
GRUB_GFXPAYLOAD_LINUX=1024x768x32 after the commented #GRUB_GFXMODE
line, ran sudo update-initramfs -u then sudo update-grub, rebooted, now
I have a non-glitching splash and the login screen appears. Reboot
again to make sure... occasionally the "Ubuntu" splash doesn't appear
at shutdown, showing the messages (did that before, don't care) but
otherwise works fine now, no startup splash glitches, can boot into
Gnome or KDE or do nothing to boot the last GUI used. Now if I can
figure out how to get rid of all the ACPI AE_NOT_EXIST errors in dmesg,
they don't seem to be causing any real effect (that I know of) but I
prefer there be no startup errors. Also getting a few GLib errors in
.xsession-errors for polkit-gnome-authentication-agent and
gnome-power-manager and some compiz thing it can't load (same errors on
my HP mini 110 but more of them there, probably harmless as that system
works fine too), and complaining about no user sharing (not sure about
that but I don't want to enable file sharing except for what VirtualBox
does and it shares fine). Very occasionally a message is displayed on
startup that some panel thing couldn't be loaded (clicking no at the
offer to delete it) but haven't seen that one since right after
installing KDE, the time before was after poking something else, I
forget... seems to be fine now. Eeeks! lots of scary stuff under the
hood, the trick is figuring out what matters and what can be ignored
(which is probably most of it unless there's a real issue).
Yep, when I poke the system sometimes it pokes back... to be
expected. But I feel the need to test the limits, fix things that bug
me and make the system work the way I want it to. Remember any commands
etc here are provided as-is and without warranty - just documenting,
don't try anything (ever:-) if you don't know at least the basics of
how to fix a broken system - always back up changed config files,
document changes so they can be undone, and have a live CD handy in
case the system no longer boots. Helps to have another machine to
google solutions when things really go belly-up.
Back to GUI trends - can't seem to get away from that because it
potentially impacts my future ability to efficiently get work done.
Worried about nothing perhaps - but the trend seems to be eliminating
desktop icons with mainstream distros jumping on board and that is
worrysome, despite the fact that many are shouting loudly that that's a
deal-breaker. But maybe it'll help to offer examples as to why. The
argument against icons on the desktop seems to be that open windows
cover them up - but that only happens when apps are run maximized which
I hardly ever do. Along the left side of my screen I have symlinks to
directories I need most often (see the screen shots at the beginning of
this page), these usually remain uncovered so it only takes a
double-click to open and get to my data. Even if covered there's a show
desktop button that minimizes all windows at once, so at most it's a
click and a double-click to get to frequently used data. Ditto for apps
but I put the most frequently used apps on the panel so they're always
available. Such as the launcher for my Xdump script to take
screenshots. I just think that the solution is to keep the simplified
shells (Unity, Gnome Shell, etc) but leave the regular desktop
essentially just as it is - it ain't broken but taking it away most
certainly breaks it, regardless of what the "clean desktop" crowd
thinks. Just because they don't use desktop icons doesn't mean their
usage pattern should be forced on those who've been using desktop icons
pretty much ever since PC's had a GUI. Even Windows doesn't dare take
away something like that. I was cleaning up a friend of mine's Vista
machine and she had wall-to-wall icons, when I offered to organize them
into subfolders she insisted that I not touch them, she knew where
everything was and she'd organize them herself as needed. Silly perhaps
to some, but a very important consideration - I put my icons where I
want, remember what's where, and get aggrevated if anything rearranges
the positions. Going icon-less might attract the smartphone crowd, but
think twice if you think that'll "help" Windows users switch to Linux,
the typical Windows user is probably as horrified as I am about the
prospect of not being able to place icons on the desktop. It is a very
important feature, in fact one of the core features of modern desktop
GUI's so it kind of blows my mind that removing that feature would even
be considered. Worse, it should be about choice - if someone doesn't
want icons on their desktop they don't have to put any there - why must
it be at the expense of millions of users who think otherwise? I
suspect Gnome 3 is capable of working like Gnome 2 but that's not how
it was configured in the gnome.org demo, and the usual gconf settings
to tell Nautilus to manage the desktop weren't there. So what else am I
supposed to think? Make it hard to impossible for me to use something
then I won't like it and I will say so when I see it becoming a lack of
choice (when it is just an option I don't care). There are plenty of
others saying essentially the same thing.
I do respect and appreciate the efforts of developers who work hard
to bring nice free software to the masses [really! I need the stuff so
thanks], but please, listen to your
existing users (and new users too, it takes both camps to make a great
project). All that needs to be done is make Gnome 3 do essentially what
Gnome 2 can do, perhaps with setup options like KDE has, then the
issue goes away. I'll give it time, Gnome 3 is new so hopefully all
this will be ironed out by the time Ubuntu 10.04 reaches EOL. In the
grand scheme of things it doesn't even place on the list of things that
are actually important, but we get bombarded with important stuff every
day - writing about GUI trends, bugs etc is an escape from all that
real-world stuff, tempered by the fact that none of this stuff matters
to someone who has real troubles. Life is good when decisions made by
free software developers can be the topic of discussion, so carry on.
Adapting to KDE...
5/4/11 - I'm really starting to like KDE, it took a bit of
reconfiguration but I now have a desktop that lets me do it my way (the
old way!). So
long as Gnome 2 remains viable I can see myself switching
between the two systems depending on what mood I'm in, for the most
part the two systems are compatible with one another and are just two
shells looking at the same apps and files. But I find myself leaning
more towards the KDE side. There are things I have to work around, but
there seems to be more stuff to adjust to find ways to get things done
efficiently and the core seems more solid - still a bit flashy for my
taste but the moving stuff doesn't slow me down and I do appreciate
good looks.
Here's my present KDE desktop with a Dolphin window open...
Using the Humanity icons. Two volume controls, one is the
gnome-volume-control-applet I had to add to make up for the lack of one
in Gnome Ubuntu after removing the indicator stuff, they lead to
different but useful mixer settings so leaving it be. To get it to work
the way I'm used to changed "Activity" setting to folder view then in
"Location" set it to Desktop, there's an option to show any folder so
if I wanted to I could separate it from my Gnome desktop. The Shutdown
Menu icon at the top is my way of working around KDE not being able to
shut down or restart when run from GDM (system locked when I tried to
use KDM but GDM is fine and probably needed for the Gnome side. Changed
the icon for the "start" menu to back to the usual "K" icon (the
humanity icons made it the Ubuntu symbol), beside it added widgets for
show desktop and Quicklaunch with icons for Pan Xdump Firefox DosEmu
and Dolphin. Dolphin doesn't have global scripts like in Nautilus but
has an optional Terminal button, that rocks. Preview mode can be global
or per-folder. No file tree but I don't need that, can add shortcuts to
my favorite directories to the left side. Nautilus can be run if
absolutely needed but causes side effects as in breaking the safely
remove function for removeable media for the rest of the session
(apparently a hal thing).
To get here I installed the packages kde-full and khelpcenter then
tweeked. First tweek was to fix the horrid Firefox fonts on some sites
by editing ~/.fonts.conf and making it look like this...
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>~/.fonts</dir>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="autohint">
<bool>true</bool>
</edit>
</match>
</fontconfig>
Then I set up the desktop to work the way I want, messed with font
sizes so it worked the same whether booting into it or starting after
exiting gnome, changed the icon themes, background etc, figured out the
panel settings and all that. Made it so windows can cover the bar so
Windows 7 under VirtualBox using vboxsdl and fixed resolution would fit
without truncating part of the screen. The virtual window close button
is now exposed (in Gnome I covered it with the top panel so I couldn't
accidently click it), figured out the vboxsdl --termacpi launch option
so now if I click the close button it causes a proper shutdown before
closing the window. Still need to be careful though or oops.
There's no shutdown or reboot options when running KDE from GDM and
I can't run KDM (at least I don't know how without breaking stuff), so
to compensate I made a shutdownmenu script in /usr/local/bin...
#!/bin/bash
# a menu for shutting down the system - a workaround because
# my KDE won't display shutdown/restart options when run from GDM.
# shutdowncommand is a copy of shutdown with chmod a+s shutdowncommand
# so that it'll run as root without having to run the script as root.
# 5/4/11
# using kdialog... (split to 2 lines)
retstr=$(kdialog --title "Shutdown Menu " --radiolist "Select..." \
Shutdown Shutdown on Reboot Reboot off)
# using zenity... (split to 3 lines)
#retstr=$(zenity --title "Shutdown Menu" --list --text "Select..." \
# --radiolist --column "" --column "" --hide-header \
# true Shutdown false Reboot)
if [ "$retstr" == "Shutdown" ];then
shutdowncommand -P now
fi
if [ "$retstr" == "Reboot" ];then
shutdowncommand -r now
fi
The shutdowncommand binary is a copy of /sbin/shutdown set to always
run as root, a simple way to do it that avoids unnecessary security/bug
risks (sure theoretically an attacker could shut down my system, but if
someone gained any command-level access it's pretty much over anyway,
access to a copy of the shutdown command doesn't matter). The script
can use either kdialog or zenity for the selection dialog, presently
kdialog looks better as I haven't figured out yet how to spruce up GTK
apps without risking messing up the look in Gnome (GTK/Gnome apps are
functional under KDE but by default have a rather plain look).
Kdialog and Zenity are nice for controlling scripts using a GUI, so
fixed up Xdump so I could pick the output type without having to edit
the script...
#!/bin/bash
# Xdump - This script dumps the contents of a X windows to gif files
# Edit to specify output directory, default is ~/ImageDumps
# Renames the output file in sequence starting with dump1.gif
# Note..filenames and paths below must not contain spaces!
# Requires xwd and convert from imagemagick
# new version 5/3/11 - uses zenity or kdialog to prompt
# for image type and provide an option to cancel
# ---- config variables ----
outdir=~/ImageDumps
namebase=dump
namenum=1
tempdir=~
# --------------------------
# using kdialog... (split to 2 lines)
nameext=$(kdialog --title "Screen Dump " --radiolist "Select..." \
gif gif on jpg jpg off png png off)
# using zenity... (split to 3 lines)
#nameext=$(zenity --title "Screen Dump" --list --text "Select..." \
# --radiolist --column "" --column "" --hide-header \
# true gif false jpg false png)
sleep 1
if [ "$nameext" != "" ]; then
xwd -nobdrs > $tempdir/xwdimage.xwd
mkdir $outdir
while [ -e $outdir/$namebase$namenum.$nameext ]; do
namenum=$[$namenum + 1]
done
convert $tempdir/xwdimage.xwd $outdir/$namebase$namenum.$nameext
rm $tempdir/xwdimage.xwd
fi
...much better.
Dolphin doesn't let me run scripts via the GUI, under Gnome I had it
set so that it prompts and I almost always ran scripts in a terminal. A
basic solution is to use KDE's very excellent file association dialog
to add bash to apps for type x-shellscript, set to run in a terminal,
but that doesn't preserve the working directory (runs in the home dir).
So made a runshellscript script in /usr/local/bin...
#!/bin/bash
cd $(dirname "$1")
"$1"
...and added runshellscript (in a terminal) to x-shellscript files.
This is probably not fully long-name compatible, the directory name
should not contain spaces.
At this point just about everything I could previously do in Gnome 2
I can now do in KDE, and some things are better, like associations,
file type icons and the help stuff (no info display bugs). A few minor
things are lacking like the temperature display - the k10temp driver
requires an offset to translate to something resembling an actual
temperature. Ksensors can do the offset but won't stay put. The
download widgets lists possibilities but the installer seems to be
non-functional. Fancy stuff... probably better off figuring out how to
make my own widgets that do (only) what I need.
And of course, figure out how to make GTK apps look better. Not
essential but would be nice.
5/7/11 - Themes are tricky when switching between KDE and Gnome,
pretty easy to make a mess. I had pretty good luck by using the
packages kde-style-qtcurve, gtk-chtheme and gnome-color-chooser, and
adding gnome-settings-daemon to the KDE startup apps [new info 5/31/11
- if this item is in ~/.config/autostart it can mess up the icon theme
in Gnome, a better way is to use the command line to copy another
.desktop file to the ~/.kde/Autostart directory and rename/edit it to
load gnome-settings-daemon].
QtCurve probably isn't needed but it has lots of configurable stuff for
making the window frames and buttons work well with the GTK theme. The
gtk-chtheme app permits changing the look of GTK apps but it (and any
other GTK theme switcher) will mess up the colors on the Gnome side (at
least using Ambiance controls). Restoring my saved Gnome theme doesn't
fix but reselecting Ambiance in gtk-chtheme then restoring my settings
(which is actually Clearlooks with Ambiance controls and Humanity
icons) works right. Finally, gnome-color-chooser permits changing the
GTK scroll bars so they'll work in KDE, without that some apps (like
gedit) didn't draw the border around the scroll button rendering it
nearly invisible, and also useful for editing the tool-tip colors so
they're not invisible in some apps.
Still needs tweaking but here's what I have so far...
...inadvertently popped up one of those plasmoid things... sometimes
they're useful but at other times it's just distracting. Other than
changing how my scroll bars look the tweaks (in the end) didn't change
the way it looks in Gnome.
This is all with the version of KDE in the repositories (at the
moment 4.4.5), a PPA can be enabled that supplies KDE 4.6 but the
upgrade would have to be done very carefully in Synaptic, just adding
the Kubuntu PPA with 4.4 installed won't work because some packages
have changed and Update Manager (thankfully) won't remove packages. 4.4
seems to be working well enough so in no hurry to break my system
again. Overall at the moment I think I still like Gnome 2 better (my
panel items work better and I have more control over the menus) but
either system will work for getting real work done, and that's the main
goal here - to have an alternative GUI that works. XFCE and LXDE also
remain potential alternatives but there are a few things lacking that I
need, like a way to easily configure my file associations. All these
GUI's use mostly the same association system so it should be possible
to make a stand-alone mime/association utility, then that won't be an
issue.
Watch out when using PPA's
5/31/11 - A feature of "Update Manager" is it will not remove
existing packages, normally this is good but occasionally can result in
partial updates being offered. Especially if alternate repositories are
enabled. The general advice is to never do a partial update, it can
break stuff. Occasionally this happens when a package is updated before
its dependencies, in these cases simply decline and try later, such as
with the libavdevice52 update that happened a couple of months ago. It
happened again a couple of days ago, but it was not obvious what was
wrong - this time I went to Synaptic and told it to mark all updates
and that made it clear, I'm using the winehq PPA and it was upgrading
wine from version 1.2 to 1.3 and wanted to remove 1.2 first. That's
fine so applied it, but if it would have said it was going to remove
something else I needed I would have had to take other actions or
waited for the repositories to sync up. Not sure what the rules are for
updating a package versus uninstalling and installing a new version,
but obviously it's related to why a given version of Ubuntu sticks to
the same packages with only minor updates - sometimes the user has to
help it out a bit to make sure all dependencies are satisfied without
breaking something else. Sometimes a bit of thought is needed but it's
still much preferable to how installers for that other OS sometimes
replace vital components with incompatible versions silently breaking
other apps... I'd rather be alerted to potential conflicts and figure
out for myself whether or not to update an app, or if need be, remove
the PPA causing issues and stick with my currently installed version.
[5/15/11] Here's a script I made for running games from the
bsd-games
package... set the launcher to run it in a terminal...
#!/bin/bash
gk=""
while [ "$gk" == "" ]; do
clear
echo "---------- BSD GAMES -----------"
echo "a) adventure v) number"
echo "b) arithmetic w) phantasia"
echo "c) atc x) pig"
echo "d) backgammon y) pom"
echo "e) battlestar z) ppt"
echo "f) bcd 0) primes"
echo "g) boggle 1) quiz"
echo "h) bsd-fbg 2) rain"
echo "i) caesar 3) random"
echo "j) canfield 4) robots"
echo "k) cfscores 5) rot13"
echo "l) cribbage 6) sail"
echo "m) dab 7) snake"
echo "n) go-fish 8) snscore"
echo "o) gomoku 9) teachgammon"
echo "p) hack !) trek"
echo "q) hangman @) vert-banner"
echo "r) hunt #) worm"
echo "s) mille $) worms"
echo "t) morse %) wtf"
echo "u) mpoly ^) wump"
echo -n "Select: "
read -n 1 gk
clear
if [ "$gk" == "a" ];then gk=""; adventure; fi
if [ "$gk" == "b" ];then gk=""; arithmetic; fi
if [ "$gk" == "c" ];then gk=""; atc; fi
if [ "$gk" == "d" ];then gk=""; backgammon; fi
if [ "$gk" == "e" ];then gk=""; battlestar; fi
if [ "$gk" == "f" ];then gk=""; bcd; fi
if [ "$gk" == "g" ];then gk=""; boggle; fi
if [ "$gk" == "h" ];then gk=""; bsd-fbg; fi
if [ "$gk" == "i" ];then gk=""; caesar; fi
if [ "$gk" == "j" ];then gk=""; canfield; fi
if [ "$gk" == "k" ];then gk=""; cfscores; fi
if [ "$gk" == "l" ];then gk=""; cribbage; fi
if [ "$gk" == "m" ];then gk=""; dab; fi
if [ "$gk" == "n" ];then gk=""; go-fish; fi
if [ "$gk" == "o" ];then gk=""; gomoku; fi
if [ "$gk" == "p" ];then gk=""; hack; fi
if [ "$gk" == "q" ];then gk=""; hangman; fi
if [ "$gk" == "r" ];then gk=""; hunt; fi
if [ "$gk" == "s" ];then gk=""; mille; fi
if [ "$gk" == "t" ];then gk=""; morse; fi
if [ "$gk" == "u" ];then gk=""; mpoly; fi
if [ "$gk" == "v" ];then gk=""; number; fi
if [ "$gk" == "w" ];then gk=""; phantasia; fi
if [ "$gk" == "x" ];then gk=""; pig; fi
if [ "$gk" == "y" ];then gk=""; pom; fi
if [ "$gk" == "z" ];then gk=""; ppt; fi
if [ "$gk" == "0" ];then gk=""; primes; fi
if [ "$gk" == "1" ];then gk=""; quiz; fi
if [ "$gk" == "2" ];then gk=""; rain; fi
if [ "$gk" == "3" ];then gk=""; random; fi
if [ "$gk" == "4" ];then gk=""; robots; fi
if [ "$gk" == "5" ];then gk=""; rot13; fi
if [ "$gk" == "6" ];then gk=""; sail; fi
if [ "$gk" == "7" ];then gk=""; snake; fi
if [ "$gk" == "8" ];then gk=""; snscore; fi
if [ "$gk" == "9" ];then gk=""; teachgammon; fi
if [ "$gk" == "!" ];then gk=""; trek; fi
if [ "$gk" == "@" ];then gk=""; vert-banner; fi
if [ "$gk" == "#" ];then gk=""; worm; fi
if [ "$gk" == "$" ];then gk=""; worms; fi
if [ "$gk" == "%" ];then gk=""; wtf; fi
if [ "$gk" == "^" ];then gk=""; wump; fi
done
11/14/11 - Yikes... this page was getting huge with all the screen
shots, so moved the Gnome 3 stuff to
its own page.
My main system is still Ubuntu 10.04 (and working fine) but Gnome 2
has been depreciated, new Ubuntu development is now based around Gnome
3 components so before I can upgrade my main work system I have to make
sure it'll work for me. So far it looks like it will work but I still
have concerns, in particular the concern that upstream developers will
remove functionality that I need. Ubuntu 12.04 will be a 5 year LTS
version so if the vital functions make it to release then it will for
the most part lock in the features, making it less likely that an
update will render my system unusable for my work flow. I love Gnome
and want to continue using it, but if it gets too nuts then I'll have
to adapt to XFCE, LXDE, KDE or something else that lets me do at least
most of what I do.
In other comp-stuff news, I finally found a video editor that works
- OpenShot 1.4. I've tried
others but they crashed, produced glitchy output, or were just too hard
to use. OpenShot just works - drag clips to the clips box, drag the
clips to the timeline, use the resize tool to trim as needed,
right-click timeline sections to add fade-in, fade-out, configure
layout, add effects, etc, and export to just about any format with an
installed codec. Comes with a nice manual but for most things the
manual isn't needed. Works almost perfectly for the kinds of videos I
need to make, which is mainly isolating song clips from a DVD
recording, which I first rip to VOB files using dvd::rip or similar
then de-interlace and convert to AVI files using WinFF as OpenShot
1.4.0 can't handle VOB files (tries but truncates). But it accepts just
about anything else.
VirtualBox 4.1.x is much improved (presently using 4.1.6 with the
extension pack), I can now run Altium in Win7 with the guest extensions
without crashing (previously I had to disable the video driver portion,
losing the ability to resize), Gnome Shell also works lots better
virtually but some systems with compositing drivers (compiz in
particular) still fail to update the screen when minimized then
restored until I click on it (and sometimes not even then). Gnome Shell
(mutter) also has minimize/restore problems but restores the screen
when I move the mouse into the virtual machine window. Metacity-based
environments work perfectly, even with compositing enabled. Getting
there... previously I wasn't able to run the fancier Linux systems at
all, now it's mainly just issues with minimizing and restoring the VM
window.
Terry Newton (wtn90125@yahoo.com)