This was branched from my Computer Stuff
page, which was
getting a bit large with all the new Gnome 3 stuff.
Post-release Ubuntu 12.04 stuff continued on the Ubuntu
Stuff page.
Adapting Gnome 3
5/10/11 - As I suspected, it is possible to configure Gnome 3 (at
least in
Fedora 15) so that it works
for the most part like Gnome 2...
A lot of stuff is still there, just well hidden. There is no
(enabled) menu
option for "Startup Applications", found the .desktop file trick in the
Fedora 15 forum for getting Nautilus to run on startup and draw the
desktop (without it desktop items don't appear until nautilus is run
from Places etc). Later I discovered that the command
gnome-session-properties brings up the startup config screen, probably
could add nautilus there but didn't try. Any method breaks the "Files"
menu option for running Nautilus but I don't care, that matters only if
running Gnome Shell. I did get to sort-of see Gnome Shell in action but
in a seriously broken state after installing the VB guest additions but
the video was totally skewed and the keyboard was dead, disabled VB's
3D support [temporarily then forced] fallback mode. I saw a post about
gnome-panel, it's not supposed to be locked down - Alt-right-click
is supposed to access the normal setup menu, just not working in this
configuration [note 11/7/11.. alt-right-click works fine in later
versions of gnome-panel running under Ubuntu 11.10]. Most of the
functionality I use it for (launchers) can
be replaced using desktop shortcuts and installing alacarte to modify
the applications menu.
So yes, for now it is possible to sweep aside the shell and use
Gnome 3 like a normal GUI operating system, but presently the
capabilities are not advertised beyond mentioning there is a fallback
mode,
and the developers hint that the functionality might be
removed in later versions. Hopefully not. There's nothing wrong with
the new ways for people who like that kind of stuff, but hopefully the
configurators will see the light and realize that
some people prefer (or need) the old way of doing things and at least
allow the system to be reconfigured for those who want to. Of course
it's their system, they can do what they want. So can users. Good old
Gnome 2 in the form of Ubuntu 10.04 should be available for at least
the next two years, that's a long time to figure all this GUI stuff out
and see what will be the next usable system. KDE works now, just a bit
on the flashy side, other alternatives like XFCE and LXDE are
possibilities but for me they'd have to gain user file association
abilities. I prefer a functional Gnome.
5/15/11 - It is possible to drag launchers onto the new Gnome
panel... but getting them off without a functional right-click is
tricky. Dragging them off while holding shift works (except when it
gets set to a .desktop file in /usr/share then it's permission denied),
the effect is not immediate until a killall gnome-panel command is
issued. Also really buggy if trying to drag launchers around on the
panel, makes multiple copies and eventually Gnome goes down hard.
Builds up objects in dconf|org|gnome|gnome-panel, no GUI way to clean
it up. Funky. Buggy. Threatened to be removed in the future... might as
well ditch it now. Installed lxpanel (from LXDE), edited
/usr/share/gnome-session/sessions/gnome-fallback.session and removed
gnome-panel from the required items list, added lxpanel to
gnome-session-properties startup apps. Removed the gnome volume control
applet from startup apps as it didn't display right, lxpanel has its
own volume control applet. Menu has no access to
preferences and system menus (but neither did Gnome 3), however items
appear where I put them in alacarte and it's easy enough to add back
the few items I need. At first the panel menu had no icons but used
gnome-tweak-tool to turn on menu icons and they magically appeared. No
silly drag/drop stuff with the panel app
launchers, instead right-click and select which menu items to include.
And the panel looks lots better...
There are fancier panel replacements but this is VirtualBox,
advanced compositing doesn't exactly work and lxpanel is functional. I
prefer the minimalism yet it's got all the things I want from a
panel... menu, show-desktop, app launchers, taskbar, systray and useful
applets. It's kind of funny mixing elements of different GUI's to get
the desired effect, but whatever it takes. I'm running this little
virtual test system to evaluate the state of Gnome 3, if an update for
gnome-panel comes through I'll try it again (can run it whenever I
want, not removed just doesn't autorun).
Other tidbits... the alacarte menu editor works fine with lxpanel -
items appear where I specify (Gnome 3's panel menu categorizes things
as it sees fit with anything else appearing under Other or not at all,
and doesn't honor the hide option). Alacarte depends on gnome-panel
which depends on gnome-shell, gnome-tweak-tool also depends on
gnome-shell so looks like shell and panel has to stay even if unused,
gotta have the tweak stuff. The nautilus file manager seems to be
mostly the same as in Gnome 2, as I gladly discovered it manages the
desktop just fine, still has the very useful nautilus-scripts feature
and has the open-with tab for file properties (which was missing when
previously tried the Gnome 3 live CD). Assogiate can be installed to
create new custom mime types. To run the Nautilus file manager from a
shortcut or command line, a location parameter must be supplied in the
command line, even "" to open the home folder. To add a Root File
Manager option I installed beesu and used the command line beesu -lc
nautilus "/" (beesu - nautilus "/" also works). Root has all power to
totally mess up the system so you're on your own, if prone to breaking
stuff then don't do it. Be careful when gediting files as root to make
sure the permissions remain what they should be. When using lxpanel
there is no Alt-F2
shortcut to run a launch prompt (or presumably anything else to do with
gnome-panel)... for now assigned control-F2 to launch terminal in case
I need it. The run option in lxpanel rocks... quickly shows all
matching binaries on the path while typing.
The Fedora 15 beta, which I chose to represent "mainstream" for my Gnome 3 experiments, has for the most part been rock solid. I made a 12.5 gig virtual drive, it used 5.2 gigs of it for swap which mostly never gets used and 7.3 gigs for the main drive, presently with 2.5 gigs free (I reclaimed the swap space, too scary to document but it involved using swapoff, lvreduce, lvextend, resize2fs and mkswap and didn't have to exit the GUI, dangerous generic info here, now I have over 5 gigs free - it took a few tries to work out the commands and don't even think about doing it without a complete backup, in my case I simply made a copy of my VirtualBox F15 VM folder - but I was very impressed that I was able to resize a live filesystem without unmounting it or anything, like wow). I've run into a few bugs with F15/Gnome 3 (mostly Gnome 3)... moved/resized the Disk Utility window to see more information and it crashed Gnome with a "something went wrong" message (also saw a few of those when I was stressing out gnome-panel before giving up and replacing it with lxpanel). Can't replicate the crash but when on the VBOX drive screen (/dev/sda1) the window can't be resized. When shutting down the system there are harmless messages about not being able to detach a DM device. The graphical (yum) package manager has a couple of cosmetic glitches - selecting an item causes the selection field on the item below it to go away, and sometimes the apply button remains enabled when there is nothing to apply - but the tool seems to work fine and is very easy to use. For a beta with brand new GUI components running in Virtual Box with me tinkering with all kinds of crazy stuff, F15 works remarkably well.
5/17/11 - VB 4.0.8 runs much more of Gnome Shell, enough to get a
better idea of what it's about... unfortunately the video still crashes
after a short amount of interaction, also disrupts the video of any
host window placed over the virtual window. VB in 3D mode really
doesn't like my cheap Nvidia/PNY 210 graphics setup (but it runs so
cool... I like it...). So much for that, but here's the really funny
part... with Nautilus drawing the desktop, LxPanel at the bottom and
tweaked to show all the window buttons, it wasn't bad at all. In fact
it was rather neat. "Activities" becomes a cool-looking app launcher
and running window selector, as soon as I click on the background [or
press Esc] it
all goes away and I'm back to my old fashioned Gnome 2 style desktop.
Now if the 3D video stuff would stabilize...
5/21/11 - Hmm.. something like this could work...
This is in the Gnome 3 edition of OpenSUSE 11.4 running under
VirtualBox 4.0.8. The VB-related video issues remain - if the VB window
is minimized then restored it isn't refreshed until I force the guest
to refresh (right-clicking the desktop does it), if Gnome Shell is
activated (by clicking on Activities or moving the mouse to the upper
left corner) it works for awhile but eventually the graphics mess up,
and if the System Settings System Info applet is run the whole screen
goes white (noted
in a VB forum thread about Gnome Shell support). To compensate I set
gnome-power-manager so that it does a proper shutdown if it receives a
power-off signal. Nevertheless it works well enough to get an idea of
how Gnome 3 plus LxPanel (or another panel/dock) and a bit of
configuration can work to provide an efficient working environment.
Basically it's the same configuration I used in Fedora 15 -
installed LxPanel, used gnome-tweak-tool to tell Nautilus to draw
desktop icons, and added lxpanel and nautilus to the startup apps -
except in this case I enabled 3D and didn't force fallback mode,
tweaked to display all window buttons, and removed the clock and volume
control from the panel as Gnome Shell's top bar handles these
functions. LxPanel's first icon is a traditional "start" menu (Alacarte
can be used to configure its contents), the 2nd icon is a
minimize/restore control to quickly access covered desktop icons, the
remaining panel icons are configurable launchers. Gnome Shell doesn't
provide shutdown and restart options (just logout) so I used my
shutdown script attached to LxPanel's logout function, with OpenSUSE I
had to use "shutdown[command] -hP now", just -P wouldn't work.
This works - has my old-fashioned get-stuff-done environment, almost
identical to Gnome 2 except for using a different panel, and Gnome
Shell is there if I want to use it. Both worlds at the same time
without having to give up functionality. At the moment I only find
Gnome Shell useful for browsing applications (and it would be mostly
useless for me if it were the sole interface) and it is somewhat slower
(more clicks and movement) than doing it the old-fashioned way using
the start menu, but it does look really good and the default mode of
showing all installed apps in one list is a useful feature. If it
remains possible to configure Gnome 3 to work like this then it should
work for me when the time comes to upgrade, I'll see how it goes in my
virtual test systems.
5/28/11 - [rewriting to incorporate newly discovered techniques]
Yesterday after digging deeper into the system, I discovered that Gnome
3's Open With function only works with installed applications, not with
user-written scripts or non-menu apps. That's unfortunate, it makes it
difficult
to configure the GUI to do what I need it to do, or at least the way
I'm used
to doing it (for the past 15+ years). User-specified associations is a
very important function, but it
only comes up when setting up a system to streamline particular tasks.
For example, I write code for embedded processors and associate the
source files to various scripts for assembling and compiling, then
associate the resulting object files to tools for sending the code to
the chip I'm working with. I also use this capability extensively for
old comp (running antique binaries and simulator scripts), playing
around with CoreWar (running the pmars simulator for various core sizes
and benchmarking warriors), and adding new functions for text
(unix2dos, dos2unix, file viewers, serial senders, etc). These are all
custom scripts or apps that require specific parameters, not
"installed" in the usual sense (would make no sense to have on a menu
and would create a lot of useless clutter). I prefer to use a GUI so
that I don't have to remember the various commands and parameters, it's
nice and productive to simply double-click a source file, edit code,
right-click and compile then right-click the hex file and load it into
the chip. I can't do that with the stock Gnome 3, at least not using
the usual technique of simply going to Open With and telling it which
executable I want to use.
I found two workarounds. One is to use the Nautilus Actions utility,
which permits adding commands to files with certain extensions or mime
types. This is a fairly versatile tool, no need to run Assogiate to
create new mime types, but it only works with Nautilus and cannot
define new default actions for double-clicks. For many things that's
fine, especially for text where the default should remain a text
editor. The other option is to install KDE, it does associations
properly. Once set up the associations persist in the Gnome session,
however the Open With dialog doesn't list the added associations. At
least there are options and it's not something I do all the time, I set
up the associations the way I want then leave them alone unless I need
to configure a new workflow. [...found more workarounds...]
8/27/11 - The PcManFM file manager (v0.9.9 from LXDE) has an option
to
associate file types to arbitrary commands, problem solved.
8/30/11 - The Thunar file manager (v1.2.2 from XFCE) also supports
arbitrary association, the dialog is similar to Gnome 2. Problem doubly
solved. Apparently pcmanfm and thunar have supported associations for a
long time and I missed it in my brief encounters with LXDE and XFCE,
installed pcmanfm 0.3.2.2 and thunar 0.9.0 on my old Ubuntu 8.04 system
and there it is - neither have properties open-with tabs but can access
association dialogs using open-with, or with thunar, from the main
properties dialog. Duh.. explains why I couldn't find a stand-alone
association utility. So it seems of all the popular desktop
environments, only Gnome 3 (and Win7 from the other side) dumb down
this vitally important function. Creating new mime types (in particular
by extensions) is lacking in all but KDE but the Assogiate utility has
filled that gap for years.
The main thing is it isn't necessary to run only the components from
a single desktop environment. Stock Gnome 3 by itself simply won't do
for users like me that need a custom environment that can do much more
than just launch pre-canned apps, although I hope that as the project
matures the gaps will be filled in (better gnome-panel traditional
mode, associations, etc), other software like gnome-tweak-tool, lxpanel
and thunar can be installed to make the system usable now. The Gnome 3
and other "modern" interface devs have taken a lot of criticism for
disrupting people's work flows (real and imagined), but have to keep
things in perspective, they are in charge of creating the next
generation environment. I hope the developers look past the gripes and
implement the things people need to effectively do their work (that's
why they are griping), and don't actively oppose work-arounds. Things
got off to a rocky start with statements like people don't need desktop
icons, if you don't like it hit the highway, etc, but these mindsets
seem to have eased. I think. So long as Nautilus remains capable of
managing the desktop and other vital functions are not removed in an
attempt to enforce a "vision" many don't adhere to, then it'll all work
out, the community will figure out how to make it work. The new Gnome 3
code base exists now, try to keep it stable and move on. At least when
the time comes, for now Ubuntu 10.04 with Gnome 2 works for me, this is
all about forward-looking preparation for what's to come so when
upgrade time comes it'll be an easy transition.
Fun With Distros...
8/29/11 - Trying out a couple alternate distros in VirtualBox...
Lubuntu 11.10 alpha and Mint XFCE Debian Edition 4/2011.
Lubuntu 11.10
The Lubuntu install "failed" but apparently only in the update
process, installed just fine other than the usual alpha startup
glitches that are to be expected and I won't comment on. Lubuntu has
some attractive qualities, like simplicity, but can't make shortcuts
(symlinks) with the GUI. Symlink support seems to be intended - the
cursor changes to the symlink symbol when the usual ctrl-shift is
pressed, just not following through with it. Was able to install the VB
guest additions (after installing build-essential). Has semi-dangerous
click options... one right-click option is to show menu provided by the
desktop manager but there is no obvious way to get back to the normal
right-click menu ("Desktop Preferences" was there, but that option
disappeared from the OpenBox menu). Clicking "exit" was not useful..
GUI went away, had to hard-power off the VM. Powering it back on did
not restore the normal right-click menu. Yea yea it's alpha... alpha
that just hosed itself. To fix had to edit
~/.config/pcmanfm/lubuntu/pcmanfm.conf,
change show_wm_menu to 0 then hard-power off (logging out and in just
changed it back to 1). Forgiven. But this unintuitive behavior predates this
alpha. The solution in that thread does not work.. the Desktop tab
isn't in this version (0.9.9) of PcManFM. LXDE shows
promise, with a few fixes like GUI support for symlinks it can be a
workable GUI...
FireFox wasn't installed by default (just Chromium), I added it,
gave me version 7 which works very well.
9/6/11 - Installing Assogiate was a bit tricky - had to reinstall a
few deps it said it installed but didn't actually install the libraries
(alpha/beta glitches to be expected). Ran it in a terminal, took note
of what it complained about, reinstalled that lib, repeated until
happy.
Installing the Alacarte menu editor dragged in large parts of Gnome
including Nautilus, which made itself the default FM and took over the
desktop, gconf-editor helped at first to turn off the draw desktop
option but still would occasionally take over, installed
gnome-tweak-tool (which pulled in even more of Gnome) to fully turn off
the draw desktop setting.. now I can use either PcManFM or Nautilus
without conflict. Noticed that while Nautilus was handling the desktop
I could make symlinks on the desktop, but not launchers and the change
background option was not functional (and kind of defeats the purpose
of running a lightweight DE). Lack of GUI options for symlinks and
launchers in the stock LXDE desktop isn't much of an issue, it's easy
enough to use ln -s file symlink to make symlinks and cp to copy
existing .desktop files to the ~/Desktop folder - not being able to do
it via the GUI helps keep the desktop clean, if something isn't worth
taking a minute to type a command then it's probably not really needed
anyway.
9/25/11 - After installing just a few apps, enough of Gnome 3 and
Unity had been pulled in to run them as alternate GUI sessions - the
normal Unity wouldn't work right due to graphics issues but Unity 2D
works after installing the package. First thing I did to Unity was to
rip out all the appmenu stuff, global menus just don't work for me.
Gnome 3 can probably be tamed but to co-habitate with other DE's would
need to figure out scripting or something so make sure Nautilus only
draws the desktop when Gnome 3 is actually running, for now will
probably leave it stock and mostly ignored along with Unity unless I
find myself in a app-launch-only kind of mood. My virtual test install
of Mint XFCE DE blew itself up after an update but I really like XFCE,
so installed xubuntu-desktop into my virtual [L]ubuntu 11.10 system. It
wouldn't start from LXDM's desktop manager (lxdm) so installed the
Gnome Desktop Manager (gdm) and set it to be the default (LXDE still
works fine from gdm). Xubuntu's XFCE is arranged a bit different than
Mint's XFCE, by default uses a top bar for tasks and an auto-hiding
bottom panel for app launchers. One of the things that bugged me about
XFCE was the patchy look of the desktop icon labels, but while fooling
around in the settings noticed one theme (kiwi) had transparent icon
labels, colors were all wrong for me but knowing that transparent icon
labels were possible didn't take long with Google to figure out how to
add my own ~/.gtkrc-2.0 file to override theme settings. Here's what
I've got so far...
Both LXDE and XFCE labeled their task managers the same so used
Alacarte to distinguish. LXDE is a slightly faster environment but XFCE
has a more useful desktop right click, can make launchers etc and can
quickly access the app menu without going to the corner. System-wise
still have a few cosmetic things to configure/fix, not showing the boot
splash and shutdown screens correctly but whatever it boots. Amusingly
crackle.com (a movie site) works much better in virtualized [L|X]ubuntu
11.10 with FireFox 7 beta than natively on my 10.04 system with FireFox
6, the video is smoother and it doesn't hang.
Mint XFCE Debian Edition
[8/29/11] Mint XFCE-DE required that I manually partition the
virtual drive,
then it installed. Normal update failed, went to synaptic and did the
"mark all upgrades" thing which removes conflicting packages (as also
had to do with Lubuntu and occasionally with my production system -
it's a feature to prevent unwanted removals when something ain't quite
right with the repos [wait first in case packages are still being
updated, if it doesn't fix itself then fix it by updating via synaptic
to show and resolve the conflicts])... rough ride - first pass through
it semi-hosed
itself (broken packages, incompleted upgrades, etc), was still showing
all the changes still pending so why not, let it have another crack at
it, this time not looking at details. Linux torture! Took awhile but
completed without error. Rebooted, seems to be fine now, update manager
reports everything is up to date. Gnome terminal is broken... menus
don't work right, causes window to shrink. Manually resizing fixes but
have to do that every time the terminal is launched. Seen this before
with F15, forgot the fix (if there was one.. widely reported bug) but I
fixed it... installed xfce-terminal and removed gnome-terminal.
Build-essential was already installed but no luck installing the VB
guest additions.. exits without output. Googled, found the solution.
XFCE
also
has
a
bit
of
trouble
with
making
symlinks
on
the
desktop
but
it's
fairly
easy
to
work
around,
right-click
a
file
or
folder,
create
symlink,
then
move
to
the
desktop.
Assumes
parent
dir
is
writeable
so
in
the
case
of
the
VB
shared
directory
had
to
drop
to
a
terminal
prompt
and
use
a
ln
-s
command
instead,
no
biggie.
The
symlink
process
isn't
quite
as
easy
as
Gnome
(2)
but
works well enough, not something I do
all the time, just something I need to do when setting up and
maintaining my "world". The desktop also supports launchers. So far
XFCE looks pretty good...
The right-clicks are very nice, has browse as root, the desktop
right-click also provides access to the app menu. So far haven't run
into many negatives... mainly just the inability to make symlinks by
ctrl-shift draging (which I don't care that much about but would be
nice), and not sure I like the way the desktop icons are labeled, kind
of patchy-looking but probably makes it faster, just a cosmetic thing.
At least the label patches are semi-translucent. This is a
rolling-release, theoretically it should never become (that) outdated
but occasionally will require manual intervention to fix dependency
issues. It's not rocket science but does require a bit of knowledge of
how packages work and paying attention to details like what it wants to
remove. I threw 4 months of updates on it at once, which totally
freaked it out but bumbled my way through it.
9/8/11 - well... it seems to have hosed itself, no GUI just a text
login. Restored from an old backup (from not
long after the initial install). Applied updates... hosed itself again.
To its credit it warns that this can happen, "for experts only", but
this isn't just an app being flaky, it's total failure of the GUI after
doing recommended updates (last updates included libc[6], locales and
lsb-base/release among a few others). Was fun while it lasted but
there's no easy recovery from this situation - no way I'd use LMDE on a
production system.
Fixing up Unity and Gnome in
[L]ubuntu 11.10
[10/15/11] Both Unity and Gnome Shell got dragged in as dependents
in my
Lubuntu system.. if they're going to be hanging around I'd prefer they
be usable. Unity exhibits graphical glitches under Virtual Box (windows
leave trails, even after "accidently" fixing that after installing the
compiz configuration manager, it's still way too slow) so installed the
unity-2d package, and to complete Gnome 3 installed the gnome package.
After that I could use the GDM login screen to select Lubuntu, Xubuntu,
Gnome, Gnome Classic or Ubuntu-2D. Gnome and Ubuntu-2D are useless in
the stock configurations, no app menu tree (many more clicks than
should be necessary to find and run apps), no icons on the desktop, and
Unity suffers from global menu affliction, totally confusing when
several apps are open at once. Call me old-fashioned but I want my
menus to be attached to the windows they control. To get rid of the
global menu used Synaptic to remove appmenu-gtk, appmenu-gtk3,
appmenu-qt, firefox-globalmenu, thunderbird-globalmenu and
indicator-appmenu. There is still a funky effect when apps are
maximized but I'll deal with that later. For Gnome Shell, I used Gnome
Tweak Tool to enable all window buttons and tell Nautilus to draw the
background (it was not necessary to add Nautilus to startup apps), this
also enables desktop icons in Unity. After that the Gnome Classic login
option is usable, (unlike in Fedora 15's fallback session) can
configure the panels by holding alt and right-clicking. To avoid using
Gnome Shell or Unity unless I really want to, added LxPanel to the
startup programs - but not directly or it would also start it in LXDE.
To configure LxPanel I copied my existing LxPanel config from
~/.config/lxpanel/Lubuntu to ~/.config/lxpanel/Gnome [note - if doing
this fresh without an existing config, run lxpanel to create a default
and do something to the panel to create config files, then copy default
to the desired alternate settings directory], and added a
/usr/local/bin/mystartapps.sh script...
#!/bin/bash
if [ "$DESKTOP_SESSION" == "gnome-shell" ]; then
lxpanel -p Gnome &
fi
if [ "$DESKTOP_SESSION" == "ubuntu-2d" ]; then
lxpanel -p Gnome &
fi
if [ "$DESKTOP_SESSION" == "ubuntu" ]; then
lxpanel -p Gnome &
fi
[2/9/12 - for Precise 12.04 I ended up making separate lxpanel
directories for each config instead of a single Gnome directory, and
put the script in my home directory for easier editing.]
...and added mystartapps.sh to Startup Apps. That way it starts
LxPanel with the added Gnome config only if Gnome-Shell or Unity is
running, can add other session-specific startup programs here. Added by
shutdown.sh script so LxPanel's log off option would do something
useful. There's still some tweaking to do, and I probably left out
stuff, basically I poked at the software until it worked and now I've
got three more (virtual) desktop environments I can boot into (in
addition to LXDE and XFCE)...
Gnome Shell...
Gnome Classic... [stock - the menus look much better if metacity
compositing is enabled]
Unity 2D...
The themes could use some work, especially in Gnome Classic and
Unity where Gnome-drawn drop-down menus have no border. It's all new,
lots of stuff to figure out how to configure. Setting Nautilus to draw
the background can cause conflicts with other environments, running
Nautilus in XFCE causes it to take over the desktop (LXDE doesn't seem
to be affected), to fix I edited the Nautilus menu item to run
"nautilus --no-desktop". Regardless, after a bit of configuration the
new environments can be tamed to produce something that fits my normal
work flow. Different environments have different strengths and
weaknesses, it is very nice to be able to log out of one and into
another as my needs change. The guts of Gnome 3 (GTK3 and associated
utilities) seems to work fine (at least at the moment) but I just can't
imagine ever really using either Gnome Shell or Unity, they're like
dead weight, I have to add an alternate panel just to efficiently
launch apps and multitask.
A better solution would be to make my own desktop environment using
just Nautilus and LxPanel plus a few utilities - really all I want is a
panel and a desktop that works, I don't need anything fancy. The Gnome
developers don't want people customizing their environment but that's
just crazy - they delivered an environment that simply doesn't work for
many people. I understand the reasoning - to provide a consistent
environment for [their] development - but that just isn't the real
world.
Applications needs to work properly no matter what shell they are run
under, unless it's a utility or something specific to a particular
environment. Sure it's a challenge but it can't be that big of a
challenge since this is already the case - pretty much every app I have
doesn't care if it's run under Gnome, KDE, LXDE, XFCE or whatever. The
only issue is making sure the right theme-switching stuff is installed
to make things look right but with this test Lubuntu system I haven't
had to do anything - if anything apps look Worse when in the Gnome 3
systems. So the point is lost on me - unless I break something it
should not matter how I configure my environment. It's *MY*
environment, not the developer's, and I am going to customize it, or
not use it at all. As it sits it's fairly easy to configure the new
Gnome to work for me, I just hope that it remains configurable and that
the developers realize it is in their best interest to let users do
what they need to do.
11/6/11 - Linux Mint developed a few extensions (MGSE) to make Gnome
3 operate more like some of us old-timers expect, among things a bottom
task bar and a conventional but nice-looking app menu. The webupd8 team
packaged it in their Gnome PPA to use with Ubuntu (details
here), I had VirtualBox-related video problems with the task bar
(msge-bottompanel and msge-windowlist) but if the menu bar isn't
present the app menu (msge-menu) adds the menu to the Gnome Shell top
bar. LxPanel works for a task bar (with an app menu and launchers),
Gnome Tweak Tool (Advanced Settings) can tell Nautilus to do the
desktop, enable icons in menus, and enable the missing window buttons,
Assogiate and another file manager (PcManFM or Thunar) can be used for
making arbitrary file associations (Nautilus can only associate files
to "official" apps)... all the essentials I need seem to be available,
some assembly required.
Here's my present Gnome session with the MGSE app menu enabled...
Not bad. MGSE's app menu gets it right - click once, navigate, click
again (the old established way) instead of click click click click.
Also shows app descriptions when navigating, that's nice. The LxPanel
app menu is still available if needed (a few things don't show up in
the MGSE app menu).
But it's still a bit heavier than I prefer... probably fine running
on a real machine but the graphics strain VirtualBox (sometimes it
fails to load after running another DE), and uses over 250 megabytes of
memory and 7% of each of the two virtual CPU's (with occasional spikes)
just running System Monitor. LXDE uses about 175 megabytes, XFCE uses
about 250 megabytes, and for both less than 2% CPU usage. Memory usage
isn't a big deal but I can do without the extra processor usage. When
it comes down to it, I can probably do without Gnome Shell altogether -
I don't do social networking or other stuff needing advanced
notifications, my Zenity-based shutdown.sh script works fine in Gnome
from LxPanel for logging out, shutting down or rebooting. So...
navigated to /usr/share/gnome-session/sessions in a terminal, copied
gnome-fallback.session to lxgnome.session, edited it to remove
gnome-panel and name it something else, it now looks like...
[GNOME Session]
Name=GNOME Plain
RequiredComponents=gnome-settings-daemon;
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=metacity
DefaultProvider-notifications=notify-osd
DesktopName=GNOME
...and to get it to show up in GDM's session list went to
/usr/share/xsessions in a terminal, copied gnome-fallback.desktop to
lxgnome.desktop and edited it to look like...
[Desktop Entry]
Name=GNOME (LxPanel)
Comment=This session logs you into GNOME with LxPanel
Exec=gnome-session --session=lxgnome
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gnome-session-3.0
So far with Gnome 3.2 I don't have to explicitly load nautilus for
it to do the desktop like I had to with Fedora 15. I need a different
LxPanel setup so copied the ~/.config/lxpanel/Gnome directory I had
made previously (see 10/15/11 notes above) to the LxGnome directory,
and added a section to my /usr/local/bin/mystartapps.sh script (that
runs from Autostart Programs) to run lxpanel -p LxGnome for this
session ($DESKTOP_SESSION contains "lxpanel" - not sure where that's
specified but probably the session filename, I just booted it
panel-less and looked - thanks to having a terminal shortcut on the
desktop). Getting there but Gnome/metacity's borderless white-on-white
menus looked funky (see the above screen dump for Gnome Classic) so
used gconf-editor (Configuration Editor) to tell metacity to enable
compositing. That fixed it in Gnome Classic too.
After some tweaking to LxPanel to add indicators and show the clock,
here's the resulting desktop...
To get the clock to display 12 hour format I followed the directions
(man 3 strftime) and told it to use the string "%l:%M%p". This new
hybrid desktop resembles LXDE but with Nautilus doing the desktop,
boots up almost instantly after login, uses about 240 megabytes of
memory with about 3% CPU usage. Feels snappy, does most of what I
expect a desktop OS to do. There is no desktop right-click option for
creating launchers on the desktop but LxPanel provides a workaround -
right-click any app menu item and click add to desktop, then
right-click the resulting .desktop file and set the executable bit to
make it show as an icon. Good enough.. I guess to make custom launchers
I can go to ~/Desktop with a terminal, copy an existing .desktop file
then right-click it to configure it to do what I want (no option to
create a launcher but can still reconfigure them). Or just boot into
XFCE or a gnome-panel session. Usually once I get my desktop app
shortcuts the way I want I leave those alone and just use the desktop
for temp or frequently used files, work folders and symlinks to stuff
I'm working on, that works fine - dragging something to the desktop
while holding control and shift makes a symlink as usual, has
right-click options to create folders and empty text files. Other
tweaks include using System Settings Screen to tell it not to blank and
lock the screen, and adding Terminal and BrowseAsRoot scripts to the
~/.gnome2/nautilus-scripts directory. [To shut down, reboot and log out
without the shell I configured LxPanel's Logout command to run my
Zenity-based shutdown.sh script.]
To get GDM to do timed auto-login I added the file
/etc/gdm/custom.conf containing...
[daemon]
TimedLoginEnable=true
AutomaticLoginEnable=false
TimedLogin=terry
AutomaticLogin=terry
TimedLoginDelay=10
DefaultSession=Lubuntu
The DefaultSession item is (usually) ignored, automatically loads
the last session used after the specified timeout.
Dealing with Gnome 3 seems to be just a matter of figuring out where
all the various settings are stored and making it conform. True, it
involves some command line work, editing various config files and
poking around with gconf-editor and dconf editor, but I don't see that
as an issue at all - it would only be an issue if I couldn't
reconfigure it to work the way I need it (rather will need it) to work.
There are way too many things to adjust to have GUI options for
everything, all those options would confuse simpler users but shouldn't
be a problem for more advanced users to figure out. Besides Gnome 2
also needs lots of editing and adjusting to make it conform, same with
every other non-trivial OS I have ever used.
11/8/11 - Hybrid desktops... hacked components... whatever it takes
to be productive in
spite of all the new UI visions. Run what I want and remove what I
don't
want, there is no need to accept the defaults. Or maybe even modify the
code... got the source for gnome-panel to see what I can do (which
won't be much:-),
after installing a bunch of -dev packages it compiles and works
installed to /usr/local. But it seems quite bloated just for a panel -
especially when used simply as a task bar while Gnome Shell is running,
assuming it could be hacked to even run that way, at minimum would need
the "another panel is running" check modified/removed and use a
different set of settings so as to not interfere with "classic" mode.
Probably not worth it considering LxPanel works fine under Gnome Shell,
and on real hardware could probably use the MGSE bottom panel or a
similar extension-based solution.
Regardless, if future versions of Gnome 3 work similarly to what I'm
seeing now then I think the future looks good for Gnome 3. It's just
going to take time for users to figure out that behind the shell it's
still mostly the same old Gnome. Just with fresh code and from what I'm
seeing, fewer bugs. It's possible to set up a "classic" mode using the
existing 3.2 gnome-panel that works very much like Gnome 2 - Ubuntu
11.10 makes it available, just have to use the tweak tool to enable the
desktop and minimize/maximize buttons, and make a few other tweaks to
metacity etc. Should gnome-panel go away I found that Gnome plus
LxPanel (with or without the shell) with Nautilus doing the desktop
seems to work fine - without the shell it's faster but then it's no
longer compatible with extensions, notifications and other stuff
written for the shell so obviously if I want that stuff I have to deal
with the shell. But that doesn't mean I have to actually use the
activities stuff, can be running simply as a top panel and I can carry
on like normal.
[removed ramblings about what I think the direction of Gnome 3
should be... but can be summarized by carry on with present development
for those who like the shell(s), and don't remove existing desktop
functionality from nautilus so that those of us who want a conventional
desktop can set it up that way - I don't care if it's hidden but it
would be better if traditional users knew that it was possible.]
11/10/11 - A Gnome 3 Nautilus-enabled desktop with a panel and app
menu (LxPanel, gnome-panel or whatever) is almost a complete solution
that works the way I'm used to working, except for a couple of minor
omissions - no built-in way to create desktop launchers (Nautilus 3.0
had it but not seeing it with v3.2) and associate file types to
arbitrary scripts and binaries. Associations can be handled using
PcManFM or Thunar so no big deal, and Nautilus can still edit launchers
so just need something to make the .desktop files. LxPanel has an
option to add existing menu items to the desktop (have to make
executable) and with gnome-panel can just drag menu items to the
desktop, but sometimes I just want to right-click the desktop and make
a launcher that runs a custom command line. Here's a Zenity-based
Nautilus script that lets me do that...
#!/bin/bash
lname=$(zenity --title="Create Launcher" --entry \
--text="Launcher name? ")
if [ ! "$lname" == "" ];then
lcommand=$(zenity --title="Create Launcher" --entry \
--text="Command line? ")
if [ ! "$lcommand" == "" ];then
echo "" > "$lname.desktop"
echo "[Desktop Entry]" >> "$lname.desktop"
echo "Name=$lname" >> "$lname.desktop"
echo "Comment=" >> "$lname.desktop"
echo "Exec=$lcommand" >> "$lname.desktop"
echo "Icon=" >> "$lname.desktop"
echo "Terminal=false" >> "$lname.desktop"
echo "Type=Application" >> "$lname.desktop"
chmod 755 "$lname.desktop"
fi
fi
...saved as CreateLauncher in the ~/.gnome2/nautilus-scripts
directory (location might be subject to change), now I can right-click
the desktop (or in any directory) and select Scripts then
CreateLauncher then type in a name and a command line. Afterwards I can
right-click the launcher and select properties to change the icon to
what I want. If desired can specify a default icon in the script.
[edit 4/4/12] If gnome-panel is installed then all that's
needed is a CreateLauncher script containing...
#!/bin/bash
gnome-desktop-item-edit --create-new $(pwd) &
...this looks and works practically identical to the function that
used to be built into Nautilus.
Hacking Precise
11/13/11 - Starting my virtual monitoring of "Precise Pangolin" -
what will eventually become Ubuntu
12.04 LTS. Previously I installed Lubuntu first, then brought in the
other stuff (or it got pulled in via dependencies), this time I grabbed
the 11/10/11 daily build of Precise. At this point it's mostly just
11.10 pointed to new repositories and I fully expect stuff to break as
development proceeds, that's fine, it's just a virtual machine so I can
practice adapting to the new system well ahead of upgrading my main
system.
Installation was quick and easy. Not crazy about the default Unity
environment but it's plenty functional enough to permit customizing the
system to work like I want an OS to work. Came with a nautilus-enabled
desktop out-of-the-box, added a few scripts to nautilus-scripts
including the above CreateLauncher script so I could make desktop
launchers. Installed synaptic, then installed build-essential so I
could install the VirtualBox guest additions. Rigged that up with a
shared folder for file transfer. Couldn't find a GUI tool to configure
which users are in which groups so used the adduser command line
utility to add myself to the vboxsf group so I could access the shared
folder that appears under /media, which I dragged to the desktop while
holding control and shift to make a symlink (install gnome-system-tools
for the old "Users and Groups" app). Not into global menus so
searched for "appmenu" in synaptic and removed the 6 listed packages.
Tweaked other stuff like those funny scrollbars - added the file
/etc/X11/Xsession.d/80overlayscrollbars containing "export
LIBOVERLAY_SCROLLBAR=0" to fix that. In 3D mode
compiz-config-settings-manager can be installed to tweak other stuff.
Installed gnome-tweak-tool, lxde and xfce4, that provided login choices
for Gnome, Gnome Classic, LXDE and XFCE in addition to the stock Ubuntu
and Ubuntu 2D sessions. Installed dconf-tools and gconf-editor to tweak
other stuff like moving the window buttons to the right. Rigged up
LxPanel to run in the Unity and Gnome
Shell sessions (with different settings in each environment) using my
mystartapps.sh script added to the startup programs, added shutdown.sh
to LxPanel's logout funtion. Made a new "lxgnome" session as detailed
in the 11/6/11 notes, works great.
Here's how it looks with the default
Ambiance
theme...
Here's a Gnome Classic session after replacing the bottom panel with
LxPanel set up to be just a window list...
The stock Gnome Classic session was functional but I didn't like the
way the bottom panel looked (a theme thing), so removed the bottom
panel, copied the directory ~/.config/lxpanel/default (created when
lxpanel is run without options, do something to the panel first to
create default files) to gnome-classic and added a section to
load lxpanel with the gnome-classic setting dir to mystartapps.sh,
which now lives in my home directory for easier editing. This is one of
the things I like the most about LxPanel, I can set it up to work
differently depending on what desktop environment is running. It
doesn't have as many panel applets (or retract buttons), use
gnome-panel if fancier stuff is needed - provided it sticks around..
the "fallback" session is slated for removal and I don't know if that
just means the session scripts or gnome-panel too - but it's "just" a
panel app, lots of alternatives.
Other tweaks I made to the system include putting FRAMEBUFFER=y in
/etc/initramfs-tools/conf.d/splash and GRUB_GFXPAYLOAD_LINUX=640x480x32
in /etc/default/grub (followed by update-grub and update-initramfs -u)
to fix the plymouth splash screen (possibly VirtualBox-related but a
common tweak - some systems need the frame buffer to show the splash,
some don't, the grub option just selects the splash resolution), and
the default LightDM login manager doesn't appear to support timed
auto-login so installed and selected GDM and added a
/etc/gdm/custom.conf file containing the appropriate previously
detailed options.
To fix up the XFCE session I added a ~/.gtkrc-2.0 file containing...
style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 0
font_name="Sans"
base[NORMAL] = "#555555"
base[SELECTED] = "#7777bb"
base[ACTIVE] = "#77bb77"
fg[NORMAL] = "#dddddd"
fg[SELECTED] = "#dddddd"
fg[ACTIVE] = "#dddddd"
}
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
...the fg settings determine the icon text forground color to
contrast with the background image (this example is for a dark
background), the base settings tweak the color change when selecting
and right-clicking, base[NORMAL] has no effect as alpha is set to 0 for
transparent. To make the fonts look right I used the Appearance app to
enable hinting and anti-aliasing (also responds to a customized
.fonts.conf file).
XFCE features a fairly complete but still lightweight desktop that
supports the classic idea of how a GUI OS should work - useful
right-clicks including access to the app menu, supports creating files,
directories and launchers on the desktop. It doesn't support making
symlinks on the desktop by dragging a file while holding control and
shift, to work around that use Thunar to open the ~/Desktop dir and
ctrl/shift/drag it there instead, then the symlink appears on the
desktop.
Sometimes when running alternate desktop environments I still want
to use the Nautilus file manager so used Alacarte to create a menu item
for it that runs the command "nautilus --no-desktop" so that it doesn't
take over the desktop. For the same reason my BrowseAsRoot script in
nautilus-scripts runs gksudo "nautilus --no-desktop $(pwd)", otherwise
if used from XFCE or another environment it not only takes over the
desktop but displays the (empty) root user's Desktop directory - but
that's fine, that's what command line options are for. By default
Nautilus doesn't show up in XFCE (unless selected as the default file
manager but that makes no sense) so this is something only Nautilus
users need to be aware of when not running Gnome, and there are plenty
of other ways to run a root-enabled file manager.
LXDE is also coming along nicely. It looks great and now supports
creating launchers on the desktop, in addition to files and folders. It
has a bit of trouble with symlinks (ok maybe this isn't a typical use
case but I frequently want symlinks to various folders on my desktop
for quick access to stuff I'm working on)... the present version of
PcManFM (0.9.10) can't make symlinks using control/shift, and the
symlink I made to VB's shared folder didn't respond when double-clicked
(but worked when right-clicked to open). The workaround is to use
Thunar or Nautilus opened to ~/Desktop to make the symlinks, then
desktop symlinks work when double-clicked. New symlinks made while
running Gnome also work under LXDE, so who knows... main thing is it
works now and doesn't seem to be a real issue, at least not one that
using another file manager can't solve. Or do it with a launcher using
the command pcmanfm "name of directory" - pick an icon while creating.
The LXDE desktop allows direct editing of .desktop files in a text
editor, that's cool.
I really like the direction Ubuntu is going here - a simplified
interface for simple users, with a ton of alternatives in the
repositories for more advanced users. I'll see how it goes. And doesn't
go... it's pre-alpha so stuff does break.. after a broken update today
had to use synaptic to fix broken packages and remove
flashplugin-installer and nspluginwrapper-related stuff, to get the
flash plugin back I downloaded it from adobe and put the
libflashplayer.so file in the /usr/lib/firefox-addons/plugins dir. It's
a long way from anything that should be used for anything important,
but I'm impressed by how nice it is even at this early stage.
11/14/11 - A much-improved CreateLauncher script for
nautilus-scripts...
(requires gnome-panel but doesn't have to be running)
#!/bin/bash
gnome-desktop-item-edit --create-new $(pwd) &
Calls up the usual create launcher dialog that used to be available
when the desktop was right-clicked, where the app and icon can be
browsed
for etc. MUCH better than my previous zenity hack.
Other handy nautilus scripts I use are BrowseAsRoot...
#!/bin/bash
gksudo "nautilus --no-desktop $(pwd)" &
... and Terminal...
#!/bin/bash
gnome-terminal &
When using LxPanel with Gnome here's my shutdown.sh script that I
specify for the Logout command...
# 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.
# using kdialog... (split to 2 lines)
#retstr=$(kdialog --title "Shutdown Menu " --radiolist "Select..." \
# Shutdown Shutdown on Reboot Reboot off Logout Logout off)
# using zenity... (split to 3 lines)
retstr=$(zenity --title "Shutdown Menu" --list --text "Select..." \
--radiolist --column "" --column "" --hide-header \
true Shutdown false Reboot false Logout)
if [ "$retstr" == "Shutdown" ];then
shutdowncommand -P now
fi
if [ "$retstr" == "Reboot" ];then
shutdowncommand -r now
fi
if [ "$retstr" == "Logout" ];then
gnome-session-quit --logout --no-prompt
fi
I used a copy of /sbin/shutdown to avoid the extra prompts from
gnome-session-quit --power-off and because it doesn't have a command
line option to reboot - I just want to specify what I want and have the
system do it. Note.. some systems require shutdowncommand -Ph to
actually power off, but Ubuntu just needs -P. To "install" copy the
shutdown.sh script somewhere then run the following commands in a
terminal to make a
copy of the shutdown binary...
sudo cp /sbin/shutdown /usr/local/bin/shutdowncommand
sudo chmod a+s /usr/local/bin/shutdowncommand
...the second command sets the permission so anyone can run it
without having to have root permissions, obviously this isn't something
you'd want hanging around on a system that others can log into while
you're using the system. Normally for security purposes it's not the
kind of thing that should be causually done with system-level apps, but
in this case there isn't a lot of hacking possibilities with the
shutdown command besides shutting down the system. To attach the script
to LxPanel's Logout function, right-click the panel, select Panel
Settings then click on the Advanced tab, then specify the /path/name of
the script (i.e. I saved it to my home dir so for me it's
"/home/terry/shutdown.sh"). Or just make a desktop or panel launcher
that points to it.
11/15/11 - A simpler logout solution for LxPanel under Gnome is to
just use "gnome-session-quit --logout" for the logout command setting.
More click steps to shut down or reboot (have to use the login
manager's functions for that) but it's functional and implementing it
doesn't require making a bash script and using terminal commands.
11/21/11 - I wrote up a text "how-to" documenting some of my Ubuntu/Gnome3 tweaks - subject to
change. Some of the instructions might change depending on how Ubuntu
12.04 progresses, they should work for Ubuntu 11.10. If all the tweaks
are applied they should result in an Ubuntu system that can run Unity,
Gnome Shell, Gnome "Classic", LXDE, XFCE and a custom Gnome session
running LxPanel.
11/29/11 - A little glitch with today's 3.2.0-2 kernel update for
Precise... the VirtualBox Guest Additions Shared Folder module no
longer builds. To work around so I can still transfer files in and out
of my test setup, in the virtual machine I installed gftp-gtk, and on
my Ubuntu 10.04 host I installed proftpd-basic and configured to manual
(I don't want an FTP server running unless I need it). Before running
proftpd, I edited /etc/proftpd/proftpd.conf and added the following
lines (edited to make generic)...
#restrict ftp usage to a specific directory
DefaultRoot /home/your_user_name/ftpfiles
ServerIdent On "Internal FTP server"
...replace your_user_name with your home directory. Made a directory
named "ftpfiles" in my home directory, with DefaultRoot pointing to it
this will be the only directory tree accessible via FTP. Now need to
know my local ethernet address, so ran...
ifconfig | grep "255.255.255"
...and took note of the inet addr numbers. Started the ftp server
using the terminal command sudo proftpd then in the virtual machine ran
gFTP, told it to connect to the numbers given by inet addr, entered by
host account's user name and password, works fine. When done using the
server entered sudo killall proftpd in a terminal. Will have to use
this method until Vbox gets fixed (or wherever the bug lies). From the
guest additions install log it's complaining that i_nlink is read-only,
not sure if it's a problem with Vbox, the new kernel, or simply an
incompatibility that needs to be worked out. This is a brand new kernel
so likely only bleeding edge virtual testers will see this, but I'm
sure eventually someone in a better position to identify where the
problem is will notice the issue and file the necessary reports.
Myself, I just break the stuff and write about it. Other than this
glitch my new Precise test system works fine, just the occasional
"Partial upgrade" message when updating which should generally always
be declined, go to Synaptic and mark all upgrades to see what it's
trying to remove - sometimes it's just "normal" incompatibilities or
package changes (happens occasionally on my main system when programs
like wine have to remove a previous install first), sometimes just have
to wait for all the dependencies to show up in the repository. At this
point Ubuntu 12.04 is [similar] to 11.10 other than newer
versions of some things and a few default app changes. [other comments
trimmed]
12/2/11 - failure to build VB's shared folder guest module has
another effect, doesn't build the openGL module so no Gnome Shell or
Unity 3D under VirtualBox. Reverting back to kernel 3.1 until the
issues with VirtualBox and the 3.2 kernel are resolved.. removed the
linux-generic, linux-image-generic and linux-headers-generic
metapackages and the 3.2 images and headers, leaving the 3.1 image and
headers installed. Good thing I installed the pre-12.04 while kernel
3.1 was still available as it's no longer in the repositories. [but
there's another way...]
12/8/11 - a better (temporary) fix for the VirtualBox
incompatibility with Precise and the 3.2 kernel - installed
virtualbox-guest-source and virtualbox-guest-utils, edited
/usr/src/vboxguest-4.1.6/vboxsf/utils.c and changed three instances of
"inode->i_nlink = 1;" to "set_nlink(inode, 1);", installed
linux-generic and linux-headers-generic to reinstall the 3.2 kernel
that I had removed, rebooted into the 3.2 kernel, went to the
/usr/src/vboxguest-4.1.6 directory and did sudo make then sudo make
install then rebooted again. Got full guest additions now.
Tweaks... even with metacity compositing disabled I was still
getting a funky "broken" effect when minimizing windows, to fix it ran
gconf-editor ("Configuration Editor" but an update hid it, used
alacarte "Main Menu" editor to unhide it as I need to use it
frequently) then went to desktop|gnome|interface and unchecked the
animations option - now windows minimize instantly without effects. A
useful tweak program for Unity (3D) is "myunity" which recently showed
up in the repositories, can set the launcher to use smaller icons.
Trying out some of my toys... the mevo and maezumo corewar evolvers
work after installing the libncurses5:i386 package, they're 32-bit
binaries compiled using freebasic. My 32 bit pmars and pmarsv binaries
work other than complaining about a missing font. The xterm program
seems to behave somewhat different, in some scripts I had to quote the
entire xterm command line after the -e parm (in particular scripts that
pass all command line parms using $* - once I added quotes around
everything after -e it works fine but that breaks compatibility with
filenames containing spaces, not a big deal just something to be aware
of). Blassic 0.10.2 compiled after installing libncurses5-dev, the
latest FreeBASIC 0.23 self-extracting installer installed without
issues by running "sudo ./FreeBASIC-0.23.0-linux.run install". Getting
there.
Ubuntu Precise is too unstable for general use and will be until
officially released (and likely a bit after), but playing around with
it in a virtual machine is very useful for figuring out how to get my
world back despite all this new stuff, some of which doesn't exactly
have my interests in mind. It is actually more stable than I was
expecting, some of the components are broken (like Ubuntu Software
Center), lots of tweaks to have to find and apply, but overall it works
quite well, at least virtually. One of the main things about running a
development release is to keep in mind that often new package updates
require removing previously installed packages (things get shuffled
around a lot), so whenever update manager says "partial upgrade", don't
do it and instead run synaptic and mark all upgrades to see what needs
to be removed. If it's just isolated libs being replaced with newer
versions then (usually) it's ok to let synaptic do the update. If it
wants to remove an app, usually that means a dependency hasn't been
uploaded yet, wait and try again. The flashplugin-installer app
frequently conflicted, ended up just letting it remove it and manually
installed libflashplugin.so from the Adobe site (can use the 64-bit
version, and can do without nspluginwrapper).
12/13/11 - I conducted a little test on my 12.04 test install - put
together some tools needed to
easily battle and benchmark redcode warriors for the programming game
corewar. Although "just" a game, the process tested many of the kinds
of things I routinely need to do on a production system - run existing
32-bit binaries, compile code, create scripts, create file types and
make file/script associations, and in general solve problems without
being distracted by the OS. Some of these steps had already been done -
verified that the existing 32-bit pmars/pmarsv and freebasic-based
binaries work (had to install libncurses5:i386 but no big deal),
created scripts for running warriors in pmarsv (the font issue with
pmarsv was solved by adding -fn fixed to the command line, noted the
behavior change in xterm about having to quote "$*", made sure the fix
is compatible with earlier versions), and compiled the blassic
interpreter (had to install libncurses5-dev, normal). I did the rest of
the project using my lxgnome session - created a set of benchmark
programs, created a new file type for *.red files and associated them
to the tools as appropriate, and created a zenity menu as a nautilus
script for running the tools (association only works for functions that
pass a single filename, nautilus script(s) are needed for passing zero
or multiple filenames and setting the initial current directory to the
location).
I didn't attempt to do these things under [stock] Gnome Shell or
Unity,
because those environments would have drove me nuts trying. During the
process I usually had at least 3 file manager windows open (a root
window open to /usr/local/bin, the nautilus-scripts directory, and a
directory containing redcode to test), various gedit windows open
depending on what I was editing, and a couple of terminals (one for man
commands and one for testing). Not having a simple window list on a
panel would have been almost unthinkable - if I had to go to Gnome
Shell's activities every time just to recall a window I minimized it
would have made me want to stop computing, and in the case of Unity,
having a single icon for all my file manager windows without being able
to select the one I wanted would have been a distraction and
inefficient, forcing me to have to click around or reminimize the
windows I didn't want at the moment. A traditional window list on a
panel provided instant access to all the things I was working on and
lets me focus on the tasks at hand and mostly ignore the OS. I
frequently double-clicked desktop icons for Home, a directory
containing corewar stuff, and a symlink to Vbox's shared directory for
copying stuff to my host system. On that subject, noted that copying
files from the VM to the host set the permissions correctly, but when
copying files from the host to the VM I needed to reset the group and
other permissions to read-only, when copying to /usr/local/bin default
was none. But that's just a Vbox thing.
When it came to associations, the stock Gnome 3 GUI tools are
totally incapable (which I already knew)... Assogiate was required to
create a new text/redcode type, tell it to match *.red files, and
assign text/plain as a parent type to keep the existing plain text
associations (required even with Gnome 2, they removed the file types
app years ago). Nautilus no longer permits associating files to
arbitrary scripts, so had to use Thunar or PCmanFM to actually make the
associations. Removing vital functionality from Nautilus remains one of
my main concerns about Gnome 3 - they also removed the ability to
create a desktop launcher which I had to restore using a nautilus
script which calls the gnome-desktop-item-edit component from the
gnome-panel package, so that's two major things recently ripped from
Nautilus and now I'm relying on the gnome-panel package, which is on
the chopping block, even though I don't normally use gnome-panel
itself. I still rely on nautilus scripts for things that require
passing multiple filename selections, the nautilus desktop
functionality is absolutely vital, and a decent GUI for creating
desktop launchers is much better than my own "fill in the blanks"
script method, so I'm inclined to keep copies of the existing working
nautilus and gnome-panel source code handy just in case. Hopefully it
won't be needed. [...]
A Fork in the GUI Road
1/8/12 - This is interesting... a fork of Gnome Shell called Cinnamon running on Ubuntu
12.04 alpha...
This is version 1.1.3 installed from the deb's on the Cinnamon github
download page, cinnamon-session is also required to add a login
entry. Although not specifically built for Ubuntu Precise it installed
without issues other than dropping into gnome-fallback the first time I
tried to use it by just logging out and back in, after rebooting it
worked [1/14/12 - until updates broke it - there is now a PPA
for Cinnamon with an adjusted branch for Precise, sudo
add-apt-repository ppa:merlwiz79/cinnamon-ppa]. This is pretty new
stuff and is still being developed.
Presently on my test installation the window theme is always Adwaita
regardless of the selected theme (only the theme of the window contents
change), it takes a bit of time to boot up (as does the unmodified
Gnome Shell), and it takes a couple seconds for the menu to appear when
first selected, but otherwise it seems to work well. Not much in the
way of customization other than being able to configure the launchers,
no widgets like CPU activity etc, but the essentials work like I expect
a desktop GUI to work. The window buttons on the panel look nice and
automatically shrink once the available space is filled. Minimized
windows don't shrink to their panel position like they do with
gnome-panel with Compiz but at least they shrink towards the bottom. As
far as widgets go (or lack thereof) I'm starting to think those things
should be implemented as stand-alone startup apps to keep the desktop
consistent between sessions. There are many panels/docks/shells (that's
a good thing!) and they all implement widgets differently, or not at
all.
Speaking of gnome-panel / Compiz - the default Gnome Classic with
effects session in 12.04 runs Unity also, to stop that install ccsm
(CompizConfig Settings Manager), select Preferences, select Default or
make a new Classic profile and then under Desktop uncheck the Unity
plugin. So long as another profile is enabled it doesn't affect the
Unity session. Also, the number of virtual desktops can be set under
General Options. Compiz is a bit buggy under VirtualBox, often crashes
when using CCSM. The biggest bug is when minimizing/restoring the
virtual machine the screen isn't refreshed and sometimes it's a chore
to get it back. Mutter (Gnome Shell and Cinnamon) has
minimizing/restoring issues too under VirtualBox but not as bad,
usually
a mouse sweep or right-click will refresh the screen.
Sometimes all the animation and graphics stuff is just too much, my
plain "lxgnome" session (a copy of gnome-fallback without gnome panel
and running lxpanel instead from my custom mystartapps.sh script) boots
fast and has almost no overhead. But at some point in the update
process the "desktop animations" setting got moved to the new dconf
system - it's now at org|gnome|desktop|interface, check for enable
animations - some of these settings are a moving target at the moment.
Here's my present bare-bones lxgnome desktop...
...using a copy of Ambiance copied to ~/.themes (keeping the same
name so the desktop right-click theme selector will select it) and
modified with the Nautilus
dark
side-bar settings. Also hacked by trial-and-error so that
selected but not focused items in FireFox remain visible by editing
gtk-2.0/gtkrc
and changing the shade number for default base[ACTIVE] to 0.6 instead
of 0.96. [...]
1/12/12 - On my Precise 12.04 test install I can now select to use
Cinnamon, Gnome Shell, Gnome Classic (with or without effects), Ubuntu
Unity (3D or 2D), LXDE, XFCE, my own Gnome + LxPanel session plus a
couple other environments. Could install KDE too. Some might call this
fragmentation, to a degree perhaps it is but I think a better term
would be diversity or choice. All these desktop environments are more
or less just shell applications, different ways to access the same
files on my computer, they are not separate operating systems. I can
run only one environment at a time but they can all be installed to the
same system, I don't have to exclusively choose one over another. I
don't have to give up one to use another, and I'm free to mix the
components to create my own environment that works for what I do.
Although I'm not all that thrilled with the "new" desktop systems for
the kind of work I do, some users like the new systems better, and the
community has responded to provide alternative environments that work
in a more traditional way. This is how it works when programmers are
free to create what they want and users are free to choose what works
best for them.
1/23/12 - Precise updates are coming on strong now... sometimes
going backwards but mostly forward. Quite often updates are incomplete
leading to the "partial upgrade" prompt in update manager - never do
that, always hit cancel. It's generally OK to apply the updates that
remain selected but what I do when presented with the partial prompt is
exit out and run synaptic and mark all updates to see what it wants to
remove - sometimes it's just an outdated package but often it's half
the system because the repositories haven't caught up yet, in that case
wait and try again later. When it does want to remove packages I write
them down in case I have to add them back... remember it's alpha, stuff
will break and sometimes will take awhile to get fixed. Might want to
install aptitude in case apt-get is one of the things that break.
Right now one of the things that is semi-broken is the Ambiance
theme (in particular for Nautilus and Gnome Panel), and themes in
general may be broken due to GTK3 changes. Many things require
gtk-engines-pixbuf but installing that causes LxPanel's task buttons to
look bad, to fix that I installed gtk-chtheme and used it to select
Clearlooks, the setting persists (for LxPanel anyway) when selecting
new themes. The new fixed Ambiance theme causes Nautilus' path buttons
to look really bad, I wanted the dark sidebar back, and the issue with
nearly-invisible selections in Firefox returned, so copied the new
/usr/shar/themes/Ambiance to ~/.themes/AmbianceMod_new and made some
changes. Edited gtk-3.0/gtk.css and changed "@define-color
button_bg_color shade (#cdcdcd, 1.06);" to "@define-color
button_bg_color shade (#B0B0B0, 1.06);" to make the Nautilus path
buttons look a bit better (compromise since this affects all buttons),
to fix Firefox selections edited gtk-2.0/gtkrc and changed
"base[ACTIVE] = shade (0.94, @bg_color)"
to "base[ACTIVE] = shade (0.6,
@bg_color)", and to get the Nautilus dark sidebar back edited
gtk-3.0/apps/nautilus.css and replaced the sidebar code with this...
/* sidebar */
NautilusWindow .sidebar,
NautilusWindow .sidebar .view {
background-color: @dark_bg_color;
color: @dark_fg_color;
}
NautilusWindow .sidebar .frame {
}
NautilusWindow .pane-separator {
background-color: @dark_bg_color;
border-color: @dark_bg_color;
border-width: 0 0 0 0;
border-style: solid;
}
[updated 2/9/12 - removed "> GtkTable > " from before
".pane-separator {" to work with the latest version of Nautilus. After
an update to the unico GTK3 theme engine, Nautilus' path buttons now
look OK without having to adjust the color values in the gtk.css file.]
The modified theme can be selected using gnome-tweak-tool but then
anything running as root will get no theme at all, and Gnome's
Appearance applet doesn't recognize new themes (surely there's a way to
tell it but don't know how), so dragged AmbianceMod_new while holding
control and shift to make a symlink and named it Ambiance so that it
overrides the stock Ambiance when selected. Now root things look OK.
Gnome 3 has a lot of options for theming but actually using or making
new themes is presently clunky, the closest things to docs I've found
is in the GtkCssProvider.html
doc
for
v3.3 and the older
version for v3.2. These explain the basic syntax but not what all
the specific keys do, so left with trial and error. Gnome Classic
without effects still
looks pretty bad with Ambiance, something's up with the text. I mainly
use Ambiance when running my LxPanel/Gnome session with just plain
metacity without compositing, the default Adwaita theme is fine when
using Gnome Shell, Unity 3D and Gnome Classic w/Compiz effects. Now
need to figure out how to tell the Appearance applet to permit
selecting other themes besides what it already knows about.. obviously
the theme needs to be copied to /usr/share/themes so that root can use
it too but there's more to it than that.. surely there's a list
somewhere (perhaps hard-coded?)... but for now gnome-tweak-tool works
for selecting themes (along with gtk-chtheme for making GTK2 stuff look
right), between Adwaita and modified Ambiance all of my Gnome-based
sessions look OK, and I really don't care if root stuff looks different
and/or "plain". Good enough for a test system.
Here's something that's a bit crazy...
...added "unity-2d-launcher &" [now called "unity-2d-shell"] to
my startup apps for Gnome
Shell, with shell extensions to provide easy access to recent files and
default places among things. Some of the extensions were installed from
extensions.gnome.org but have to be careful when using that site.. some
of the updated versions no longer work on my test system (good to have
alternate sessions to fix stuff when it breaks). The Gnome Shell
"Activities" screen has graphics issues so it's replaced with the
Frippery App Menu extension. Unity 2D works OK for browsing through a
single list of apps, supplies virtual desktop functionality, and
provides neato animated "big button" app launchers that slide out of
the way if I need the screen space. LxPanel provides a normal app menu
and task bar for doing real work. Maybe... just plain Gnome 3 running
with Metacity and LxPanel is functional and very fast, but it's fun to
see what's possible.
2/5/12 - OTOH... Gnome Shell plus LxPanel plus Unity-2D-Launcher
might be a practical setup after all. I found an extension that
implements a regular systray in the top panel, and there's a
temperature monitor extension on the Gnome extensions website that
might work on my system (maybe... if not it's javascript in a local
dir, hackable). Unity's dash and desktop pager seem to work better than
Gnome Shell's overview functions, but Gnome Shell's top bar is very
configurable and will probably give me more applet options. LxPanel
adds sanity and keeps my work flowing. Hmm... the setup is a bit crashy
under Virtual Box (which has issues with 3D-enabled environments) but
if it's stable on my real hardware this might be the way to go.
Regardless, Gnome 3 seems to be lots more configurable than Gnome 2 -
making new Gnome 3 sessions to try out different options is almost
trivial, just a few text files. Gnome 2 provides basically just one
session unless extreme gconf hacking is done, there's no easy way to
make "lxgnome" or other alternate sessions on my 10.04 system like I
can with Gnome 3. I'm starting to look forward to upgrade time.
2/9/12 - I read that Unity's dodge-windows behavior is slated to be
removed... myself I prefer the dodge windows behavior (at least
selectable using dconf-editor) but I can understand why that could be
an issue when using the stock Unity system (can't access the launcher
when apps are maximized), it's a more useful feature when using in
conjunction with another panel that provides an alternate app menu. If
I were specifying it then I'd keep dodge-windows option and make it so
that when auto-retracted pushing the side of the screen revealed the
launcher as with the current auto-hide behavior. [...but I'm not
specifying it... user interface design is tricky business, might take a
few tries.]
[edited 2/10] Things are changing and breaking more as
feature-freeze
approaches next week, after that it should settle down a bit with more
focus on bug fixes.
Ambiance and other light themes are now fixed (unico update), to keep
from having to constantly update my modified Ambiance theme with the
Nautilus dark sidebar mod, made my local ~/.themes copy so that
everything is a symlink to the stock Ambiance except for nautilus.css,
which required a minor mod to the pane separator property so that it
would show instead of being a white sliver. After some recent updates
to libc6 and other core components the system became very unstable (at
one point sometimes failing to boot to a GUI), LXDE and Gnome Shell
didn't work, had to add a sleep line to mystartup.sh to keep lxpanel
from coming up non-functional.. after another libc6 update that all
seems to be fixed now. Even though breakage can be inconvenient
(especially when working on something else and the OS goes down), it is
also an opportunity to dig deep into the system to figure out how stuff
works, figure out what's broken, find workarounds, learn recovery
skills that can come in handy later, even laugh out loud. Just don't
run alpha/beta OS software as your main OS... it's only funny when if
it gets too botched you can just wipe it and try again, no big deal.
2/11/12 - been playing around with Gnome Classic... ATM it's working
well and now has a new "unified" indicator applet, but the stock
Ambiance theme still has issues after the great GTK theme shakeup.. the
stock clock and the window list buttons are barely readable (noticed by
the developer(s) but right now they've got bigger fish to fry). In the
mean time I replaced the code in gtk-3.0/apps/gnome-panel.css with
simpler code that just sets the colors to something functional...
...not bad. I'd prefer inactive window buttons to also have borders
but whatever, it's probably temporary. The new unified indicator applet
works well, but haven't figured out how to make it pick up normal
systray items (such as gnome-do which I don't use but is handy for
testing), to do that I have to also add the notification area applet
but then I get two volume controls (always details it seems.. but at
least it works). The ClockBox section is only needed if using the stock
clock applet. Other than the modified gnome-panel.css and nautilus.css
files, everything else in my custom Ambiance theme is just symlinks to
the stock theme so when it gets updated I won't have to redo as much. I
ran into a minor bug when setting up the panel - when I added the
unified indicators I neglected to remove the old clock and notification
area first, gnome-panel didn't like that and went away - yet another
reason I like having icons on my desktop (to fix things when the shell
goes belly-up).
Other improvements and workarounds are trickling in, keeps getting
better and better (when not crashing but sometimes that's just a step
along the way). Scrolling in the new X11 is no longer jumpy under
VirtualBox (and possibly some real hardware), theming went backwards
for a bit after the GTK upgrades but now it's mostly OK again, found a
workaround for the spinning pointer when opening additional text files
(edit /usr/share/applications/gedit.desktop and use
"StartupNotify=false"
instead of true), at the moment several updates have unmet dependencies
but that'll get taken care of (just don't dist-upgrade until it clears
up!). Really nice to see Gnome Classic being worked on.
3/16/12 - Ubuntu Precise continues to evolve as release date
approaches. Sometimes it's bumpy but that's the nature of pre-release
software. Although feature freeze has passed, an exception was made to
allow including Gnome Shell 3.4 (currently 3.3.90 as the actual 3.4
hasn't been released yet). For the long run this is a very good move,
the LTS will start with the latest Gnome Shell and core libraries, but
also updates the clutter and cogl libraries from 1.8 to 1.9, breaking
apps that depend on the old libraries. Officially supported apps have
been upgraded but a notable casualty is the (unofficial) Cinnamon
desktop. I briefly got to see the new Cinnamon version 1.4 and it was
nice - it now properly supports window themes (previous versions always
used Adwaita for window borders on my test install, regardless of the
theme inside the windows), and now has a panel edit mode to permit
rearranging panel widgets. Then clutter/cogl got updated and broke
Cinnamon. For the moment it has been removed from the Precise
repository but Clem (Cinnamon's developer) is working on the issue [see
the Cinnamon page for progress].
Another casualty of the GS 3.4 update is it (by design) breaks all GS
extensions and only a few of the ones I had installed have updated
versions. This is temporary, once GS 3.4 is officially released and
included in the new Precise LTS it should encourage the porting of
popular extensions and probably spurn the development of lots of new
extensions. Plus for the most part adding lxpanel (or another
traditional panel) and/or unity-2d-shell (which can be launched/killed
as needed) fills in the gaps and lessens the need for extensions, at
least for core functionality.
For the most part (except for Cinnamon) all of the major sessions I
have installed work - LXDE, XFCE, Gnome Shell, Unity, Unity 2D,
Classic, and my custom lxpanel/nautilus (lxgnome) session - and all
(with or without help) support a traditional GUI metaphore so no need
to worry about that... not only can real work get done, but with a
choice of which GUI to use to do the work. My favorite GUI is still my
super-simple lxgnome session.. no glitz or extra features but gives me
a very fast nautilus-controlled desktop.
However, there are bugs in my Precise test install running in
VirtualBox...
The system does not shut down cleanly, mount says / is busy and
always recovers on startup. Usually doesn't hurt anything, but
occasionally it removes orphined inodes. Added a sync command to my
shutdown script to lessen the chance of corruption. These messages are
only visible if plymouth graphics are disabled. I've seen no mention of
this in the forums [probably a VB thing - scratch that - it's bug
#963106] [fixed post-release].
Under any compiz session (Unity 3D, Classic w/ effects, etc), window
titles don't change with focus/unfocused status, and editors don't
update the "*" in the title to show file modification. At least one
user on the forum could not confirm this, and no mention of it in any
other postings about compiz [definitely a VB thing] [fixed
post-release].
Under any metacity session (Unity 2D, plain Classic, my lxgnome),
enabling compositing with effects causes icons to leave trails when
moved. At least one user on the forum has confirmed this happening on
real hardware [happens on my HP Mini 110].
In Gnome Shell, the Activities screen is all messed up with random
background graphics. [definitely a VB thing but worked with GS3.2].
Themes are still rather messed up, with Ambiance scroll bars aren't
visible (with overlay scroll bars disabled [now apparently fixed in the
latest light-themes]), FireFox doesn't show
selected but unfocused items, Classic is kind of messed up, and LxPanel
(GTK2) isn't right. LxPanel can be fixed by using gtk-chtheme and using
another GTK2 theme. To fix the other issues I edited Ambiance to make
my own AmbianceMod theme, including
the dark sidebar for nautilus. Not perfect but
it's
functional for me.
Apport (of all things) crashes and is useless other than (sometimes)
telling me what crashed. Sometimes if logging out of a session then
into another it gets confused and reports that a component from the
no-longer-running session crashed.. kind of humorous.
Many of these bugs (except the themes) may be just from running an
often-broken dev system under VirtualBox, not too worried about it and
even if they did occur on my real hardware there are workarounds.. like
not use the affected systems. In my non-effects lxpanel and gnome-panel
sessions with the modified Ambiance theme (and gtk-chtheme for lxpanel)
there are hardly no bugs at all other than the shutdown issue, which is
probably just a VB thing or something broken in my test install. [more
investigation later...]
Ubuntu 12.04 Beta 2
3/31/12 - I grabbed the 12.04 Beta 2 ISO to do some more testing.
Installed it to a fresh VirtualBox machine and found that it behaves
pretty much just like my 12.04 test install that's been updated since
pre-alpha, just stock. Same bugs with unclean shutdown (visible in the
system logs), Gnome Shell's Activities screen scrambled, title bars not
updating properly under compiz (after installing the guest additions),
and apport frequently complaining even though nothing seems to actually
be wrong. So I know these things aren't because of something I did
(besides trying to run an unsupported OS under VirtualBox:-). I noticed
that global menus now work properly, something got fixed after I
removed indicator-appmenu from my older test install.
Next I burned 12.04 Beta 2 to a CD and booted it - couldn't test
things needing a restart but what I did test worked perfectly... Unity
and compiz works fine with my GeoForce-210-based video (no extra driver
needed, nice), title bars update properly, no apport hassles, YouTube
and audio work fine. Video still shows the same tearing effects I get
under 10.04 from my under-powered video card when the brightness
changes too rapidly, that card hates strobe lights, but as far as I can
tell the default nouveau driver works fine. CD ejected properly when
shutting down. For a first-run-on-real-hardware it went very well, I'm
not too crazy about the default Unity user interface but it's
functional and for simpler usage cases might even be better than the
traditional panel UI. Given that there are many alternate interfaces
and configuration options I don't care what the default interface is so
long as it's functional as a live CD, which it is.
Next I copied it to a 2gig thumbdrive with a 1.1gig persistence file
using 10.04's Startup Disk Creator app to test installing stuff. In
this configuration it still basically works like a live CD but isn't
ramdisk-resident so runs VERY slowly, but good enough to test a few
things. Enabled universe/multiverse repositories, disabled updating so
it won't offer to chew up my thumbdrive, installed synaptic from which
I installed gnome-shell (which also pulls in gnome-panel), lxpanel,
gnome-tweak-tool, gconf-editor and dconf-tools, made a simple version
of mystartapps.sh so I can launch lxpanel only when running Unity and
Gnome Shell but not when running Gnome Classic. Being still like a
live-CD, selecting alternate sessions is a bit tricky, have to go
through the "Try Ubuntu" thing when rebooting but once up can log out
of the current session and use the user "ubuntu" with no password to
run the other sessions. LxPanel's app menu has limited menu selections
when running under Unity (might be a fix for that), as usual have to
set the panel to 95% width right justified so it doesn't cover the
Unity launcher, made transparent so the edge isn't visible. Gnome Shell
works fine, no garbled background in Activities. Gnome Classic
(w/effects) works OK but there are still some theme issues -
Applications and Places text is dim and the task bar buttons are square
and featureless. That can be fixed with some theme editing. Noticed
that the sensors-applet
temperature monitor is no longer present and not in the repositories...
I really need to come up with a functional temperature monitoring
solution that works with my MSI 880GM-P51 motherboard, which requires
k10temp, libsensors and the ability to offset the reading by about 27
degrees to reflect the actual temperature. If it comes down to it I
could glue a thermocouple to my CPU heatsink and hook it up to a real
digital thermometer, radical but might be easier than finding a
compatible software solution - then when I upgrade I can just set up a
simple LxPanel/Nautilus session and be done with it. Running from
"live" USB I'm getting a few apport crash reports (so far from
plymouthd and gnome-settings-daemon) but no visible bugs.. maybe
because it's so slow apport thinks it crashed (in my main 12.04 VB test
install the mostly-false crash messages got to be too irritating so I
just removed apport-gtk, that fixes it nicely). This USB disk is not a
proper install so can't really tell about the improper shutdown bug I'm
getting under VB, but there is no sign of having to recover on bootup
in the system logs [but it was a real bug after all ... ].
4/4/12... fixed up my fresh 12.04 VB install a bit more... here's my
present Gnome Classic session...
...the green and red buttons on the top panel launch and kill
unity-2d-shell. Had to play with the AmbianceMod theme a bit to get it
to look right, previous one was kind of broken when gnome-panel was set
to use (the default) system background settings.. but the new one isn't
right when using a custom background color - makes inactive window
buttons dark. There's a bug somewhere.. panel background should not
change the buttons, but it's not as visually broken as when using the
stock Ambiance theme with the overlay scroll things disabled. Probably
not worth the effort getting too crazy with theming until things
settle..
changes and breakage is less frequent now but it's still a moving
target.
Here's my present lxpanel session...
Nice minimal single-panel session. This time around to make it
easier to set up I didn't bother
with individual lxpanel configurations, to
add lxpanel to Gnome Shell and/or Unity copy the default configuration
to additional directories and specify using the -p parm... although
under VirtualBox neither Gnome Shell nor Unity are working like they
should. Gnome Shell wouldn't work at all for me under the new VB
4.1.12, just came up to a desktop with no window manager, tried on both
of my Precise VB test installs. Went back to VB 4.1.10, GS's
"Activities" screen is still broken but at least the rest of it works.
Kinda Sorta, better add a panel to get much done.
Here are notes for creating these
configurations.
One cool thing... without all the extra cruft of my old test
install, these new sessions boot quite quickly, just a few seconds.
Once in the host OS buffers, about 10 seconds to boot (about 20 seconds
cold) and about 3
seconds to shut down. They never seem to stay that speedy...
4/5/12 - well that lasted a day until an update semi-broke it :-)
gtk2-engines-pixbuf got pulled in which made lxpanel's buttons lose
their rounded corners. Solution is to install gtk-chtheme and pick
something else, ThinIce works for me. Makes the buttons light, but I
prefer that anyway.
4/14/12 - the Light Themes no longer depend on gtk2-engines-pixbuf
and no longer disrupt LxPanel, so gtk-chtheme is no longer needed. But
the stock Ambiance theme still doesn't do it for me, updated the GTK2
section of my custom AmbianceMod theme. The darker lxpanel window
buttons in the above screenshot and some of the other screenshots
apparently are a fluke, at the moment my lxpanel looks like...
...which is fine but I'll be glad when the theme stuff stops
changing.. would be even nicer if the default Ambiance wasn't
half-broken and I didn't have to figure out how to hack stuff to make
panels and apps look right. Links to my present LxGnome and Classic desktops in my "fresh"
virtual install using the AmbianceMod theme. The trippy background was
made using the "fraqtive" program, a most excellent time-soak. [here
are some 1600x900 fractal backgrounds made
using fraqtive]
4/18/12 - Hardware Testing... figured out how to copy my main Ubuntu
12.04 virtual test system (installed since pre-alpha) to a USB
thumbdrive and run it for real (will get to that how-I-did-it in a
bit). Overall the results are very encouraging - Gnome Shell and Unity
3D work well with no funny graphics bugs, pretty smooth after a few
tweaks despite running from a USB flash drive, the important stuff
works. Cinnamon is still messed up until another theme is selected. The
improper shutdown bug I've been seeing for awhile finally got reported
as bug
#963106 "NetworkManager causes orphaned inodes", leading to a fix -
make sure dhclient is stopped before remounting the root filesystem. My
solution was to edit the /etc/init.d/umountroot script and before it
remounts root read-only, added kill -15 `pidof dhclient` followed by
sleep 2 followed by sync followed by sleep 5 - I'm running it from a
relatively slow thumbdrive, I want to make sure. Another way to do it
is add a /sbin/killall5 -15 followed by sync followed by a sleep
command, that terminates everything except for non-kernel tasks (but
might be too harsh).
In Gnome Classic got my hardware sensors back by getting the source
code for sensors applet, installed what I needed to make it compile
(for me that was intltool, libglib2.0-dev, libgtk-3-dev,
libpanel-applet-4-dev, xsltproc and gnome-doc-utils). The only sensors
it detected were a pair of I2C sensors both named temp1, at first they
didn't seem to move but after recompiling and installing the k10temp
driver I've been using on 10.04 they came to life, video and CPU temp.
No luck getting temperature monitoring in my lxpanel session but that's
fine - if I have to do "intense" calculations I'll do it in Classic so
I can keep an eye on things, otherwise a simple CPU activity indicator
is good enough. Surprisingly a straight copy of my virtual disk booted
up with only a few complaints, the main tweaks I made were editing
/etc/fstab to change the root label to /dev/sdb2 and add ,noatime to
the options and remove the swap reference, editing /etc/hostname and
/etc/hosts to change the VirtualBox part to USB, and uninstalling the
VirtualBox drivers. That and of course fixing the unclean shutdown bug.
Ok... how I copied my virtual install to a USB flash drive...
First of all I had a recent copy of my VM files.. one wrong letter
in a dd command can wipe out the system. So happens I had just made a
copy after almost destroying the system by using Ubuntu Tweak's janitor
functions (probably my fault for installing updates then performing
cleanups before rebooting, but beware!) - X broke,
/var/lib/dpkg/available got corrupted, dpkg wouldn't run to fix it..
once I found available-old and fixed things so that the system would
boot again I immediately made a backup. Anyway.. the steps needed to
get the system to USB are to use gparted to partition the thumbdrive so
that the new OS partition on the USB drive is slightly bigger than the
existing virtual OS partition, from a live CD use the dd command to
copy the virtual OS partion to the USB partition, then give a sequence
of commands to install grub and make it bootable. I found a how-to but
it was all wrong... using dd to copy a running ext4 OS does not work
(thousands of errors).. it must be unmounted. I kind of bumbled through
all this so these docs are not exact but close.
Partitioning... My virtual OS partition was a bit over 13 gigs so I
used a 16 gig Sandisk Cruzer. In VirtualBox (shouldn't matter if from
the guest OS or from a live CD image) I plugged in the thumbdrive,
selected it from VirtualBox's devices menu, made sure it was not
mounted using the disk utility, ran gparted (already installed on the
live CD), resized the existing msdos partition to about 1.4 gigs,
created a new ext4 partition and set it to be slightly bigger than the
existing OS partition (left a bit of space at the end for wear
leveling), set the boot flag and gave it a label so I could be sure
which was which. In my case, my existing virtual OS disk was /dev/sda1
(the source), the new USB OS partition was /dev/sdb2 (the destination),
and /dev/sdb1 was the shrunken msdos partition. Always check using the
disk utility or gparted before using dd because sometimes things get
rearranged!
Copying the disk... I booted to a recent live CD image (I used the
12.04 beta 2 image), attached the thumbdrive and made sure that both
the thumbdrive and the virtual disk partitions were not mounted,
verified that the source was /dev/sda1 and the destination was
/dev/sdb2, then gave the dd command, in my case: sudo dd if=/dev/sda1
of=/dev/sdb2 bs=2048k
Make sure if=source disk and of=destination disk or you can wipe out
the virtual system. The copy takes a long time with no output until
it's done. Once the copy completes use gparted to check the newly
copied USB OS partition to make sure it has no errors, this will expand
it to fill all the space in the partition (was made slightly larger to
make sure it wasn't slightly smaller which would cause dd to fail).
Make it bootable... thumbdrive is still attached, still running from
the live CD image, new USB OS partition is still listed as /dev/sdb2.
Important - make sure if reusing these commands, change sdb and sdb2 to
match your setup!
I entered the following commands (without the prompts of course)...
$ sudo mkdir /mnt/myroot
$ sudo mount /dev/sdb2 /mnt/myroot
$ sudo mount --bind /dev /mnt/myroot/dev
$ sudo mount --bind /proc /mnt/myroot/proc
$ sudo mount --bind /sys /mnt/myroot/sys
$ sudo chroot /mnt/myroot
# grub-install --no-floppy --force /dev/sdb
That's it... shut down the virtual system, if it automatically
mounts on the host system then eject or safely remove it before yanking
the thumbdrive. The resulting thumbdrive would boot either on real
hardware or in VirtualBox - but until I edited /etc/fstab VirtualBox
thought it was running from /dev/sda1 when it was really running from
/dev/sdb2 - replacing the uuid stuff with a plain /dev/sda2 fixed that.
Another effect was even after fixing the shutdown bug after booting the
USB in VirtualBox it would still have to "recover" but for a different
reason... my host 10.04 system automounts the ext4 partition then
VirtualBox grabs it without a clean remount.. the OS notices.
5/19/12 - Notes about the new Ubuntu 12.04 OS moved to a new Ubuntu Stuff page.
Terry Newton (wtn90125@yahoo.com)