Wednesday, July 29, 2009

Install CmapTools in chroot for LocalApp

This is a big accomplishment. Thanks to Ahmuck, ace_suares, mhall119|work and ogra, not to mention Tom Marble and 1 blog on the internet that I already lost track of. Here are the directions to install CmapTools on a chroot so that it works as a local app.

(First, move the .bin file to chroot root: /opt/ltsp/i386/ then make a directory there at /opt/ltsp/i386/IHMC_CmapTools.  My permissions for that directory are 777)

Make X session work, type in terminal:
  1. xhost +
  2. sudo su
  3. export DISPLAY=:0
Then to make it work for root, too.
  1. This needs to be installed where the root that will be running the shell script is located--the root in the chroot. Use this, still as root)
  2. cp /home/dgroos/.Xauthority /opt/ltsp/i386/root
  3. cp /home/dgroos/.Xauthority ~/
  4. exit (gets you out of the root account--this is important!)
Now you have to do some stuff to be able to install it in chroot--this is dangerous magic...



  1. sudo mount -t proc proc /opt/ltsp/i386/proc
    sudo mount --bind /tmp /opt/ltsp/i386/tmp
    sudo mount --bind /dev /opt/ltsp/i386/dev
    sudo mount --bind /home /opt/ltsp/i386/home
    sudo cp /opt/ltsp/i386/etc/passwd /opt/ltsp/i386/etc/passwd.bak
    sudo cp /opt/ltsp/i386/etc/group /opt/ltsp/i386/etc/group.bak
    sudo cp /etc/passwd /etc/group /opt/ltsp/i386/etc
    sudo chroot /opt/ltsp/i386/ su $SUDO_USER



and now you will be able to X-session in the chroot to hearts content. To install cmaptools I had already (before starting any command on this page) moved the cmaptools bin file into the chroot root folder (but can be done afterwards as well). So, I cd'ed into that folder and ran this command to initiate the install script: sh LinuxCmapTools_v5.03_04-07-09.bin. It launched the graphical user interface, I selected the "advanced" install and when it got to the page asking where to install it I typed in: /usr/lib/IHMC_CmapTools which remember is from the chroot's perspective. I also assigned the logs to go into /var/logs or something, but maybe that was wrong--I'll find out.

MAKE SURE YOU DO THIS WHEN YOU ARE DONE INSTALLING--DON'T FORGET.



  1. exit (in other words, you've got to get out of being the root user)
    sudo mv /opt/ltsp/i386/etc/passwd.bak /opt/ltsp/i386/etc/passwd
    sudo mv /opt/ltsp/i386/etc/group.bak /opt/ltsp/i386/etc/group
    sudo umount /opt/ltsp/i386/home
    sudo umount /opt/ltsp/i386/dev
    sudo umount /opt/ltsp/i386/tmp
    sudo umount /opt/ltsp/i386/proc
    



Cool, Ay?

Finally, I added both CmapTools and /usr/lib/IHMC_CmapTools/bin/CmapTools in the lts.conf file with sudo gedit /var/lib/tftpboot/ltsp/i386/lts.conf. Finally, I rebuilt the image with sudo ltsp-update-image to get those changes I had done into the image that gets loaded into the thin client at boot time.

Next step is to get it to boot as a local app!
And typing this into terminal did it...
  • ltsp-localapps /usr/lib/IHMC_CmapTools/bin/CmapTools
or... put this in for the command in a launcher' properties:
  • xprop -root -f LTSP_COMMAND 8s -set LTSP_COMMAND "sh /usr/lib/IHMC_CmapTools/bin/CmapTools"

:)

Here were install options as shown in install log:
User Interactions
-----------------


#Installation Type
#-----------------
CHOSEN_FEATURE_LIST=Advance,Applica
CHOSEN_INSTALL_FEATURE_LIST=Advance,Applica
CHOSEN_INSTALL_SET=Advanced

#Choose Install Folder
#---------------------
USER_INSTALL_DIR=/usr/lib/IHMC_CmapTools

#Choose Link Folder
#------------------
USER_SHORTCUTS=Do_Not_Install

