User Tools

Site Tools


ubuntu:xfce_desktop

Xubuntu as a Windows XP (ChromeOS like) Replacement

Basic Setup

  1. install Xubuntu 14.04
  2. Download and install Google chrome
  3. Install supporting packages
    apt-get install vim mercurial tuxpaint tuxpaint-config libreoffice

Create User Account

  1. customize default user to your liking, create a new user or use the account created during install
  2. execute the following commands remember to enter a log message after hg commit. If you make changes to your user update the template by running hg addremove and hg commit again
    hg init
    hg addremove
    hg --config ui.username=foo commit
  3. Create the session script in /scripts/custom_session.sh
    /scripts/custom_session.sh
    #!/bin/sh
     
    cd ~
    hg revert --all
    hg --config extensions.purge= purge 
    startxfce4
  4. Create a new login session by creating /usr/share/xsessions/custom_session.desktop
    /usr/share/xsessions/custom_session.desktop
    [Desktop Entry]
    Version=1.0
    Name=School Session
    Comment=Use this session to run Xubuntu as your desktop environment
    Exec=/scripts/custom_session.sh
    Icon=
    Type=Application
  5. You now can select School Session from the login manager and it will revert your home directory to the state it was the last time hg commit was run

Other Recommendations

  • add a startup application script to start chrome at a google login page
    /scripts/chrome_login.sh
    #!/bin/sh
     
    google-chrome "http://g.sebeka.k12.mn.us"
  • you can remove the Application menus from the panel and desktop menu
  • sub pixel hinting is not enabled by default, enable to enhance font rendering on LCD displays
  • mercurial will delete empty directories on purge, run “touch .desktop” to create a empty hidden file
  • you can remove a password from a user by running, be sure to enable the root user if you only have one user
    passwd -d <USERNAME>
  • mercurial stores the home directory template in ~/.hg

Tuxpaint

  • tuxpaint uses lpr for printing so ${PRINTER} must be set, use lpstat -p to see a list of printers
  • use tuxpaint config to set tuxpaint options

Prevent Shutdown and Restart from Logout Menu (Optional)

/etc/xdg/xfce4/kiosk/kioskrc
[xfce4-panel]
CustomizePanel=NONE
 
[xfce4-session]
CustomizeSplash=NONE
CustomizeChooser=NONE
CustomizeLogout=NONE
CustomizeCompatibility=NONE
Shutdown=NONE
CustomizeSecurity=NONE
 
[xfdesktop]
UserMenu=NONE
CustomizeBackdrop=NONE
CustomizeDesktopMenu=NONE
CustomizeWindowlist=NONE
CustomizeDesktopIcons=NONE

Lock Down Xfce Panels (Optional)

/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
<?xml version="1.0" encoding="UTF-8"?>
 
<channel name="xfce4-panel" version="1.0" locked="*" unlocked="root">
  <property name="panels" type="uint" value="1">
    <property name="panel-0" type="empty">
      <property name="position" type="string" value="p=8;x=640;y=787"/>
      <property name="length" type="uint" value="100"/>
      <property name="position-locked" type="bool" value="true"/>
      <property name="plugin-ids" type="array">
        <value type="int" value="10"/>
        <value type="int" value="9"/>
        <value type="int" value="11"/>
        <value type="int" value="8"/>
        <value type="int" value="2"/>
        <value type="int" value="3"/>
        <value type="int" value="4"/>
        <value type="int" value="5"/>
        <value type="int" value="6"/>
        <value type="int" value="7"/>
        <value type="int" value="13"/>
        <value type="int" value="12"/>
      </property>
      <property name="background-style" type="uint" value="1"/>
      <property name="background-alpha" type="uint" value="0"/>
      <property name="size" type="uint" value="30"/>
      <property name="autohide" type="bool" value="false"/>
      <property name="length-adjust" type="bool" value="true"/>
      <property name="span-monitors" type="bool" value="false"/>
      <property name="enter-opacity" type="uint" value="100"/>
      <property name="leave-opacity" type="uint" value="100"/>
      <property name="mode" type="uint" value="0"/>
      <property name="background-color" type="array">
        <value type="uint" value="60909"/>
        <value type="uint" value="60909"/>
        <value type="uint" value="60909"/>
        <value type="uint" value="65535"/>
      </property>
    </property>
  </property>
  <property name="plugins" type="empty">
    <property name="plugin-2" type="string" value="tasklist">
      <property name="flat-buttons" type="bool" value="true"/>
    </property>
    <property name="plugin-3" type="string" value="separator">
      <property name="style" type="uint" value="0"/>
      <property name="expand" type="bool" value="true"/>
    </property>
    <property name="plugin-4" type="string" value="systray">
      <property name="show-frame" type="bool" value="false"/>
      <property name="size-max" type="uint" value="22"/>
      <property name="names-visible" type="array">
        <value type="string" value="networkmanager applet"/>
        <value type="string" value="xfce4-power-manager"/>
        <value type="string" value="blueman-applet"/>
        <value type="string" value="ibus panel"/>
      </property>
    </property>
    <property name="plugin-5" type="string" value="indicator">
      <property name="blacklist" type="array">
        <value type="string" value="libappmenu.so"/>
      </property>
      <property name="known-indicators" type="array">
        <value type="string" value="libapplication.so"/>
        <value type="string" value="com.canonical.indicator.power"/>
        <value type="string" value="com.canonical.indicator.messages"/>
        <value type="string" value="com.canonical.indicator.sound"/>
      </property>
    </property>
    <property name="plugin-6" type="string" value="separator">
      <property name="style" type="uint" value="0"/>
      <property name="expand" type="bool" value="false"/>
    </property>
    <property name="plugin-7" type="string" value="clock">
      <property name="digital-format" type="string" value="%d %b, %H:%M"/>
    </property>
    <property name="plugin-8" type="string" value="launcher">
      <property name="items" type="array">
        <value type="string" value="13969814161.desktop"/>
      </property>
    </property>
    <property name="plugin-10" type="string" value="launcher">
      <property name="items" type="array">
        <value type="string" value="13969816452.desktop"/>
      </property>
    </property>
    <property name="plugin-9" type="string" value="launcher">
      <property name="items" type="array">
        <value type="string" value="13969827831.desktop"/>
      </property>
    </property>
    <property name="plugin-11" type="string" value="launcher">
      <property name="items" type="array">
        <value type="string" value="13969827942.desktop"/>
      </property>
    </property>
    <property name="plugin-12" type="string" value="actions">
      <property name="appearance" type="uint" value="0"/>
      <property name="items" type="array">
        <value type="string" value="-lock-screen"/>
        <value type="string" value="-switch-user"/>
        <value type="string" value="-separator"/>
        <value type="string" value="-suspend"/>
        <value type="string" value="-hibernate"/>
        <value type="string" value="-separator"/>
        <value type="string" value="-shutdown"/>
        <value type="string" value="-restart"/>
        <value type="string" value="-separator"/>
        <value type="string" value="+logout"/>
        <value type="string" value="-logout-dialog"/>
      </property>
    </property>
    <property name="plugin-13" type="string" value="separator">
      <property name="style" type="uint" value="1"/>
    </property>
  </property>
  <property name="configver" type="int" value="2"/>
</channel>

Tux Paint Printing

  1. Get a list of printers by using
    lpstat -a
  2. set the PRINTER varibile in ${HOME}/.config/xfce/xinitrc
  3. e. g.
    export PRINTER="rm217ptr"
ubuntu/xfce_desktop.txt · Last modified: 2014/04/17 11:35 by tschulz