Sunday, 30 August 2009

The Future of Vinux!


The Vinux project will be one year old on the 28th November 2009, a year to the day when I first released Vibuntu 1.0 which was based on Ubuntu 8.10! I have just released Vinux 2.0 which is based on Debian Lenny and this is the most stable and responsive version of Vinux to date. So where does Vinux go from here? I suppose the next logical step would be to start building it from Debian Squeeze which would provide access to newer versions of the included software packages. However, there are several important issues I feel we need to discuss as a community.

1. My Role in the Development of Vinux.

I have spent nearly all of my spare time over the last year working on Vinux and while I have learnt a great deal and found it very rewarding I don't think I can continue developing Vinux on my own. There are three reasons for this; Firstly if I continue to try and develop Vinux, hold down a full-time teaching job and have a meaningful family life I am going to burn out! I am mentally and physically exhausted from spending so much time on Vinux. The only time I can work on Vinux is in the evenings, weekends and holidays and thus I get very little rest and recuperation and have recently developed neck and shoulder problems because of the amount of time I have been spending at my computer. The second reason is that I also feel that I have reached the limits of my knowledge and skills with Vinux 2.0! In other words I don't feel I can improve significantly on what I have already achieved on my own. Finally, there are two or three Linux distributions that are in effect 'one man shows' like Vinux. The problem with this is that when the main developer is ill or takes a sabbatical from the development things can go down the pan very quickly as happened in the case of Puppy Linux and PCLinuxOS recently. Don't get me wrong, I still believe in the need for a specialist version of Linux for the visually impaired, and I still want to be involved in its development and production. It is just that I believe that in order for Vinux to be sustainable and progressive we need a small team of core developers who can share some of the work load.

2. Possible Development Models.

There are several different ways in which Vinux can be developed: The simplest model is to continue with one lead developer who actually puts the final distribution together after other members of the development team have submitted their individual contributions. This could be me or another more able member of the development team. We could adopt a rotation system in which different developers take turns to release the next version of Vinux, with contributions from other developers, or we could adopt the Puppy Linux development model, in which a variety of different releases are made by different developers. The most complicated option is for everyone to work on the same version using an online repository using Git or Subversion so each developer could submit their own contributions to a community version, but this option is way beyond my own knowledge and skills to set up and manage. So there are many ways the development of Vinux could progress and I would like to know what other people think about these options.

3. Different Development Roles.

No matter which model we adopt there are a wide variety of different roles that people can take on no matter what level their skills and knowledge are. These include (in no particular order):

Bash Scripting - Writing scripts which add functionality and/or automate the build process e.g. if someone could automate the whole build process this would significantly reduce the amount of work involved in building Vinux.

Writing Accessible GUI Applications - If you are a competent programmer you may be able to create new applications or GUI front ends for existing text-based applications. This may involve using Zenity to create simple dialogue boxes or writing fully blown GTK applications.

Testing and Feedback - If you don't have any programming skills you can still help by testing out Vinux in different scenarios on different machines and then giving detailed feedback to the core developers.

Writing How-To's and Guides - Creating text and/or audio based guides on how use and install Vinux, perform specific tasks or use particular applications.

Creating the Actual Distribution - This is currently the most demanding task which involves modifying an installed system and then remastering it to a Live CD. This is currently done with Remastersys but there are other ways to do this.

Translating Vinux - Creating a version of Vinux in your own native language using the step by step instructions provided and then making it available to other people in your own country.

Create Graphics - Create new icons, logos, wallpaper and graphical themes for Vinux which would give us an original look and feel and our own visual identity.

Create Sounds - Record music, sound icons or other audio materials that can assist accessibility and/or give us our own auditory identity.

Managing the Website - Updating and managing the Vinux website where users can download the iso images of the different versions of Vinux and find information. Osvaldo la Rosa is currently in this role and I hope he is willing to continue doing this.

Running a Forum - We already have a mailing list, but not a full blown forum. It would be great if someone was able and willing to set up and manage a Vinux forum.

Mailing List - We already have an active mailing list which I am currently managing, but it wouldn't hurt to have a few more people administrating and moderating the list so that things don't get out of hand when I am unavailable.

Running a Wiki - I think it would be a good idea to have a Vinux wiki which members of the community could modify and contribute to independently. e.g. people could post feedback, tips and how-to's etc. This would obviously need to be moderated and managed by someone.

Producing a Virtual Edition - The virtual edition has proven very popular with users who are uncomfortable partitioning their hard drives and would prefer to use Vinux as a guest operating system within Windows. This role is currently filled by Mobeen Iqbal and I hope he will continue to do so.

Hosting Space - We are running short of hosting space and this shortage has been made worse by the fact that I no longer gave access to the College file server where I stored old versions of Vinux. Sebastien Naudet has already generously provided us with another 8GB of hosting space but extra storage space is always very welcome.

Promoting, Demonstrating and Teaching Vinux - If you don't have the time and/or skills to help in any other way you can tell other VI users about Vinux, demonstrate it to colleagues and friends and teach people how to use it in person or on the forums and/or mailing lists etc.

4. What next? I would like to hear peoples views on the issues I have raised in this message. If you are willing and able to contribute to the Vinux project in any way at all then please let us know. I don't want anyone to commit to anything they aren't able or willing to do, but I would ideally want to be able to put peoples names to specific roles to formalise the development team. There is no reason why one person cannot take on more than one role or more than one person can perform the same role as far as I am concerned. This will of course require someone to coordinate or lead the whole project, which I am of course willing to do, but I wouldn't object if someone with more time and ability wanted to take on the role of lead developer. I await your responses with interest!

Roll Your Own Vinux 2.0!


1. Download and Install Debian


Download the latest Debian Lenny Installation CD from here: http://cdimage.debian.org/debian-cd/5.0.2/i386/iso-cd/debian-502-i386-CD-1.iso

Burn the iso to a blank CDR, reboot the computer and install Debian to the hard disk selecting the desktop, laptop and standard system options, do not use a Network Mirror when asked and use 'vinux' in lowercase for all usernames and passwords etc.

2. Modify the Apt-Get Sources List

Once the computer reboots open a terminal, switch to root by typing 'su' enter your root password and then type 'gedit /etc/apt/sources.list'. Select and delete all existing entries and then either copy and paste, or type the following list exactly as written into the file:

