User talk:Rebhana

m (Google Streetview App through Easy Debian)
(Google Streetview App through Easy Debian)
Line 180: Line 180:
Create icon by downloading e.g.  
Create icon by downloading e.g.  
-
[http://talk.maemo.org/attachment.php?attachmentid=14973&stc=1&d=1287918071 this icon image] into /opt/usr/share/icons/hicolor/scalable/hildon
+
[http://talk.maemo.org/attachment.php?attachmentid=14973&stc=1&d=1287918071 this icon image] into /opt/usr/share/icons/hicolor/scalable/hildon (for seeing the icon in the menu, a reboot may be necessary). Enjoy!
== Other Debian applications I tested ==
== Other Debian applications I tested ==

Revision as of 22:07, 24 October 2010

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.50-1fremantle1 from Extras and extraction of image debian-m5-v3d.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

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 newer easy-deb-chroot version in Extras-devel achieves the same through Maemo-side scripts.)

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 devel version of easy-deb-chroot (invoked by Fn+Return when "Set Deb HW Keys" is activated).

debbie-sue

I prefer debbie-sue over debbie, so I changed /usr/bin/debwm:

fixkbdfocus "N/A Easy Debian"
if [ "$?" = 2 ] ; then
 debbie-sue xephwm5
fi

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

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

Security updates

After adding security updates to $CHROOT/etc/apt/sources.list:

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

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

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

(without subsequently upgrading manually the packages that were held back when doing so).

Additional packages

In order to have more space in the 2GB image, I have moved $CHROOT/usr/share/doc and $CHROOT/var/cache/apt/archives to /home/user and provided symlinks. From debian chroot:

cd /usr/share
cp -a doc /home/user/.easydebdoc
rm -r doc
ln -s /home/user/.easydebdoc doc
cd /var/cache/apt
apt-get clean
cp -a archives /home/user/.easydebarchives
mv archives archives-
ln -s /home/user/.easydebarchives archives

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.)

From lenny:

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

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

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 openoffice.org-emailmerge ttf-opensymbol python-uno
apt-get clean

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 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

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!

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:

abiword
needs to be installed from squeeze, works, but because gconf2 is upgraded interferes with configuration of other applications such as evince
calibre, eric
Python programs that are installable from squeeze provided libpulse0 is upgraded (breaks sound in Easy Debian, however)
Work without problems in LXDE, but when started with debbie or debbie-sue, do not get keyboard focus. The latter can be repaired with simple .kbdactive script that is included in the new version of easy-deb-chroot in extras-devel (and mapped to Fn+Return in xbindkeys).



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." &

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)