Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- getUserName (){
- read -p "Enter username : " username
- if [ "$username" == "" ]; then
- echo "Username must not be blank!"
- getUserName
- fi
- }
- getUserPass (){
- read -s -p "Enter password : " password
- echo ""
- read -s -p "Enter password Again: " repassword
- if [ "$password" == "$repassword" ]; then
- if [ "$password" == "" ]; then
- echo "Password must not be blank!"
- getUserPass
- fi
- echo "Password accepted"
- else
- echo "Password does not match!"
- getUserPass
- fi
- }
- #set up user account
- getUserName
- egrep "^$username" /etc/passwd >/dev/null
- if [ $? -eq 0 ]; then
- read -p "$username exists! Should I configure Ubuntu for this user? (Some configuration files will be altered) [y/n]" reconfig
- if [ "$reconfig" != "y" ]; then
- echo "Goodbye!"
- exit 0
- fi
- else
- getUserPass
- pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
- useradd -G users,audio,sudo,video,admin -m -s /bin/bash -p $pass $username
- echo "$username ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
- [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
- fi
- #find out what we should do
- read -p "Choose your window manager LXDE or XFCE4? [lxde/xfce4]" wman
- echo ""
- echo "Install Florence Virtual Keyboard or Onboard?"
- read -p "NOTE: Florence will remap your keyboard so webOS and Bluetooth keybords will not function in Ubuntu![f/o]" keyboard
- echo ""
- read -p "Install Easystroke? [y/n]" easystroke
- echo ""
- read -p "Automout USB partition(/media/internal)? [y/n]" usbpart
- echo ""
- read -p "Install Libre Office? [y/n]" office
- #ensure a good variable in $wman
- if [ "$wman" != "xfce4" ]; then
- $wman="lxde"
- fi
- #install a bunch of stuff
- echo "Installing window manager, lxterminal, chromium-browser, Leafpad, Synaptic, wmctrl, x11-xkb-utils, libgtkstylus, Lightspark, Gnash, Gamix, SSH, xtightvncviewer, rdesktop, evince, and xournal"
- apt-get update
- apt-get -y install $wman lxterminal chromium-browser leafpad synaptic wmctrl x11-xkb-utils libgtkstylus browser-plugin-lightspark browser-plugin-gnash gamix ssh xtightvncviewer rdesktop evince xournal < /dev/null
- #install easystroke and do basic configurations
- if [ "$easystroke" == "y" ]; then
- echo "Installing Easystroke..."
- apt-get -y install easystroke
- echo "Adding basic easystroke gestures..."
- mkdir -p /home/$username/.easystroke/
- mkdir -p /home/$username/.config/autostart/
- cp preferences-0.4.1 /home/$username/.easystroke/preferences-0.4.1
- cp easystroke.desktop /home/$username/.config/autostart/easystroke.desktop
- if [ "$keyboard" == "f" ]; then
- cp actions-0.4.1.florence /home/$username/.easystroke/actions-0.4.1
- else
- cp actions-0.4.1.onboard /home/$username/.easystroke/actions-0.4.1
- fi
- fi
- #setup internal drive automounting
- if [ "$usbpart" == "y" ]; then
- echo "Configuring /media/internal..."
- mkdir -p /media/internal
- egrep "/dev/mapper/store-media" /etc/fstab >/dev/null
- if [ $? -eq 0 ]; then
- echo "USB partition already listed in fstab..."
- else
- echo "/dev/mapper/store-media /media/internal vfat rw,realtime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0" >> /etc/fstab
- mount -a
- #ensure the usb partition mounts if desired
- echo "umount /media/internal" >> /root/.bashrc
- echo "mount /media/internal" >> /root/.bashrc
- fi
- else
- echo "Skippig USB partition..."
- fi
- #install libre office
- if [ "$office" == "y" ]; then
- echo "Installing Libre Office..."
- apt-get -y install libreoffice < /dev/null
- else
- echo "Skipping Libre Office..."
- fi
- #Install virtual keyboard
- if [ "$keyboard" == "f" ]; then
- #set up florence keyboard
- apt-get -y install florence < /dev/null
- echo "Remapping keyboard..."
- egrep "setxkbmap us" /usr/bin/start$wman >/dev/null
- if [ $? -eq 0 ]; then
- echo "keyboard layout already set in /usr/bin/start$wman ..."
- else
- sed -i '4i #Remap keyboard. Comment out to allow webOS keyboard to function.' "/usr/bin/start$wman"
- sed -i '5i setxkbmap us' "/usr/bin/start$wman"
- fi
- #configure autostart for florence
- echo "Configuring Florence to autostart"
- mkdir -p /home/$username/.config/autostart/
- cp florence.desktop /home/$username/.config/autostart/florence.desktop
- else
- #setup onboard virtual keyboard
- sed -i 's/Remap keyboard. Comment out to allow webOS keyboard to function.//g' "/usr/bin/start$wman"
- sed -i 's/setxkbmap us//g' "/usr/bin/start$wman"
- rm /home/$username/.config/autostart/florence.desktop
- apt-get -y install onboard < /dev/null
- cp obwrap.sh /usr/local/bin/obwrap.sh
- cp Default.onboard /usr/share/onboard/layouts/Default.onboard
- chmod a+x /usr/local/bin/obwrap.sh
- fi
- #setup gtk rightclick
- echo "Adding long tap for right click..."
- egrep "libgtkstylus.so" /usr/bin/start$wman >/dev/null
- if [ $? -eq 0 ]; then
- echo "libgtkstylus already referenced in /usr/bin/start$wman ..."
- else
- sed -i '2i #load right click driver' "/usr/bin/start$wman"
- sed -i '3i export GTK_MODULES=libgtkstylus.so' "/usr/bin/start$wman"
- fi
- #configure autostarting window manager
- echo "Setting up autostart for dbus and window manager..."
- egrep "su - $username" /root/.bashrc >/dev/null
- if [ $? -eq 0 ]; then
- echo "autostart already configured ..."
- else
- echo "su - $username -c \"dbus-launch start$wman\" 2> /home/$username/.start$wman.err" >> /root/.bashrc
- cp moveStartupTerm.desktop /home/$username/.config/autostart/moveStartupTerm.desktop
- cp moveStartupTerm.sh /usr/local/bin/moveStartupTerm.sh
- chown $username /usr/local/bin/moveStartupTerm.sh
- chmod a+x /usr/local/bin/moveStartupTerm.sh
- fi
- if [ "$wman" == "xfce4" ]; then
- #do xfce configuration
- mkdir -p /home/$username/.config/
- cp xfce4.tar.gz /home/$username/.config/
- cd /home/$username/.config
- tar xzfv xfce4.tar.gz
- cd -
- else
- #do some lxde optimization
- echo "Configuring LX panel..."
- mkdir -p /home/$username/.config/lxpanel/LXDE/panels/
- mkdir -p /home/$username/.config/openbox/
- cp lxpanel.panel /home/$username/.config/lxpanel/LXDE/panels/panel
- cp lxde-rc.xml /home/$username/.config/openbox/lxde-rc.xml
- fi
- #setup first start script
- cp firststart.desktop /home/$username/.config/autostart/firststart.desktop
- cp firststart.sh /usr/local/bin/firststart.sh
- chmod a+x /usr/local/bin/firststart.sh
- #fix the sudo unresolved host error
- hostname > hostnameholder
- hostnameholder=`cat hostnameholder`
- sed -i "s/ubuntu-natty-chroot/$hostnameholder/g" "/etc/hosts"
- rm hostnameholder
- #Configure Sound
- chmod a+rw /dev/snd/*
- chmod a+rw /dev/msm*
- mkdir -p /home/$username/.gamix
- cp gamix.Config /home/$username/.gamix/Config
- cp gamix.desktop /usr/share/applications/
- cp volume.png /usr/share/applications/
- cp asoundrc /home/$username/.asoundrc
- #configure some gnome app stuff
- mkdir -p /home/$username
- cp gconf.tar.gz /home/$username/
- cd /home/$username
- tar xzfv gconf.tar.gz
- rm gconf.tar.gz
- #Change ownership of a bunch of stuff
- chown -R $username /home/$username
- chown $username /usr/local/bin/firststart.sh
- #clean up
- apt-get -y clean
- #start window manager
- su - $username -c "dbus-launch start$wman" > /home/$username/.windowManager.err
Add Comment
Please, Sign In to add comment