#Configuration
#-------------
AUTOMATIC=0
ONDEMAND=1
KEEP_USERIDS=1
DELETE_USERIDS=0
USER_PROFILE=
USER_MYCMAPS=
AUTO_RECORDER=1
NO_AUTO_RECORDER=0
STOP_RECORDER=1
NO_STOP_RECORDER=0
pki.enable=false
pki.enable_1=
pki.enable_2=No
pki.enable_BOOLEAN_1=0
pki.enable_BOOLEAN_2=1
LOGS=1
NO_LOGS=0
LOGS_PATH=%h/CmapToolsLogs
LOGS_PREFIX=CmapTools
LOGS_SIZE=5242880
LOGS_NO=3



Did get this error at very bottom of log (non-fatal):
Status: ERROR
                          Additional Notes: ERROR - java.lang.NullPointerException

Wednesday, July 22, 2009

Trevor at work


The first job Trevor had this summer was to make the server you see here in my basement available over the internet so that people could work on it from afar.  I had gotten a permanent ip address from Qwest for this purpose.  Their tech people and web help pages were un-helpful and even discouraging--they said that I couldn't use the IP address for a web/ssh server. They were proven wrong by Trevor who did some port forwarding and now the server, which is on my home LAN, can be accessed via the internet.  Trevor's giving a break to his back in this picture--ergonomics not quite what they ought to be :-)

Sunday, July 12, 2009

Meeting with Professor Paul and Trevor

As the summer wore on, so did the hours spent in front of the computer. Sure there was progress but extrapolating its trajectory wasn't encouraging. I knew I really needed Linux help... This is not to say that I hadn't been receiving tons of great help from the #edubuntu irc, edubuntu user and devel lists, nonetheless I needed something more.

I e-mail Paul Imbretson, a professor at the University of Minnesota to ask for ideas or support for the server setup, suggesting that perhaps he knew a U of M student who might be interested in a service learning project... I got Professor Imbretson's name from Haftom, someone I had met at a Teknie event. Long story shorter. I heard about their cool partnership with North HS Angela and her science class' partnership with a town in Nigeria where they are working on building relationships--and wind power. It ended with Trevor and I creating a quick google doc to organize and help coordinate our work. It has a grid of tasks to be done with related columns. It also has a log at the bottom to record efforts. This was hugely encouraging!

Saturday, July 11, 2009

GCoS PD--Day 3

  1. We looked at Eddie's Standards web. It doesn't have the connecting phrased between the bubbles--just connecting lines--it isn't a concept map, instead it's a 'web'. In contrasting the colored bubbles with the blank background bubbles at the back, we discussed what words to use in these questions. We concluded that, by avoiding jargon (science vocabulary words) these maps of the standards can server as guides to students (and families) before studying a unit. In other words, a student can often get an idea of what they will be studying before having studied--not possible with the regularly worded standards. Here is how his web looked when he brought it in. I'll repost in a while when he has further-improved them.
  2. Luckily, there is an instructional framework which one can use to grow a community of (novice) scientists: Progressive Inquiry. I introduced it with the help of this diagram which comes from this page, and overview of many of the ideas I've presented are on that page, with links to further pages. Lots of great work about knowledge building in science classroom comes from this research group.
  3. I then introduced a software tool called FLE3 which scaffolds knowledge building in a classroom. This is a tool that has a fairly steep learning curve, so Eddie had the idea of making poster-sized printout of each of the pages students encounter, posting them in the classroom, making them ever-present and available for public reference as needed.
  4. "To teach with a tool we need to be users of the tool." This statement is a general principle of GCoS classrooms. We are starting a FLE3 knowledge building discussion with the context (note we are using a question): What does a classroom community of novice, KB scientists act, look and sound like? We've posted some sub-questions (threads) such as: 1. What specific student behaviors are we looking for? (James); 2. What does KB mean? (Eddie); 3. What is the role of questions in a KB community? (me); 4. "Experimenting".
  5. We learned about using FLE3. Numbers 6-8 below show some of the significant ideas we had...
  6. ... Start a Context (Unit of study?) with an essential-type question. It provides a rallying point around which one can assess if one is addressing the topic... or not.
  7. ... The very first time a class uses FLE3 the first thread ought to be one in which users can experiment with the FLE3 tool. Thus the thread mentioned above, "Experimenting". In this thread, users would not need to use any of their attention thinking about questions, answers, knowledge types, etc, but instead ask, 'what does this button do?', 'how do you get to this screen?', etc. Providing a space like this in the first (maybe second also?) context will decrease ineffective posts in the rest of the content-oriented threads.
  8. ... At the VERY first interaction students have with FLE3, I'd copy one from a previous year, add a generic student account and allow students to enter this copy of the FLE3 and explore it--seeing how it was used.