# Vinux 2.0 /etc/apt/source.list

deb http://ftp.uk.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ lenny main contrib non-free

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

deb http://volatile.debian.org/debian-volatile/ lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile/ lenny/volatile main contrib non-free

deb http://debian-multimedia.fx-services.com/ stable main
deb-src http://debian-multimedia.fx-services.com/ stable main

deb http://www.backports.org/debian/ lenny-backports main contrib non-free

deb http://www.geekconnection.org/remastersys/repository/ debian/
deb http://www.geekconnection.org/remastersys/repository/ remastersys-lxde

3. Update the Apt-Get Package Lists

Save the file and then run 'apt-get update' as root, this assumes of course that you already have a working internet connection. There should be no problem if you are using an ethernet connection. If you are using an unsupported wireless card then download this firmware tarball which contains drivers for common chipsets: http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny current/firmware.tar.gz - To install one - extract the files, 'cd' to the relevant directory as root and then type 'dpkg -i . Then install the keyrings for debian multimedia and backports by typing: apt-get install debian-backports-keyring debian-multimedia-keyring

4. Install and Configure Speakup

Open a terminal and as root type the following commands:

apt-get install git-core libespeak-dev speakup-source
git clone git://hubbs.homedns.org/speakup.git
cd speakup
cd contrib
bunzip2 espeakup, tab
tar -xvf espeakup, tab
cd espeakup, tab
make
make install
module-assistant prepare
module-assistant auto-install speakup

To test that the installation has worked type:

modprobe speakup_soft start=1
espeakup

Then press Ctrl+Alt+F1 to switch to console mode, login to test it and then Ctrl+Alt+F7 to switch back to Gnome.

To make speakup start automatically:

Add 'speakup_soft' to /etc/modules and '/usr/bin/espeakup' to /etc/rc.local as root using gedit to edit them.

5. Install and Configure Orca.

Install speech-dispatcher python-speechd and espeak by opening a terminal switching to root and then typing 'apt-get install gnome-orca speech-dispatcher python-speechd espeak', switch back to user and type 'orca' to setup Orca, select speech-dispatcher and the desktop layout, then accept all of the other defaults except 'turn on braille monitor' which should be left disabled. Then run 'spd-conf' accepting all of the defaults except the port number which should be 6560. Then restart the computer and after logging back in open the Assistive Technologies manager, click preferred applications, accessibility then check run at start.

6. Enable Orca support for Admin Applications (Launched from terminal).

Firstly Type visudo into a terminal as root, find the line which reads Defaults env_reset and then add the line Defaults env_keep+="GTK_MODULES" underneath it. Press Ctrl+X then Y to save and exit. Next create an .orbitrc file for the root account by typing the following four lines exactly as they are written into a terminal one at a time:

cat> ~/.orbitrc << EOF
ORBIIOPIPv4="1"
ORBIIPUNIX="0"
EOF

Finally start Orca and check the 'Disable gksu keyboard grab' option.

7. Install/Remove Applications.

Type 'apt-get install remastersys synaptic gnome-app-install system-config-printer xterm acpi-support hotkey-setup network-manager mousetweaks gnome-accessibility gnome-accessibility-themes gnome-themes-extras flashplayer-mozilla gstreamer0.10-esd gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-fluendo-mpegdemux gstreamer0.10-fluendo-mpegmux gstreamer0.10-lame gstreamer0.10-pitfdll gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly libdvdcss2 soundconverter rhythmbox lynx urlview joe mc irssi alpine tpp ncftp units e3 mpg123 pdmenu partimage sound-icons xzoom vlock testdisk sysv-rc-conf sc alsa-oss aumix autopsy dcfldd foremost scalpel sleuthkit gddrescue wipe ddrescue gnome-audio laptop-mode-tools dnsmasq gedit-plugins ntfs-3g ntfsprogs serpentine tsclient icedove iceowl-extension brltty brltty-x11 gtk-recordmydesktop gwget abiword gnumeric gimp acerhk-source acx100-source aptoncd bum gftp hostap-utils isomaster libgtk2-gladexml-perl linux-wlan-ng rt2400-source rt2500-source rt2570-source rt73-common rt73-modules-2.6.26-2-686 rt73-source atl2-modules-2.6.26-2-686 atl2-source bcm5700-source et131x-modules-2.6.26-2-686 et131x-source samba foomatic-db pitivi audacity bbrun bbtime fbpager fluxbox fluxconf ndisgtk conky iceowl firmware-bnx2 firmware-bnx2x firmware-ipw2x00 firmware-iwlwifi firmware-linux firmware-ralink remastersys-lxde-control-panel nautilus-open-terminal' into a terminal as root.

You can also install any updates at this stage if you want to. Including updating network manager by typing 'apt-get install -t lenny-backports network-manager network-manager-gnome' as root. If asked to update policykit configuration enter 'y'.( if you do this you must also open /etc/NetworkManager/nm-system-settings.conf and change [ifupdown] managed=false to managed=true)

The type 'apt-get remove ekiga cheese epiphany-browser epiphany-browser-data vinagre vino evolution evolution-common evolution-data-server festival freepats'

You can also remove any residual config files listed in synaptic.

8. Enable Orca support for Admin Applications (Launched from the menus)

Simply open the Main Menu manager from the preferences menu and modify all of the entries on the admin menu and the 'system log' manager so that they open as an 'application in terminal' and add 'sudo' in front of the existing commands, removing gksu or su-as-root etc if present.

Then type 'dpkg-divert --divert /usr/bin/sudo.orig --rename /usr/bin/sudo' as root, and then create a file called 'sudo' in /usr/bin/ and type the following code into it:

!#/bin/bash

if [ -d "/live" ]; then
sudo.orig "$@"
else
su -c "$@"
fi

exit 0

Finally make the new /usr/bin/sudo file executable. This will then check whether you are running from the Live CD or an installed system and then use 'sudo' on the Live CD and 'su -c' on the installed system accordingly.

9. Create and Enable Accessible Login Messages

Firstly create the login and success wav files by typing the following in a terminal as root: espeak -w /usr/share/sounds/login.wav "Welcome to Vinux - Please enter your username and password" and espeak -w /usr/share/sounds/success.wav "Username and Password Recognised - Launching Desktop"

