Weblogs for figjam
Xscreensaver works fine with an entry like:
"Test" plaympeg --fullscreen "Breaking the Habit.mpeg" \n\
and I understood from a bit of google'ing that creating the following videos.desktop file in my home directory under:
.local/share/applications/screensavers/
should be the equivalent.
cat .local/share/applications/screensavers/videos.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Videos
Domment=Videos
Exec=plaympeg --fullscreen "/usr/local/share/music/Linkin Park/Breaking the Habit/Breaking the Habit.mpeg"
StartupNotify=false
Terminal=false
Type=Application
Categories=GNOME;Screensaver
"Videos" shows up in the list, but I just get a blank screen when I try to preview it. Has anyone got anything similar to work? Any suggestions or advice on how to debug this further gratefully accepted.
I'm using a 2GB key (device is /dev/sda on my machine), so I partition it up as follows:
/dev/sda1 100MB (shared /boot)
/dev/sda2 900MB (amd64)
/dev/sda3 900MB (i386)
Those figures aren't exact, it's basically a case of 100MB for /boot and split the rest of the key between the other two partitions.
Next I use e2label to name the partitions as boot, amd64 and i386. If you're updating or working on the key itself it just makes it easier. You can also use "mount -L label /dir" instead of the devicename if you want.
e2label /dev/sda1 boot
e2label /dev/sda2 amd64
e2label /dev/sda3 i386
Format the partitions up as ext3:
mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda2
mkfs.ext3 /dev/sda3
Mount the partitions we need for the amd64 (64bit) installation on /mnt:
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /boot
Install a very minimal set of packages with debootstrap:
/usr/sbin/debootstrap --arch amd64 etch /mnt http://http.us.debian.org/debian
Find and make a note of the filesystem uuids on the USB key. We need them because if you are using the key on machines with varying numbers of SATA hard drives, you can't guarantee which device will be assigned to your key. This causes lots of problems with grub and fstab.
tune2fs -l /dev/sda1 | grep -i uuid
Filesystem UUID: d386494f-c4f5-4e69-8fdc-6741797e521e
tune2fs -l /dev/sda2 | grep -i uuid
Filesystem UUID: fcdf1bde-c16f-4cf3-9e66-248b9f40741a
tune2fs -l /dev/sda3 | grep -i uuid
Filesystem UUID: 5dc6ba69-719b-4461-af40-7b8b0dd83bd4
Chroot into the new installation to set up a few things.
LANG=C chroot /mnt /bin/bash
Make a basic fstab
vi /etc/fstab
Copy and paste the following, replacing the uuids with the ones from your key.
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
UUID=63c0907e-3d17-4124-b8ca-74d6c22bf057 /boot ext3 defaults 0 2
UUID=84db6c63-1f99-43f3-8025-9e78dd59d8aa / ext3 defaults,errors=remount-ro 0 1
Make a basic interface config.
vi /etc/network/interfaces
Copy and paste.
auto eth0
iface eth0 inet dhcp
Create /etc/resolv.conf
vi /etc/resolv.conf
Configure a couple of nameservers.
nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
Set the hostname.
echo "usb-amd64" > /etc/hostname
Add localhost to /etc/hosts
vi /etc/hosts
127.0.0.1 localhost
Create /etc/apt/sources.list
vi /etc/apt/sources.list
Copy and paste the following:
deb http://http.us.debian.org/debian etch main contrib non-free
deb-src http://http.us.debian.org/debian etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
Run the following commands:
apt-get update
apt-get install console-data locales
Select "Don't touch keymap" when prompted.
dpkg-reconfigure locales
Depending on where you are, select the appropriate locales. The ones I use are:
[*] en_GB ISO-8859-1
[*] en_GB.ISO-8859-15 ISO-8859-15
[*] en_GB.UTF-8 UTF-8
[*] en_IE@euro ISO-8859-15
[*] en_NZ ISO-8859-1
[*] en_NZ.UTF-8 UTF-8
[*] en_US ISO-8859-1
[*] en_US.ISO-8859-15 ISO-8859-15
[*] en_US.UTF-8 UTF-8
Create /etc/kernel-img
vi /etc/kernel-img.conf
Copy and paste the following:
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
Install the kernel, grub and mdadm
apt-get install linux-image-amd64 grub mdadm
Select (or type in) all when prompted for: MD arrays needed for the root filesystem
(Ignore the mdadm errors)
Exit the chroot:
exit
Install grub:
grub-install --no-floppy --recheck --root-directory=/mnt /dev/sda
Re-enter the chroot:
LANG=C chroot /mnt /bin/bash
Create the boot menu/options:
update-grub
(press "y" when it asks: Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N)
Set grub to use the UUIDs.
vi /boot/grub/menu.lst
Find the line that starts with: # kopt=root=/dev/something ro
Replace the /dev/something with the uuid for your root filesystem (/dev/sda1 in my case).
# kopt=root=UUID=fcdf1bde-c16f-4cf3-9e66-248b9f40741a ro
Find the menu entries at the end of the file:
title Debian GNU/Linux, kernel 2.6.18-6-amd64
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-6-amd64 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.18-6-amd64
savedefault
title Debian GNU/Linux, kernel 2.6.18-6-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-6-amd64 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.6.18-6-amd64
savedefault
Remove /boot on the lines beginning with "kernel" and "initrd".
On the kernel lines, replace /dev/something as you did for the "kopt" line. They should look something like this when finished:
title Debian GNU/Linux, kernel 2.6.18-6-amd64
root (hd0,0)
kernel /vmlinuz-2.6.18-6-amd64 root=UUID=fcdf1bde-c16f-4cf3-9e66-248b9f40741a ro
initrd /initrd.img-2.6.18-6-amd64
savedefault
title Debian GNU/Linux, kernel 2.6.18-6-amd64 (single-user mode)
root (hd0,0)
kernel /vmlinuz-2.6.18-6-amd64 root=UUID=fcdf1bde-c16f-4cf3-9e66-248b9f40741a ro single
initrd /initrd.img-2.6.18-6-amd64
savedefault
Update /etc/kernel-img.conf
vi /etc/kernel-img.conf
Change do_bootloader = yes to: do_bootloader = no
Paste the following to the end of the file:
## Automatically update /boot/grub/menu.lst on
## installation or removal of Debian kernels.
postinst_hook = update-grub
postrm_hook = update-grub
Install any additional packages you want such as iproute, psmisc, lvm2, xfsprogs, less and exit the chroot. You should now be able to boot on the key.
Once you have booted on the key and checked it works, repeat the process to install i386 on the third partition (/dev/sda3 in my case). Mount /dev/sda1 as /mnt/boot again and use i386 instead of amd64 in the debootstrap command. This has become an extremely useful tool to me in my job.
I use tomboy a lot (unstable dist) and the recent mono upgrades have broken it for me and a few others. I found this with a bit of googling http://groups.google.com/group/linux.debian.bugs.dist/msg/87179a442b1884c2 which gave me a place to start. This is what I did to get tomboy going.
Tried running tomboy from a terminal and got:
[DEBUG]: NoteManager created with note path "/home/andrewc/.tomboy".
[INFO]: Initializing Mono.Addins
Assembly not found: Mono.Addins.Gui, Version=0.2.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Read about reinstalling libmono-addins2.0-cil in the email and went looking for the package.
dlocate -L libmono-addins2.0-cil
Package libmono-addins2.0-cil not installed or libmono-addins2.0-cil.list is empty.
apt-cache search mono addin
libmono-addins-gui0.2-cil - GTK# frontend library for Mono.Addins
libmono-addins0.2-cil - addin framework fir extensible CLI applications/libraries
Realised the version is 0.2 not 2.0 - reinstalled both because it made more sense that the gui stuff would be in the gui package.
sudo apt-get install --reinstall libmono-addins0.2-cil libmono-addins-gui0.2-cil
Preparing to replace libmono-addins-gui0.2-cil 0.3~svn.r90520-1 (using .../libmono-addins-gui0.2-cil_0.3~svn.r90520-1_all.deb) ...
Removing libmono-addins-gui0.2-cil from Mono
Unpacking replacement libmono-addins-gui0.2-cil ...
Preparing to replace libmono-addins0.2-cil 0.3~svn.r90520-1 (using .../libmono-addins0.2-cil_0.3~svn.r90520-1_all.deb ) ...
Removing libmono-addins0.2-cil from Mono
Unpacking replacement libmono-addins0.2-cil ...
Setting up libmono-addins0.2-cil (0.3~svn.r90520-1) ...
* Installing 2 assemblies from libmono-addins0.2-cil into Mono
Setting up libmono-addins-gui0.2-cil (0.3~svn.r90520-1) ...
* Installing 1 assembly from libmono-addins-gui0.2-cil into Mono
Tried running tomboy again from a terminal and got a different error
tomboy
[DEBUG]: NoteManager created with note path "/home/andrewc/.tomboy".
[INFO]: Initializing Mono.Addins
Unhandled Exception: System.InvalidOperationException: Extension node not found in path: /Tomboy/ApplicationAddins
at Mono.Addins.ExtensionContext.AddExtensionNodeHandler (System.String path, Mono.Addins.ExtensionNodeEventHandler handler) [0x00000]
at Mono.Addins.AddinManager.AddExtensionNodeHandler (System.String path, Mono.Addins.ExtensionNodeEventHandler handler) [0x00000]
at Tomboy.AddinManager.InitializeMonoAddins () [0x00000]
at Tomboy.AddinManager..ctor (System.String tomboy_conf_dir) [0x00000]
at Tomboy.NoteManager.CreateAddinManager () [0x00000]
at Tomboy.NoteManager..ctor (System.String directory, System.String backup_directory) [0x00000]
at Tomboy.NoteManager..ctor (System.String directory) [0x00000]
at Tomboy.Tomboy.Main (System.String[] args) [0x00000]
Tried again and it worked.
First download the latest debian package from http://www.skype.com/go/getskype-linux-deb, then run
sudo dpkg -i --force-architecture packagename (debian-1.3.0.53-1_i386.deb in my case).
What I actually did was to then run skype from a terminal and do a "dlocate -S" ("dpkg -S" if you don't have dlocate installed) on the library file it complained about. Luckily I had most of the 64 bit versions installed so it was a simple matter of finding and downloading the i386 version of the package using http://www.debian.org/distrib/packages#search_packages. You could use http://www.debian.org/distrib/packages#search_contents if you don't have the package locally. I just kept repeating the process until skype ran and didn't complain.
What follows will hopefully save you all that trouble. The libraries I had to install came from the following packages:
libasound2 libqt3-mt libxext6 libx11-6 libstdc++5 libgcc1 libfontconfig1 libaudio2 libxt6 libjpeg62 libpng12-0 zlib1g libxi6 libxrender1 libxrandr2 libxcursor1 libxinerama1 libxft2 libfreetype6 libsm6 libice6 libstdc++6 libxau6 libxdmcp6 libexpat1 libxfixes3
The process was:
cd ~
download all the packages
mkdir Temp
cd Temp
ar -x ../libasound2_1.0.13-1_i386.deb
tar zxf data.tar.gz ./usr/lib/libasound.so.2 ./usr/lib/libasound.so.2.0.0
ar -x ../libqt3-mt_3.3.7-1_i386.deb
tar zxf data.tar.gz ./usr/lib/libqt-mt.so.3 ./usr/lib/libqt-mt.so.3.3.7
ar -x ../libxext6_1.0.1-2_i386.deb
tar zxf data.tar.gz ./usr/lib/libXext.so.6.4.0 ./usr/lib/libXext.so.6
ar -x ../libx11-6_1.0.3-4_i386.deb
tar zxf data.tar.gz ./usr/lib/libX11.so.6.2.0 ./usr/lib/libX11.so.6
ar -x ../libstdc++5_3.3.6-13_i386.deb
tar zxf data.tar.gz ./usr/lib/libstdc++.so.5.0.7 ./usr/lib/libstdc++.so.5
ar -x ../libgcc1_4.1.1-21_i386.deb
tar zxf data.tar.gz ./lib/libgcc_s.so.1
ar -x ../libfontconfig1_2.4.2-1_i386.deb
tar zxf data.tar.gz ./usr/lib/libfontconfig.so.1.2.0 ./usr/lib/libfontconfig.so.1
ar -x ../libaudio2_1.8-2_i386.deb
tar zxf data.tar.gz ./usr/lib/libaudio.so.2.4 ./usr/lib/libaudio.so.2
ar -x ../libjpeg62_6b-13_i386.deb
tar zxf data.tar.gz ./usr/lib/libjpeg.so.62.0.0 ./usr/lib/libjpeg.so.62
ar -x ../libpng12-0_1.2.15~beta5-0_i386.deb
tar xzf data.tar.gz ./usr/lib/libpng12.so.0.15.0 ./usr/lib/libpng12.so.0
ar -x ../zlib1g_1.2.3-13_i386.deb
tar zxf data.tar.gz ./usr/lib/libz.so.1.2.3 ./usr/lib/libz.so.1
ar -x ../libxi6_1.0.1-4_i386.deb
tar zxf data.tar.gz ./usr/lib/libXi.so.6.0.0 ./usr/lib/libXi.so.6
ar -x ../libxrender1_0.9.1-3_i386.deb
tar zxf data.tar.gz ./usr/lib/libXrender.so.1.3.0 ./usr/lib/libXrender.so.1
ar -x ../libxrandr2_1.1.0.2-5_i386.deb
tar zxf data.tar.gz ./usr/lib/libXrandr.so.2.0.0 ./usr/lib/libXrandr.so.2
ar -x ../libxcursor1_1.1.7-4_i386.deb
tar zxf data.tar.gz ./usr/lib/libXcursor.so.1.0.2 ./usr/lib/libXcursor.so.1
ar -x ../libxinerama1_1.0.1-4.1_i386.deb
tar zxf data.tar.gz ./usr/lib/libXinerama.so.1.0.0 ./usr/lib/libXinerama.so.1
ar -x ../libxft2_2.1.8.2-8_i386.deb
tar zxf data.tar.gz ./usr/lib/libXft.so.2.1.2 ./usr/lib/libXft.so.2
ar -x ../libfreetype6_2.2.1-5_i386.deb
tar zxf data.tar.gz ./usr/lib/libfreetype.so.6 ./usr/lib/libfreetype.so.6.3.10
ar -x ../libsm6_1.0.1-3_i386.deb
tar zxf data.tar.gz ./usr/lib/libSM.so.6.0.0 ./usr/lib/libSM.so.6
ar -x ../libice6_1.0.1-2_i386.deb
tar zxf data.tar.gz ./usr/lib/libICE.so.6.3.0 ./usr/lib/libICE.so.6
ar -x ../libstdc++6_4.1.1-21_i386.deb
tar zxf data.tar.gz ./usr/lib/libstdc++.so.6 ./usr/lib/libstdc++.so.6.0.8
ar -x ../libxau6_1.0.1-2_i386.deb
tar zxf data.tar.gz ./usr/lib/libXau.so.6.0.0 ./usr/lib/libXau.so.6
ar -x ../libxdmcp6_1.0.1-2_i386.deb
tar zxf data.tar.gz ./usr/lib/libXdmcp.so.6.0.0 ./usr/lib/libXdmcp.so.6
ar -x ../libexpat1_1.95.8-3.4_i386.deb
tar zxf data.tar.gz ./usr/lib/libexpat.so.1 ./usr/lib/libexpat.so.1.0.0
ar -x ../libxfixes3_4.0.1-5_i386.deb
tar zxf data.tar.gz ./usr/lib/libXfixes.so.3.1.0 ./usr/lib/libXfixes.so.3
sudo cp -d usr/lib/* /usr/lib32/
sudo cp -d lib/* /usr/lib32/
The "-d" is important to preserve the symlinks.