User talk:Rebhana

The following is a compilation of modifications I applied to my personal installation of Easy Debian and which I suggest(ed) for inclusion in the next versions of debian-m5-XX.img.ext2 and the easy-deb-chroot package.

(This is essentially a writer's digest of my contributions to the thread Easy Debian Fremantle Beta Testing - discussions should continue in the above talk thread, not here, please.)

Contents

My current Easy Debian Installation

After installing easy-deb-chroot 0.9.54-1fremantle1 from Extras and extraction of image debian-m5-v3e.img.ext2 I have applied the following fixes and additions:

(Filenames prefixed by $CHROOT refer to files in the image. Within the Debian chroot $CHROOT is to be omitted; in Maemo $CHROOT=/.debian - read the Easy Debian wiki to educate yourself before proceeding blindly!)

Keyboard focus fix

Some, but very few, applications have problems with keyboard focus when run under debbie (while running without problem in LXDE). This is solved by qole's new script /home/user/.kbdactive in the new version of easy-deb-chroot (invoked by Fn+Return when "Set Deb HW Keys" is activated; if not, you have to update your /home/user/.xbindkeysrc file by merging in the new key binding from /home/user/.xbindkeysrc.dist).

brighter theme

While the MurrinaNightOrange theme is really cool, I found it made some applications (in particular zim) almost unusable. To change the theme to something more standard, I produced the file

/home/user/.gtkrc-2.0.mine with content

gtk-theme-name="Raleigh"

In both configuration files in /home/user/.config/lxpanel/LXDE/panels I changed

transparent=1

to have nicer looking panels after the change to brighter themes in the applications.

fixing sound

(didn't need that any longer with new image v3e)

In one XTerminal:

debbie 
xmms2d -o pulse

Then in a second one:

debbie lxmusic

Key bindings

/home/user/.xbindkeysrc

"xbindkeys_show"
  control+shift + q

#  "wmctrl -r :ACTIVE: -b toggle,fullscreen"
#    m:0x4 + c:111
#    Control + Up

#  "wmctrl -r :ACTIVE: -b toggle,fullscreen"
#    m:0x4 + c:65
#    Control + space
"wmctrl -r :ACTIVE: -b toggle,fullscreen"
    Shift+Mod5 + space

"xvkbd -xsendevent -text '\t'"
   Control + KP_Enter

"xvkbd -xsendevent -text '\e'"
   Shift+BackSpace

So I changed the binding of full screen toggle to Shift+Fn+Space (which otherwise conflicts with Maemo key bindings) and added additional ones for tab (\t) and escape (\e).

Upgrades and additional installations

In the new image v3e, the squeeze repository is enabled by default. I prefer having only lenny by default, and squeeze only when I really want newer package versions.

Lenny security updates

After adding security updates to $CHROOT/etc/apt/sources.list (enabled by default in v3e):

deb http://security.eu.debian.org/ lenny/updates main contrib non-free

and disabling squeeze and lenny-backports, I did a full upgrade by

apt-get update
apt-get upgrade
apt-get clean

(To also update libdns do dist-upgrade in place of upgrade, but not when squeeze is enabled!)

Additional packages

In order to have more space in the 2GB image, and not to run out of space during more voluminous installs, I have moved $CHROOT/var/cache/apt/archives to /home/user and provided symlinks. From debian chroot:

cd /var/cache/apt
apt-get clean
cp -a archives /home/user/.easydebarchives
mv archives archives-
ln -s /home/user/.easydebarchives archives

To also get more space for installed software, the same can be done for example with $CHROOT/usr/share/doc :

cd /usr/share
cp -a doc /home/user/.easydebdoc
rm -r doc
ln -s /home/user/.easydebdoc doc

I personally found the following packages useful, which include a complete LATeX installation and the symbolic math program xmaxima, which both are fairly big.

(Don't forget to run "apt-get clean" regularly to free the space occupied by the downloaded Debian packages once they are installed.)

As a rule, I now install with

apt-get install --no-install-recommends ...

(with an eye on suggested and recommended packages which are not installed automatically).

From lenny:

v3e: the full openssh suite is now already installed - IMHO the openssh-server can be de-installed

Then with squeeze activated: (generally using squeeze only when I really wanted newer versions)

pulls in new texlive installation (big!) and requires additionally texlive-latex3 - for gaining more space in the image moved also /usr/share/texmf-texlive (almost 300MB) to /home/user:
cd /usr/share
cp -a texmf-texlive /home/user/.easydebtexmf-texlive
rm -r texmf-texlive
ln -s /home/user/.easydebtexmf-texlive texmf-texlive

Prior to image v3e, upgrade of OpenOffice to 3.2.1 (including also openoffice.org-math, but leaving out openoffice.org-base which does not work in armel) through:

apt-get install openoffice.org-writer openoffice.org-impress openoffice.org-calc openoffice.org-math openoffice.org-style-crystal openoffice.org-style-galaxy openoffice.org-style-hicontrast openoffice.org-style-tango ttf-opensymbol
apt-get clean

In v3e, OpenOffice 3.2.1-9 is already installed, but openoffice.org-math is left out. So I just did

apt-get install openoffice.org-math

Then revert $CHROOT/etc/apt/sources.list back to lenny only. Besides being on the safe side for future installations, this also frees quite some memory in the image.

See the wiki for more details on some of the above applications!

Google Streetview App through Easy Debian

Thanks to the ingenuity of debernardis, Easy Debian can be made to come to the rescue after the flashplayer in Maemo was no longer good enough for google streetview within google maps:

In the Debian image, with squeeze repository enabled, install kazehakase browser through

apt-get install --no-install-recommends kazehakase libgtk2-ruby libgtk2-ruby1.8 xulrunner-1.9.1

In Maemo, create /usr/share/applications/hildon/streetview.desktop with content

[Desktop Entry]
Encoding=UTF-8
Name=Google Streetview
Comment=Browse the World Wide Web
GenericName=Web Browser
#Exec=debbie "xbindkeys;iceweasel file:///home/user/strade3-3.html"
Exec=debbie kazehakase -a "ToggleFullScreen" file:///home/user/strade.html
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=streetview
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;
StartupWMClass=Firefox-bin
StartupNotify=true

Copy this file into /home/user and unpack it by:

gunzip strade.html.gz

Create icon by downloading e.g. this icon image into /opt/usr/share/icons/hicolor/scalable/hildon (for seeing the icon in the menu, a reboot may be necessary). Enjoy!

Usage is self-explanatory - except for how to exit: Ctrl+Q

Other Debian applications I tested

... but which are not in my final image, because of lack of space, lack of need, or other reasons:

Fully working:

from lenny
from squeeze

Unresolved problems:

needs to be installed from squeeze, works, but because gconf2 is upgraded interferes with configuration of other applications such as evince
needed upgrade of libpulse0, which breaks sound
instructions and screenshots, after installation from squeeze updated to calibre version from sid

The rest of this page refers to older versions of easy-deb-chroot and older images.


Proposed changes to easy-deb-chroot 0.9.46-1fremantle1

UPDATE: Almost all of it now in easy-deb-chroot 0.9.50-1fremantle1 in Extras-Testing. "su -" is not made the default behavior of debbie (yet), but there are two new scripts "debbie-sue" for running debbie with "su - user" implicit, and "debsu" corresponding to "debian su -".

PR 1.2

su -

(assumes that /etc/profile is amended as in images v3c and later)

/usr/bin/debbie: add hyphen in two lines:

sudo /sbin/debian su - ...

Some applications do not work properly without that (zim), others fail in LXDE (gramps), and internationalization works better in debbie and /sbin/debian that way (the Maemo environment variable LANG does not include ".UTF-8").

It would however be necessary to communicate this change to users of images up to v3b, so that they insert the necessary environment variables for openoffice and GTK_MODULES into /etc/profile.

Also in debchroot.desktop change to:

Exec=osso-xterm "sudo debian su -"

I don't think it's necessary to introduce a script with a different name that just differs in the "-" option. The old behavior would still be accessible through "sudo debian su" and "sudo debian su -c" if ever needed, though so far I have not found a case were this was needed. For ordinary users (in particular non-English ones), I believe the "-" option should be the default.

.xbindkeysrc

  • delete spurious first lines
  • include "-xsendevent" in all "xvbkd -text" calls (in my experience needed to make F1-F12 work reliably)
  • add tab and escape, too:
"xvkbd -xsendevent -text '\t'"
  Control + KP_Enter
"xvkbd -xsendevent -text '\e'"
  Shift+BackSpace

For additional shortcuts: the Fn+Shift-combination (Shift+Mod5) is usually free. Perhaps this should be used also to replace Shift+Space and Shift+Up for full-screen toggle, since these two combinations are also already in use for N900 Shortcuts and Gestures.

Another suggestion is to include the information about F1-F12 key bindings in the "Information" window of LXDE together with the instruction to first press Fn and then rock the thumb down to Shift (zenity line in /usr/bin/xephwm5that in the image).

Proposed changes to image debian-m5-v3d.img.ext2

/usr/bin/xephfocus

UPDATE: xephfocus no longer needed by new Easy Debian package

Check for "N/A $WMNAME" instead of only $WMNAME. Otherwise browser windows with Easy Debian in the title might be picked.

export PARWIN=`wmctrl -l | grep -i "N/A $WMNAME" | awk '{print $1}'`

Include title option to fix "Info bug":

zenity --display=:0 --info --title="Information" --text="This window is needed to gain keyboard focus in LXDE. Click OK." &

/usr/bin/xephwm5

Change $CHROOT/usr/bin/xephwm5 so that the lines containing qobi-wmhint-fix and set-focus read:

sudo /sbin/qobi-wmhint-fix $PARWIN
#/usr/bin/set-focus $PARWIN

This resolves all issues with keyboard focus loss in LXDE for good. The new easy-deb-chroot version achieves the same through Maemo-side scripts, so this fix makes sure that one can also use the older method for starting LXDE.

Proposed changes to image debian-m5-v3b.img.ext2 (old)

UPDATE: All the issues addressed below are fixed in the new image (v3d). If you don't want to re-install, you can find here what's required to fixing a v3b-installation yourself.

Better internationalizability

  • change /usr/bin/xephwm5 such that:

zenity line now has --title Information clause to force dialog title to not change per locale (safer: covers all locales)

original suggestion:

export TWOWIN=`wmctrl -l | grep -i Info | awk '{print $1}'`

This covers languages bs, ca, cs, da, de, en_CA, en_GB, es, eu, fr, gl, hr, hu, id, it, lt, lv, nb, nl, nn, pl, pt, pt_BR, ro, sk, sq, sr@Latn, sv

  • don't enable sticky keys hack by default

therefore in /etc/xdg/lxsession/LXDE/autostart comment out:

#xkbset exp 60 =sticky =twokey =latchlock
#xkbset sticky -twokey latchlock

Preparation for "su -" in future /usr/bin/debbie

  • Add
#Messy hack to make tap-and-hold work with GTK apps.
export GTK_MODULES=libgtkstylus.so
#Some OpenOffice environment variables
export SAL_USE_VCLPLUGIN="gtk"
export OOO_FORCE_DESKTOP="gnome"
export SAL_NOOPENGL="true"
export OOO_DISABLE_RECOVERY="true"
export SAL_DISABLE_SYNCHRONOUS_PRINTER_DETECTION="true"
#export SAL_DISABLE_CUPS="true"

to /etc/profile

  • Instead of "PS1='\u@\h:\w\$ '" I also suggest to put I
  PS1='deb:\w\$ '

into /etc/profile. Remove any $PS1 setting from /root/.bashrc.

v3c: Implemented differently: get partition ID from blkid, like chroot script

In order to work also with "debian su - user" needs full path "/sbin/blkid" in /etc/profile !
$PS1 setting should (still) be removed from /root/.bashrc, so that prompt is not overwritten when one does "debian su -" (needed for having full localization also for root)

packages

evince
does not show up in LXDE menu. For that it needs "NoDisplay=false" in /usr/share/applications/evince.desktop followed by
xdg-desktop-menu install --novendor /usr/share/applications/evince.desktop         
make evince also display postscript files
I noticed that installing "gv" pulled in the required packages (psfontmgr perhaps?) to display postscript files also with evince
extra packages
are of course not needed, since everyone can install them themselves. The following packages are however small enough to consider having them added: less, rsync. Slightly bigger but extremely useful: openssh-client (wontfix), cups-client
xbindkeys
man pages are missing, but would be desirable I think. Simply re-install xbindkeys.
/var/run/onfirstchroot.rc script might have xbindkeys started by default. But that does interfere slightly with Maemo. For instance, Shift-Space under Maemo is a language toggle, which is then turned into a full screen toggle until closechroot is executed.

Sound

Not sure whether fixing sound by

debbie 
xmms2d -o pulse

and then starting lxmusic fixes the configuration stored in /home/user or in the image. If in the latter, this could be fixed in the image.

Minor cleanups

  • /etc/hosts aliases localhost to Nokia-N800-23-14. Since the 2GB image doesn't work for Diablo (true?), this should be changed to Nokia-N900-42-11 perhaps.
  • xephwm5 produces (harmless) error "trl: command not found"
  • /var/log could be cleaned. Since no syslog is started (correct?), auth.log, bootstrap.log, daemon.log, debug, kern.log, lastlog, messages, scrollkeeper.log, syslog, user.log contain only obsolete messages from before the image was created and could be emptied (frees a few MB)
  • are the files in /root used at all (another MB)
  • /etc contains a number of files ending with "." or ".MonSep8"
  • /etc/passwd contains (encrypted) root and user passwords
  • /var/backups/ could be emptied
  • /etc/mtab fixed to make "df -h" work (thanks hstende)