Our homework for the next meeting is to use the FLE3 from our home and build some knowledge about GCoS.

GCoS PD--Day 2

  1. We started by looking at Eddie's concept map of his 'values, mission and goals'. Our talk was split between the map and the use of the software, CmapTools. Considering that Eddie's been using CmapTools for over a year now and I've used it for better than 3, it's interesting to note that there's still much to refine in our practice.
  2. When James arrived we continued the discussion of developing scientific habits of mind. (Here's a map of some. Please don't be dismayed with the security warnings your browser will give when trying to see this map--we have not yet purchased one of those, 'security certificates' which causes the browser to not give these security warnings.)
  3. This was intertwined with our talk of Knowledge Building epistemology. I commented that a metaphor that comes to my mind when I think of knowledge building was a circle of people batting a beach ball around, each person adding their own spin to the 'knowledge object', seeking to improve it with each interaction. I said that this metaphor breaks down when you consider that the beach ball (ie the knowledge object) doesn't really change in important ways.
  4. Then Eddie came up with the idea that you could do this activity in class but each person would add a sticky note with one of his/her values written on it! That was cool! We batted this idea around a bit more, each improving the idea. Here's the final state of this knowledge object (class activity): Each person gets a piece of masking tape, writes what he/she would like to propose as a shared value for our class, and as the beach ball bounces between all class members, slaps it on the ball, improving the object. After this, as a class we would analyze the entries (the second half of this post) on the ball and decide which ones we wanted for our community.
  5. We practiced collaborative editing of concept maps. As we did this we discussed values and accomanying norms that follow from them while synchronously editing maps. James changed something on Eddies map of his values/mission/goals and we came up with the idea that one ought to be sensitive when changing another person's ideas! I shared ideas of the layout of bubbles on a concept map as I re-arranged the layout of Eddies map, though not changing what was written nor where the links were attached. Some of the principles of layout are: Group Clusters and have some white space around them, aim for palmate structure and not serial or 'chain' structure, avoid crossing lines...
  6. Thinking about the tools we had to master as well as teach our students (ie novice scientists) to master, Eddie mentioned the need for a basic set of instructional flow maps, such as this one, that would tell how to use these tools. I need to identify this set of basic instructions...
  7. Our homework was to create kid-friendly webs of the MN state science standards, converting each sub-standard into jargon-less questions such as this one on the nature of science that I made when I taught 8th grade.

Monday, July 06, 2009

GCoS PD--Day 1