Then type 'gedit /etc/gdm/gdm.conf and add the following lines in the
relevant sections:

[daemon]

SoundProgram=/usr/bin/aplay

[greeter]

SoundOnLogin=true
SoundOnLoginSuccess=true

SoundOnLoginFile=/usr/share/sounds/login.wav
SoundOnLoginSuccessFile=/usr/share/sounds/success.wav

Then save the file and restart the computer to test the login sounds.

10. Set Keyboard Defaults

Open the Keyboard Manager and set the following:

Default Layout: UK (Add Spanish, French and German)
Repeat Keys: Delay = Long
Repeat Keys: Speed = Slow


11. Add keystrokes to control Orca

Open the Orca Preferences Manager and set the following keyboard commands in the keybindings tab.

Increase Voice Rate: insert+right
Decrease Voice Rate: insert+left
Increase Voice Pitch: insert+up
Decrease Voice Pitch: Insert+down

Toggle Magnification On/Off: insert+m
Increase Magnification: insert+equals
Decrease Magnification: insert+minus
Invert Colours: insert+i
Toggle Next Magnifier Position: insert+n
Toggle Cursor Enhancements: insert+c

12. Add Storm Dragon's Orca Customisations script.

Navigate to http://www.stormdragon.us/orca-customizations/ and fill in the online form to create the following keyboard commands.

Read Time: insert+t
Read Date: insert+d
Read Battery Power: insert+p
Read Weather: insert+w

Check for Updates: insert+u
Import Updates: insert+shift+U

When you create the script a copy will be downloaded into your home directory. Copy this into the hidden .orca folder in your home directory and restart Orca to test them.

13. Add Gnome keybindings

Open the Keyboard Shortcuts manager from the Preferences Menu and enter the following keybindings:

Open Terminal: ctrl+shift+t
Open Home Folder: ctrl+shift+h

Volume Up: ctrl+shift+up
Volume Down: ctrl+shift+down

Toggle Maximise Horizontally: ctrl+shift+x
Toggle Maximise Vertically: ctrl+shift+y
Toggle Maximise Window: ctrl+shift+z
Toggle Fullscreen Mode: ctrl+shift+w

14. Add Gconf Keybindings

Open the Gconf-Editor in the System Tools menu and navigate to Apps > Metacity and then use the Global_Keybindings and the Keybinding_Commands windows to set the following keybindings.


Iceweasel: ctrl+shift+i
gnome-appearance-properties: ctrl+shift+a
gconf-editor: ctrl+shift+g
gnome-keyboard-properties: ctrl+shift+k
gnome-dictionary: ctrl+shift+d
gnome-power-preferences: ctrl+shift+p
gnome-screensaver-preferences: ctrl+shift+s
gedit: ctrl+shift+e
nautilus-file-management-properties: ctrl+shift+f
gnome-display-properties: ctrl+shift+r
gnome-mouse-properties: ctrl+shift+m

/usr/bin/live: ctrl+shift+o

Then create two scripts, make them executable and place them in /usr/bin.

Script #1: This will decide whether you are running from the Live CD and then kill and restart Orca and Speech-Dispatcher.

#!/bin/bash

if [ -d "/live" ];then

killall orca
sudo killall speech-dispatcher
speech-dispatcher
orca

else

gnome-terminal -e /usr/bin/inst
speech-dispatcher
orca

fi

exit=0

Script #2: This script is only called if you are on an installed system. If you are running from an installed system you will have to enter your admin password and press enter without speech!

#!/bin/bash

killall orca
sudo "killall speech-dispatcher"

exit=0

15. Set File Browser Behaviour

Open the File Manager window and set the following defaults:

Always open in Browser Window: Checked
Preview: Set all to Never apart from Number of Items

16. Set Mouse Defaults