We're getting together for some professional development. I'm leading, we're all learning (creating knowledge in our community)
  1. A major goal for this day was to initiate software tools-- joining and getting proper access to the GCoS site, this coming year's Class site, FLE3 and CmapTools on the CmapServer. This process was time consuming and a bit bumpy but also was successful.
  2. A second major goal was to do the "epistemological discussion". Numbers 3-8 are the points covered in this discussion. I argued...
  3. ... That theories/models (such as Dalton's theory of the atom or constructivism) do NOT tell how the real thing works, just like the map isn't the territory.
  4. ... That as our theories/models/maps develop they don't become ever-more accurate descriptions of 'reality'. Not everyone agreed with this. I asserted that these theories/models become more successful at solving the problems we care about, using the tools and 'habits of mind' available to the community.
  5. ... That, for many (hundreds?) of years, at least in the western world, we've consider the mind like a container and knowledge as a thing to acquire: the "Mind as Metaphor" and "Acquisition Metaphor of learning". Both traditional "Transmitter-Receiver" and more modern "Constructivism" models of learning are within the Acquisition Metaphor of Learning.
  6. ... That in the last 20 some years another model of learning has been/is being developed that looks at learning differently. That it sees learning as 'authentic participation' in a community of practitioners such as plumbers or scientists. Knowledge in this view is not a thing, but an action w/in a community. This model has gained great favor these last years.
  7. ... That there has been a great argument between these 2 camps, the acquisition and participation groups. It has been somewhat resolved by accepting the, 'map isn't the territory' arguement. That, each metaphor or model of learning is useful to solve particular educational problem--of course neither handles all challengers.
  8. ... That more metaphors have been created that can be grouped together and called a, 'Knowledge Creation" metaphor. This theory of learning subsumes the acquisition and participation models. The version of this metaphor that I'm using as my main framework for Growing Communities of Scientists is the "Knowledge Building" model. Note, this Wikipedia article is becoming less useful and more ideological over time but it is an introduction.
  9. Finally, we ending on talking about developing community values. We briefly looked at the AAAS site which shows Benchmarks--we looked at chapter 12, "Habits of Mind". Our homework was to make a concept map on the shared server of our values, goals and mission and then too read chapter 12, at the high school level, and start to consider a concept map showing shared values, attitudes and beliefs of the scientist community.
All in all, we got a lot done, did tons of talking/sense-making in the 3+ hours we were together. Yes, I was more than satisfied :)

Saturday, July 04, 2009

Setting up a GCoS Edubuntu thin client server

The GCoS Edubuntu Server needs a variety of capabilities. The following lists them . If you see ** at the start of the line, it shows that capability set up.
  1. **Run Edubuntu on Jaunty Jackalope (9.0.4).
  2. **Use the built-in thin client server--LTSP 5.
  3. Use Gnome Watchdog to auto kill stale processes.
  4. Use the LocalApps solution for the following programs: Firefox 3.5, CmapTools, JRE, JVM, OpenOffice Suite.
  5. Use Webmin for management of server. It is necessary to install and change port number from 10000 to something like... PSM, before installing and configuring iTALC which also wants to use this port.
  6. An effective replacement for the standard, "Users and Groups" system application.
  7. Remote Desktop solution using NoMachine's NX Free Edition For Linux --DEB
  8. Management of thin client machines with iTALC.
  9. Management of users desktop environments with Sabayon (currently in Jaunty Beta)
  10. Easy to use software to view user's Firefox 'histories'. The presence of an effective accountability system proactively discourages abuses.
  11. Setup printers on local LAN.
The district has agreed to install or to consider to install the following capabilities:
  1. Squid Proxy
  2. SquidGuard to manage user internet capabilities. level1, level2, level3
  3. LDAP integration with district AD.
Firefox details:
  1. Java apps such as at the phet site, need to work well.
  2. Flash content needs to work well.
  3. Quicktime content needs to work well.
  4. Firefox management program would be great--control things like not allowing students to erase history, change proxy settings, etc. It would be awesome to tie in this management system with the level1, level2, level3 permission management system.
Additional Resources
  1. Edubuntu users mailing list archives
  2. Edubuntu developers mailing list archives
  3. Re-building the chroot
  4. Curent LTSP on line admin reference guide
  5. Ubuntu documentation on LTSP --lots of links to other pages, mainly.
  6. LocalApps on Jaunty LTSP--this is a key doc. Refers to related page
  7. LTSP user forums in sourceforge
  8. iTALC site
  9. iTALC on LTSP--pending
  10. Sabayon
  11. Gnome Watchdog
Hardware Description
  1. Servers: 2, dual-core Xeon processors, 2.8 GHz, 3 GB RAM, RAID5, running Ubuntu Jaunty Server edition w/LTSP enabled.
  2. Clients: 2 kinds: Pentium III 933 MHz, at least 384-512 MB RAM, 100 MB NIC/ Pentium IV, 2.4 MHz, 512 MB RAM, 100 NIC.