Open Mouse Preferences and enable Show position of Pointer when the Control Key is pressed.(doesn't work well with magnifier)

17. Adjust volume settings: Set Master, PCM, Front and Speaker volume settings to maximum, set line and mic input volumes to 50% and mute them.

18. Enable all of the extra plugins for gedit and add the accessibility and textise plugins for Firefox. Set Firefox homepage to http://google.co.uk and add bookmarks to Vinux websites and create a Downloads folder etc.

19. Edit menus: Hide - Archive Manager, Password and Encryption Keys, Root Terminal, Floppy Formatter, New Login, New Login in a Window, Network Tools, Power Statistics, System Log, About Me, Network Proxy, Preferred Application and Windows. Show - Orca.

20. Open gconf-editor, navigate to Apps > Nautilus > Desktop and hide the three icons which are shown.

21. Change appearances: Change theme to Crux, change purple to dark grey, change background image to Tentacles, the background colour to black, all fonts to size 12 bold and adjust for best contrast, change cursor to a DMZ White and Large and then save as 'Vinux'.

22. Move both panels to the left hand side of the screen and add a third. Make the width 60, show the hide buttons and add whatever items you want from the panel applets menu and the main menu. Then rename panels using gconf.

23. Download and install the UIE-Dark-Eloquence GDM theme from Gnome-Look. Copy any GDM customisations you have made from /etc/gdm/gdm.conf into /usr/share/gdm/defaults.conf otherwise they won't be used.

24. Edit /etc/remastersys/isolinux/isolinux.txt.debian so that it includes an  (Ascii 7) character at the end of each title line. Delete the two splash image files in the grub folder and remove the splash image path from menu.lst.debian file as well.

25. Edit /usr/bin/remastersys-installer and replace 'xterm -e dpkg-reconfigure tzdata' with 'time-admin'.

26. Download cnetworkmanager from the following URL http://vidner.net/martin/software/cnetworkmanager/cnetworkmanager-0.21.1.tar.gz extract the files, navigate to the directory and then type './setup.py install'.

27. Empty the trash, delete all entries from the .bash_history file and save it and then delete the Recent Documents list.

28. Copy everything from the home directory including hidden files into /etc/skel and change ownership to root.

29. Open remastersys, modify the settings as required and create a remaster: and after about 20-30 minutes or so your new live CD image called Vinux-2.0.iso will be waiting for you in the /home/remastersys/remastersys directory.

Vinux 2.0 Release Notes!


Vinux is a specialist version of Linux optimised for visually impaired users. It is now based on Debian Lenny which currently provides a more stable platform to build an accessible distribution on than Ubuntu does. If you plan to try Vinux I recommend that you read all of the following information very carefully.

1. What features does Vinux offer? Vinux provides a screen-reader, full screen magnification and support for Braille displays out of the box. It can be run from the Live CD without making any changes to your hard drive. If you like it you can install it to a USB thumbdrive or to your hard drive either alongside Windows or as a complete replacement for it. There is also a virtual version available which can run Vinux as a guest operating system using VMWare Player on Windows. The main screen-reader/magnifier is called Orca and the Braille display is supported by Brltty. There is also a secondary screen-reader installed called Speakup, which is a console based screen-reader. This is aimed at more advanced users but can also provide a useful backup in the event of any problems. Vinux provides a wide range of open source software including an internet browser, a file manager, a text editor and various multimedia applications. Vinux is designed to be a completely secure modern desktop system for all the family, visually impaired and sighted alike.

2. How do I download and Burn Vinux? In order to try Vinux you need to download the iso image from the website and burn it to a CDR using an application that supports writing iso images to CD. An iso image cannot just be copied to a CD like an ordinary file. It is a complete image of CD and must be burnt with a suitable tool like Nero, Roxio, DeepBurner on Windows or with the file manager of any modern Linux distribution. Once burnt you place the CD in the drive and reboot your computer. Most computers are set to boot from a CD drive by default. If not you may have to modify the bios or press a key after powering on the computer. If for any reason the CD won't boot you should check the md5sum of the iso image you downloaded and the CD itself to make sure it wasn't corrupted during the download or burning process.

3. Why is the Live CD slower than an installed system? The Live CD does not perform as well as an installed system and this is partly due to the fact that Debian is not really designed to be run from a live CD. This means that the system will be a lot more responsive and stable once installed to your hard drive.

4. What should I do if Orca crashes? If Orca crashes at anytime you can restart it by pressing ctrl+shift+o. Once the system is installed it is unlikely that Orca will crash, but if it does you must enter your admin password and press enter after pressing ctrl+shift+o.

5. How do I use the magnification? You can start or stop full screen magnification at any time by pressing insert+m while Orca is running. You can turn the Orca speech on or off by pressing insert+s and the colour inversion and cross hairs can be turned on or off by pressing insert+i and insert+c respectively. The magnification may be a little jerky on older computers in which case you may find using keystrokes to navigate produces a smoother response than using the mouse.

6. How do I use Braille? Brltty should start automatically when Vinux is booted. However Vinux currently only supports Grade 1 Braille on USB displays, which is fine for installing and navigating menus and applications etc but not ideal for reading at any length. I hope to add support for Grade 2 Braille and Serial Braille displays in a future version.

7. How do I launch applications? You can launch applications in one of three ways: You can press alt+F1 to open the main menu and then navigate the menus and sub-menus using the cursor keys. When you find the application you want press enter to launch it. You can press alt+F2, type the name of the application you want to launch then press enter, or you can open a terminal by pressing ctrl+alt+t, typing the command you want to run and press enter.

8. How do I change the default language and keyboard layout? The default language on the Live CD and the installed system is English. If you want a different language then you can start the installer from a terminal using 'sudo remastersys-installer gui intl' and this will allow you to choose a different language. You will of course need a working internet connection to download the new language packs. Alternatively you can modify the language settings manually after installation.

9. How do I run applications with root permissions? You can run administration applications from the menus with Orca support, but you will be asked to enter the administration password once the system is installed. However while you can run administration commands from the terminal on both the Live CD and an installed system using the 'sudo' command, in reality once the system is installed the 'sudo' command is actually being intercepted and being replaced with 'su -c'. This means that that you must enter the administration password when asked rather than your user password. You must also enclose any commands that require arguments in addition to the command itself in double speech marks if you use the 'sudo' command. I recommend that once you have installed the system you use 'su' to switch to root user rather than using 'sudo' to avoid confusion. This provides a higher level of security than adding an ordinary user to the sudoers file.

10. Why do some applications not work once Vinux is installed? As a consequence of the difference syntax required by 'sudo' and 'su -c' there are two items on the menus/panels which will only work on the Live CD and not the installed system. These are the 'Install Vinux to Hard Drive' and 'Restore Bootloader' launchers. I could fix this, but there isn't really any legitimate reason for running these on an installed system, because it is already installed and if it is running the bootloader doesn't need restoring either.

11. Does Vinux contain any non-free software? This version of Vinux contains some restricted multimedia codecs and non-free wireless firmware which may not be legal to download or distribute in countries in which software patents are enforceable.

12. Should I install updates when they are available? I have added and enabled the Debian Multimedia, Backports and Proposed Updates repositories which means you can install restricted multimedia codecs and newer versions of some packages if required. There are some newer versions of the installed wireless firmware drivers available, but I would not recommend installing any of these unless your existing setup doesn't work as when I installed these I lost access to the existing working wireless connection and could not restore it. Generally I would not advise you to update applications unless you are having problems or require specific new facilities etc as this will keep the system as stable as possible.

13. How do I use console mode? To switch to console mode and use Speakup you have to press ctrl+alt+F1 from the running Gnome session or the GDM login screen. You can then use Speakup to input commands from the console and read back any output generated. If you are running the Live CD you can start using Speakup straight away, if you do this from an installed system you need to login in the normal way. To switch back to the graphical desktop press alt+F7 or alt+F2-F6 to open more console sessions. Speakup is much faster and more stable than Orca and Speech-Dispatcher but it requires an indepth knowledge on the Linux command line to be used effectively.

14. What Keybindings does Vinux use? There are full lists of keystrokes for Vinux, Orca and Speakup in the Vinux folder in the Home directory. The Vinux keystrokes are only functional while running the Gnome Desktop, the Orca keystrokes are only functional while Orca is running and the Speakup keystrokes are only functional while in console mode. The Vinux keystrokes enable you to open various applications for example: A terminal with ctrl+shift+t, the Home directory with ctrl+shift+h and the internet browser with ctrl+shift+i. The Orca keystrokes enable you to control the accessibility settings for example: insert+right/left to increase/decrease the voice rate, insert+plus/minus to increase/decrease the magnification and insert+d/t to get the date/time. The Speakup keystrokes allow you to navigate the virtual terminal and control what is read while in console mode.

15. How do I boot and/or login to Vinux? When the Live CD starts to boot you will hear three audio beeps played by the system bell (if you have one). This means that the boot prompt is ready and you can either press enter to start the Live CD, or enter 'xforcevesa' for safe graphics mode or 'hd' to boot from the first hard drive instead. Once you have installed Vinux you will hear Espeak greet you when the GDM login screen is ready. This is not an interactive screen-reader, just a recording of Espeak, so it will not echo what you type. If you enter a legitimate username and password you will be told that the desktop is starting. If not you will be asked to enter your username and password again. When the desktop starts Orca will greet you with 'Welcome to Orca'.

16. Why is the desktop layout different from other Linux distributions? If you are partially sighted you will notice that Vinux has a radically different desktop layout to most other distributions. The panels are all on the left side of the screen instead of the top and bottom, and there are three panels not two. These three panels with extra large icons provide simple one click access to the most commonly used applications and computer settings etc. They also allow users to make the best use of the available screen space on modern wide screen displays by providing the full depth of the screen for applications at all times. You can hide these panels by clicking on the buttons at the top and bottom, or use the full screen by pressing ctrl+alt+w in any application that supports full screen mode.

17. Why are some applications inaccessible? Vinux includes some programs that are inaccessible to speech users but are accessible to partially sighted users with the aid of magnification. For example Abiword (a word processing application) and Gnumeric (a spreadsheet application) are not really supported by Orca but they can be used with magnification, and in fact it is possible for someone using Orca to use them to open a Microsoft Office document and copy and paste it into Gedit (a text editor) for reading and editing. However the vast majority of applications included are fully accessible with Orca and/or Speakup.

18. Why are some applications missing? In order to fit Vinux on a single CD I have had to remove a large number of programs which are included in a standard Debian installation or Live CD. The most notable of these are Open Office; which provides a full office suite including word processing, spreadsheets, slide-shows, databases and graphics etc., and Evolution which provides a fully featured e-mail client. These applications and many others can easily be reinstalled once you have installed Vinux to your hard drive.

19. How do I install new software? There are three different ways to install new applications on your Vinux system. You can use the terminal, the Add/Remove Programs application or the Synaptic Package Manager. If you know the name of the application you want to install, the terminal is the easiest option. Open a terminal, switch to root by typing 'su' followed by your admin password and then type 'apt-get update' to update the available packages list. In order to install a new application just type e.g. 'apt-get install audacity'. To remove an application just type e.g. 'apt-get remove audacity'. If you don't know the name of the application or just want to see what is available you can use one of the other two GUI based applications. The Add/Remove Programs application offers a simple list of the most popular applications sorted by category. The Synaptic Package Manager lists all available applications (25,000+) and has a lot more options etc., but it can be a bit overwhelming for people new to Linux.

20. How did you create Vinux? There is a full step by step guide to building Vinux 2.0 from a standard Debian installation CD in the Vinux folder in the Home folder called "Roll Your Own Vinux.txt". By following these steps you can convert an existing Debian Lenny installation to Vinux. If you attempt to build your own version I recommend you follow the instructions in the order they are written otherwise some steps may not work. It takes approximately one full working day to complete all of the steps, test it and remaster to a Live CD presuming that nothing goes wrong. In practice things will inevitably go wrong and you may have to start all over again if you can't fix it - so proceed with caution and test everything as you go along.

21. What extra command line applications are included? There are a large number of useful text based tools installed on the CD for more advanced users which are not shown in the menus and have to be launched from the terminal. These include: Forensics Tools - testdisk, autopsy, dcfldd, foremost, scalpel, sleuthkit, gddrescue, wipe and ddrescue. Internet Based - lynx, urlview, irssi, alpine and ncftp. Miscellaneous Applications - units e3 mpg123 pdmenu partimage xzoom vlock sysv-rc-conf sc aumix joe mc tpp. If you want to learn how to use these applications type e.g. lynx --help' into a terminal to get a list of commands or e.g. 'man lynx' to read the manual.

22. How do I connect to a wireless network? Although you can launch all of the installed applications from the menus and/or a terminal you may want to navigate to the network manager applet on Panel 1 to view the list of available wireless connections and choose one to connect to. In order to do this you should press and hold ctrl+alt and then press tab until you hear Panel 1 and release the keys. You can then use the tab key or the cursor keys to find the network applet icon which is called 'icon'. there maybe two icons called 'icon' in the system tray, one is the battery and the other is the network manager applet. When you find the correct icon press enter and then use the cursor keys to browse the available networks. When you find the one you want press enter and then input the wireless network key if required. If you are comfortable using the command line then you can manage your network connections by using cnetworkmanager. Type 'cnetworkmanager --help' for a list of commands and arguments.

23. How do I install Vinux? There are two different ways to install Vinux. It can be installed to a standard hard drive either as a dual boot system or a stand alone system, or it can be installed and run from a USB thumbdrive. The 'Install Vinux to Hard Drive' launcher will allow you to partition your hard drive and install Vinux to it. You will need at least one Ext3 partition and one Swap partition to complete the installation. but you can have a separate Home partition if you want to. Installing Vinux to a computer as the only operating system is the easiest to do and involves the least risk. If you attempt a dual boot install and make a mistake you may lose your existing data, operating system and software, so make sure you have a backup of anything important before you try this. If you are not confident that you understand the process thoroughly then don't attempt this. It is easier and safer to install Vinux to an old computer or second hard drive to begin with, if you like it you can always install it to your main computer later on. The 'Install Vinux to USB' launcher allows you to install it to a USB thumbdrive. There are several stages to this process which must be followed in order. You have to pick the thumbdrive, format it with at least one FAT32 partition for the operating system and one Ext3 partition called 'live-rw' for persistent storage. You must also set the FAT32 partition flag to bootable. You can then copy the necessary files to the thumbdrive and activate the persistent storage. You may have to press a key or modify the bios settings if your computer doesn't automatically detect and boot from bootable USB drives if present.

24. Why does the Live CD take so long to boot and/or shut down? The Live CD takes quite a long time to boot and sometimes appears to be frozen, but it isn't, it will finish booting eventually. The Live CD also sometimes gets stuck when shutting down the computer after the CD draw pops out and you are asked to press enter. When you press enter the computer will sometimes lock up, this is caused by Speakup locking up and I haven't yet found a solution. If this happens then simply press and hold the power button to turn the computer off. If the Live CD ever locks up completely and won't respond to any input press and hold alt+PrintScreen then press s,u and then b in that order to reboot the computer.

25. Why is the console mode sometimes unavailable? I have noticed that after running the Live CD for a long time that sometimes I am unable to switch to console mode by pressing ctrl+alt+F1. If this happens simply press ctrl+alt+backspace to restart the GDM login screen and then press ctrl+alt+F1 again and you should then find yourself in console mode.

26. Why are there some icons misplaced or missing? Depending upon the resolution of your display some of the icons on the side panels maybe be out of position or even missing. These can be repositioned by right clicking on them, unchecking the 'lock to panel' box and then moving them back into position. If there are any missing icons you can replace them by right clicking on the relevant panel and selecting 'Add to Panel' and then selecting the missing icon.

27. Why is the screen resolution detected incorrectly? On some laptops you may find that the screen resolution in not correctly detected initially and you only get a slightly smaller display area in one corner of the screen. If this happens you will probably not be able to set the correct resolution while running from the Live CD, but I have found that after installation the resolution is then correctly detected and configured.

28. Do I need to use an anti-virus package? No, Linux is built in a completely different way from Windows, and each Linux distribution is different so in practise there are no Linux viruses in the wild and therefore you generally down't have to worry about computer viruses. This doesn't mean that you won't download viruses, just that they won't have any effect on your system. However you can pass them on to Windows users if you exchange files. You can of course still be hacked if you are not protected by a firewall so you should not be complacent but as the root password is required to make any significant changes to the system you are very well protected. In fact if you only download and install software from the official Debian repositories you are extremely unlikely to download any malware. If you are particularly paranoid you can download and install clamtk which will allow you to detect and isolate any potential viruses or malware. Of course if you are running the Live CD then you are totally secure because as soon as you switch the computer off it goes back to the way it was before you booted Vinux.

29. Why doesn't the clock show the correct time? There is a bug in the system clock which prevents you from changing the time manually, and installing the Network Time Protocol package does not fix this either. I suspect it is caused by a Daylight Savings Time configuration error but I haven't been able to fix it yet. If it bothers you I suggest that you simple delete it from the panel for now until a fix is found.

30. Why doesn't the Keyring Manager accept my password? I have set the default login keyring manager password to 'vinux' on the Live CD and this will be retained once it is installed. However the default keyring will only be loaded automatically if the password is the same as your login password. You can easily change the keyring manager password by opening the Encryption and Keyrings manager and changing the unlock password.

Monday, 17 August 2009

Vinux 2.0 Beta 1 Released!

I am happy to announce the release of the 1st Beta version of Vinux 2.0! There are a great many differences between this release and the earlier versions based on Ubuntu, and there are significant differences between this release and the existing alpha versions so if you are planning to try it out then please read the following information very carefully to avoid unnecessary frustration and/or confusion.

This version is based on Debian Lenny 5.02 and although there are many differences between Debian and Ubuntu the most significant one is that although you can use 'sudo' on the live CD, once installed you must use 'su' and then enter your administrator password to run commands with root priveleges from the terminal. This provides an extra layer of security over that offered by Ubuntu. An unusual consequence of this is that I have had to decide which admin applications you are likely to use on the Live CD and which ones you are more likely to use once installed. Thus on the Live CD the only admin apps that you can launch from the menus are the installer, the partition editor and the restore bootloader application. Once installed you will be able to launch all of the other admins apps apart from these three. Of course you can launch any admin application at any time from the terminal using 'sudo' on the Live CD and 'su' on an installed system. I hope to fix this by the final release.

For those of you who are partially sighted you will notice that the desktop layout has changed considerably since the last version. This layout is designed to be friendly to partially sighted users by offering them one click access to all of the most commonly used applications at any time. It also maximises the available space on widescreen displays by placing the three panels on the left hand side, thus allowing you to use the full depth of the screen at all times. The only difference that this will make to Orca users will be that when you open the main menu you need to cursor down to find the places and system menus rather than cursoring right. Orca users can navigate to the panels in the usual way by pressing ctrl+alt+tab.

In order to fit everything onto the CD I have had to remove many applications, including Open Office and Evolution, which can of course easily be reinstalled. In their place I have provided Icedove, Abiword and Gnumeric which are not accessible with Orca, but are accessible to people using magnification and Orca users can of course use them to open up Microsoft Office documents and then save them in different formats or even copy and paste them into the text editor etc. You may also notice that the GIMP graphics package is installed, again this is for the benefit of partially sighted users.

I have now added the audio beeps to the Live CD and the spoken welcome messages on the GDM login window. When you boot from the live CD you should hear three beeps, which means the boot prompt is ready, you can then type in a cheat code, press enter or wait for thirty seconds. Once Vinux has booted you will hear Orca say "Welcome to Orca". Once you have installed the system you will be greeted by the GDM login screen, which will ask you to type in your username and password. If at any time you switch to console mode Speakup will take over, but as it uses Espeak you won't really notice the difference.

I have added lots of custom keystrokes to Vinux. Many of them are the same as on previous versions, but there are several new ones and as Compiz is no longer installed many of the original keystrokes are missing. There is a full list of Vinux, Orca and Speakup keybindings in the Vinux folder inside you Home folder. This is a beta version, so while I am confident that most of the applications and accessibility features are working there are several specific things which I would like people to test over the next week:

A. Wireless and Ethernet Connections

B. Braille support

C. Installation onto a hard drive as single and dual boot system

D. Installation of Open Office 2.4 and the Java Access Bridge

E. Installation of Open Office 3.0 and the Java Access Bridge from Debian Backports

F. Installation of Firefox 3.0 from Debian Backports

G. Installation of Thunderbird 3.0 from Debian Backports

F. Installation of Evolution

I suspect that most of the problems encountered will be to do with hardware compatibility rather than software issues. It is vital that you let me know if a specific piece of hardware is not supported and how it can be fixed if possible. It would be equally useful to know what models do work, especially laptops. I do not intend to add any more applications to the final version, but I have left plenty of space to add hardware drivers etc.

Sunday, 19 July 2009

Sight Village 2009!


I publically launched Vinux at the Sight-Village Exhibition in Birmingham last week, this is the biggest VI event of the year in the UK attending by thousands of people over three days. All of the main hardware and software manufacturers attend as well as VI orientated institutions and educational providers etc. I managed to distribute about 150 Vinux 1.52 CD's over the three days and although people were a little sceptical at first about the idea of a free, open-source, Linux based operating system, most were pleasantly surprised when they came and had a play with it. I purposely took the oldest laptops I could find to demonstrate it on, so that people would not be disappointed with the performance when they tried it on their own computers at home. It was also great to finally meet a few people off the mailing list: David Knight, Dennis Freedman and Georgina Joyce all managed to make the trip from the North of England, and I also bumped into Digital Darragh from Ireland who recorded an short interview with me which he will post on his website. On the Friday after Sight-Village, I presented two workshops on Vinux to members of the BCAB (British Computer Association for the Blind) each attended by 6-12 people. The BCAB provided six laptops with a dual boot setup (Vinux and Vista) and we didn't run into any major problems although speech-dispatcher did crash a few times while online. I think everyone enjoyed the sessions, and were pleasantly surprised as apparently the last time they looked at Linux it was a complete disaster! They made me feel very welcome and I really enjoyed running the sessions. They are a very friendly bunch and I would heartily recommend anyone who is living in the UK and is not already a member to sign-up!

Sunday, 21 June 2009

2nd Alpha of Vinux 2.0 Uploaded!


I have just uploaded the 2nd Alpha of Vinux 2.0! This release sees the installation of Speakup and Espeakup, providing console based screen reading as well as Orca with the Gnome desktop. You can switch to a terminal session by pressing Ctrl+Alt+F1. Both Orca and Speakup use Espeak so there is no difference in voice quality or performance between Orca and Speakup. I have also added two audio beeps which sound when the Live CD boot prompt is ready, and an audio signal when the GDM login window is ready, which is retained after installation. Again I would like to get feedback on the new features and any other bugs and/or suggestions you might have.

Thursday, 18 June 2009

Brave New World: Vinux 2.0 Alpha 1 Released!


I have just uploaded the first alpha release of Vinux-2.0 - it is a very basic release which does not yet have many of the features that Vinux usually has. It is based on Debian Lenny and all I have done for now is to create an Installable Live CD with Orca enabled and configured by default using Alsa and Speech-Dispatcher. I have also made the standard Orca SysAdmin changes so users will be able to run admin apps, but I have not modified the menu launchers so you will have to launch admin applications from the terminal by entering 'su' followed by your password and then type the relevant command.

The primary purpose of this release is for people to test the basic screen-reading performance of Orca with Alsa and Speech-Dispatcher. There are still many things to do and some things I tried to do but could not get to work. The main priority at the moment is to get Orca running and enable ethernet/wireless access, because once you have speech and an internet connection you are then able to sort out most issues yourself.

I have been unable to get YASR working at all, with Eflite, Festival or Speech-Dispatcher, and festival doesn't work with Orca either so I have removed both applications for now. I have installed Brltty and enabled Braille in Orca but I was unable to find the usual /etc/defaults/brltty file which starts Brltty at boot.

I would therefore like feedback on both the performance and stability of Orca and information on whether the wireless connections worked out of the box. If so please let me know the laptop and wifi card details if possible; and if wireless doesn't work or you manage to get it working yourself please let me know how you got it working and I will incorporate this into the next next alpha release. If anyone is brave enough to try installing it then I would like feedback on the accessibility of the new installer - remastersys-installer. This should be launched from the terminal if you require speech, just type 'remastersys-installer' after switching to su, or type 'remastersys-installer intl' if you want to choose a language other than English. This installer uses cfdisk for formatting purposes so you can either use the existing partitions or create/modify the partitions before or during the installation process.

Wednesday, 17 June 2009

Accessibility v Functionality: On the Horns of a Dilemma!


I have spent the last few weeks trying out lots of different distros as possible foundations upon which to build Vinux. I have looked at Ubuntu 9.04, Mint 7.0 (based on 9.04), Debian Lenny 5.0, Dream Linux 3.5, Fedora 11 and OpenSuse 11. The conclusion I have come to is that I am going to have to choose between accessibility and functionality. Ubuntu and Mint offer the greatest functionality in terms of ease of use and hardware detection etc. In fact Mint is better than Ubuntu in this regard as it has a lot of extra features and multimedia codecs etc., and I am now using a remastered version of Mint 7.0 on my main workstations which do not require any accessibility software. However the performance of accessibility software on both Ubuntu and Mint is poor. The speech is slow and jerky and more often than not locks up at some point. This is likely to be caused by PuleAudio and compounded by a cutting edge version of Xorg. Debian on the other hand, while it doesn't provide accessibility in terms of speech or magnification out of the box (Braille support is available) allows me to set up Orca with Alsa and Speech-Dispatcher and produce a very responsive screen-reader. The down side is that Debian doesn't support anywhere near the amount of hardware Ubuntu and Mint do, especially when it comes to restricted or non-free drivers and codecs etc. So this is the dilemma I face! Do I provide good accessibility at the cost of functionality, or functionality at the cost of accessibility? After wrestling with this problem for several weeks I have come to the conclusion that I have to give priority to accessibility. I can certainly improve the functionality of Debian to some extent by installing wireless drivers and some multimedia codecs etc., and as long as Vinux is accessible users can can then either get support in resolving hardware issues or work out solutions themselves as long as they have a functioning screen-reader etc. The main advantage of Debian is that it still uses the Alsa sound system, which works a lot better with Orca and Speech-Dispatcher than PulseAudio. So I am hoping to offer users a very stable and accessible distribution, but it is not going to be very cutting edge or support as wide a variety of hardware as Ubuntu and/or Mint can. I will still be monitoring the most popular distros to see if the issues caused by PulseAudio etc., have been resolved and if they have then of course I will then have the option to switch back to Ubuntu or Mint etc. The rumours are that in Gnome 3.0 Speech-Dispatcher will become the default speech server for Orca and hopefully then the issues with PulseAudio will eventually be resolved, and maybe one day one of the major distros will actually get off their arses and produce a fully accessible distro (hears faint oinking in the distance as vast herds of pigs fly south for the winter).

Monday, 25 May 2009

Vinux 1.5 Plus: Frankenstein's Monster!


I am just in the process of uploading Vinux 1.5 Plus to the website. This is an experimental release exclusively for members of the Vinux Development Group, and will not be announced anywhere else. It contains lots of new experimental features which are bound to cause problems, so I would not advise anyone to try and use it as their primary OS! I would however like you to try it out and provide feedback on some of the new features. These include:

The Emacspeak complete audio desktop, which provides a text based interface in a terminal window or in console mode for advanced users. This can be launched from the Accessibility sub-menu or by pressing 'ctrl+shift+e' after stopping Orca and/or Speech-Dispatcher.

The LinuxSpeaks audio desktop, which also provides a simple menu driven text based interface in a terminal window or in console mode for beginners and intermediate users. This can be launched from the Accessibility sub-menu or by pressing 'ctrl+shift+l' after stopping Orca and/or Speech-Dispatcher.

Support for five more languages: Spanish, French. German, Dutch and Flemish. This can be started by typing a two letter code 'es', 'fr', 'de', 'nl' or 'fl' at the boot prompt. This will change the display language, but you will need to change the Orca voice and the keyboard layout manually for now.

I have installed Ubuntu Restricted Extras and some other non-free applications and codecs from the Medibuntu repository. This means that this version of Vinux will play MP3 files and encrypted DVD's out of the box, but be aware that this may contravene local patent/copyright laws in some countries. If this is the case then please do not download or redistribute it.

I have reinstalled all of the packages I removed from the original Ubuntu 8.10 in order to make room on the CD and I have installed all of the latest updates from Canonical as of today. Not all of these applications are accessible to someone using a screen-reader but they are accessible for someone using a screen-magnifier or high contrast themes.

I will post the URL when I have finished uploading it and tested the md5sum, which probably won't be until tomorrow afternoon. Please don't try to download this version until it I supply the URL as trying to download the temporary file might disrupt the upload.

Once again, this is a very experimental version which will probably have lots of bugs, but the feedback I get on some of these new features will help me to build the next version of Vinux which will in all probability be based on Debian.

Sunday, 24 May 2009

Vinux 1.5: Better Late Than Never!


Vinux 1.5 is now available for download and testing by members of the Vinux Development Forum. If no serious bugs are found in the next few days then I will post a public release announcement on other mailing lists etc. New features include: Speech-Dispatcher as the default speech server, YASR configured to use the Festival speech synthesiser, New shortcuts to start/kill Speech-Dispatcher (ctrl+shift+s and ctrl+shift+k), Orca weather keystroke (insert+w) set to Birmingham UK (UKXX0018), Larger fonts and higher contrast theme by default, Installation of the Firefox Accessibar plugin, Mousekeys enabled by default, Gedit's advanced plugins enabled by default and the Medibuntu repository enabled by default. I have not yet implemented all of the features I wanted to include in this release. I have fitted as many features as I could on a CD sized image, but I could not fit on Emacspeak, LinuxSpeaks or support for foreign languages etc., in a 700MB image. I hope to release a 'Vinux 1.5 Plus' edition shortly which will contain both of these extra accessibility packages, support for foreign languages and some more multimedia codecs etc. However this will obviously be larger than 700MB and will have to be burnt on to a DVD. Vinux 1.5 will probably be the last release of Vinux based on Ubuntu as there are too many bugs in the latest release and their rapid and cutting edge release cycle means that it is not really a suitable base for creating a stable accessible distribution. So once I have released 'Vinux 1.5 Plus' I am planning to switch to Debian as a base. I believe this will provide a much more stable platform in the long term.

Saturday, 16 May 2009

A Freudian Slap!


As some of you may have noticed I haven't been very active on the mailing list for the last few weeks and haven't made any real progress with the next release of Vinux. This is because at the beginning of the month I was informed that myself and eleven of my colleagues in the R&D Team were being made redundant in an effort cut costs at the College. So I have spent the last few weeks concentrating on trying to find myself a new job and put Vinux on the shelf temporarily. I have now been offered a teaching position at the same College, which is what I have done for most of my working life. However, I will no longer be teaching ICT but Critical Thinking, Sociology and Psychology (hence the Freudian slap). This may at first glance appear to be a rather radical shift, but in fact I started out as a Philosophy Lecturer after completing a degree and PhD in Philosophy, so it is more of a return to my academic roots than it might first appear. I will of course still be working with visually impaired learners and continuing with the development of Vinux in my spare time! It will still probably be a few weeks before I have wrapped everything up and made the transition to the new post. Normal service will be resumed as soon as possible.

Thursday, 7 May 2009

The Jerky Jackalope and Other Tales.


Its been a few weeks now since the release of Ubuntu 9.04 and the overwhelming impression is one of a bug ridden disaster comparable to the first Men in Black Movie. There are serious problems with the new version of Xorg 1.6 , the installer and the new Ext4 file system. It's like 7.04 and 7.10 all over again, and if history repeats itself it is unlikely any of this damage will be put right until the release of 9.10 or maybe even 10.04! So for now I will be basing the next release of Vinux on the relatively stable Intrepid Ibex. 8.10 is supported with updates and security patches for another year which will take us to the next LTS release which will be supported for three years. I have come to the conclusion that it is not going to be practical to follow Ubuntu's six month cycle, as it takes a few months to get Vinux stable and bug free. So the options are to base Vinux on the long term service releases and/or switch to Debian as the base. Both options would offer the benefit of stability at the cost of cutting edge features. In terms of ethics and open-source principles Debian would be preferable as it is dedicated to the open-source philosophy, while Ubuntu include non-free packages and drivers etc. I also suspect that at some point in the future Ubuntu will go commercial once it has a big enough user-base, and go on to become the Microsoft of the Linux world. So once I have built Vinux 1.5 I will be experimenting with Debian Lenny which remastersys also supports, and from what I have read has more features than the Ubuntu version including a text based installer which should be more accessible than Ubiquity. Watch this space!