Safely Removing Gnome-Keyring From Xubuntu 12.04

EDIT: Your results may vary, I am getting some feedback about this solution indicating which it may not be entirely effective, or may not work any more.

In previous Linux deployments, we have had problems with people’s keyring passwords being forgotten or not working, to the point where the universal response if you ask anyone what to do when the Gnome Keyring prompt comes up, it’s “oh, just hit cancel”.

In the latest image, we have decided to remove gnome-keyring.  You would think you would be able to do this very easily.

sudo apt-get remove gnome-keyring

But in reality, this command is dangerous, and threatens to remove xubuntu-desktop.

So, I did a bit of Googling, and I found this thread on Ask Ubuntu. They suggested installing aptitude and using aptitude to remove gnome-keyring, because they believe aptitude’s dependency tree is different.  However, this solution does not seem to work.

After doing some of my own digging, I found that under “Session and Startup” settings, there is an option called “Launch GNOME services on startup” listed under Compatibility.

GNOME Compatibility XFCE

Mousing over this option shows that disabling it will prevent Gnome Keyring from launching.  This will do away with our Gnome Keyring for good!

User Tracking and Logon Agents

We believe that tracking when users log into a computer is very good information.  We can easily look up where students log in, track computer usage, aid with helpdesk tasks, etc.  Our primary focus was to show that computer labs and carts are being used, and justify the 1:1 initiative we set forth.

This is was not a difficult task to setup but could be useful to others, so here it is!

First we need a good way to get data from the clients.  With Linux, we could do it a multitude of ways, with windows, it can be a bit limited.  We chose to do our data submission with a simple URL get.  Simple, easy, fast, reliable.  With some reading, it wasn’t too difficult to setup with Windows.

First… Server recording
We need a simple script to take variables and insert them into mysql with the needed information. Really all we need is the computer name and username.  We can use the server time and get the client’s IP from the server so that we know it is consistent.  Here is the server script:

MySQL Database Structure
Using the server side script we can see who the IP was of the user submitting the record, time stamp that event, see who the user is, and what the hostname of the computer is.
loa

Linux Logon Agent
The Linux logon agent could be written many different ways using several programs; curl, wget, lynx, etc.  Simply put it needs to pull two variables and curl that URL…  This needs to be put in the users (and/or skel’s) startup so that it runs at logon   This could be done in a single command like:

Windows Logon Agent
Unfortunately windows does not have awesome tools like wget, curl, lynx, etc so it is a bit more in-depth to get it working.  However it is easier to deploy using group policy on the server, you can deploy this script pretty easily. Put this script in the User Logon scripts:

Searching For Data!
This is a simple search web tool we created to locate user/computer/IP history.

Its complimentary style.css:

Custom Reports…
Once you have this information you should be able to run reports however you see fit.  We have created a highly custom report for our use which is specific to our school that shows computer usage.  That code is not ready to be posted at this time however here is a glimpse of what could be done.  Please note that ltcart1,2204, and 2506 have been physically relocated to other rooms but because database entries exists, they show up as 0.
report

With this report we can see that with 30 calendar days, there have been 22 instructional days.  This shows that these rooms are using computers almost every day!

 

Receiving RSS Updates Via Email

Rss_Shiny_Icon.svg

If you’re like me, you rely on your email for everything in your life.  My email delivers my latest Facebook notifications, Nagios warnings, text messages (thanks to Google Voice), and oh I guess email too.

I have push email notifications on my mobile devices, as do a lot of people.

Some websites offer RSS feeds of information which is important to you, but don’t offer an option to receive an email.

Yes, you could set this up for any RSS feed, but this quick guide will focus on setting up email notifications for Reddit comment responses and Reddit messages.

Another interesting application for this might be to receive emails when your favorite Podcasts are updated, or if you want to get an email when your favorite blog posts a new update.

Reddit is a very real-time social website, and having instant notifications of events on Reddit could be very useful, however since Reddit doesn’t even require an email address to register, they’re not offering the functionality.

 

What You’ll Need:

  • An RSS feed to subscribe to.
  • An email address to send the notifications to.
  • A Linux server which is always online, which you can create cron jobs on.

 

Let’s Begin
This is the only part of this guide which requires root access to the server.  We will be using RSS2Email, which is a free program available for Linux.  If you are using Ubuntu, it is right in the repositories for you.

If you do not have root access to your server, but you do have SSH access, it may still be possible to use this program if you compile it yourself.  You can get the source code here.

 

Setting Up RSS2Email
The setup is mind-numbingly easy!  If your email address is you@example.com, and your RSS feed link is http://www.reddit.com/message/inbox/.rss?feed=123foo456bar789&user=MyAwesomeUsername, you could use this syntax to set up your feed.

Important: Reddit RSS feeds for your Inbox, etc, have an ampersand (&) before your username.  If you do not escape this ampersand by putting a slash in front of it (\&) your feed will not work!

On The First Run, you may receive a high volume of email.  In fact, it was enough to cause my sendmail server to exceed its rate limit and throw a ton of email to the deferred queue.  But, it did eventually all send.  A lot of the first emails will be old RSS data you have already seen before.  After that, on subsequent runs, you will only receive updates.

 

Where Can I Find My Reddit Inbox Feed Link?
If you login to Reddit, and go to Preferences, you’ll find an “RSS Feeds” on the top of the page.  The direct link is https://ssl.reddit.com/prefs/feeds/.

 

Using RSS2Email
You can very easily add and delete feeds from your R2E configuration.

Add new feeds the same way you added the first one:  r2e add http://www.feedwebsite.com/feed

Delete old feeds by running r2e list, then r2e delete # where # is the number corresponding to the feed you want to delete.

 

Scheduling RSS2Email
Obviously, you will only receive updates when r2e is run manually.  So, an easy way to receive routine updates is to cron the command.

To receive updates every 10 minutes, add a line like this to your crontab.

To receive updates every 1 minute, add a line like this to your crontab.

 

You’re Done!
You should now receive emails at your designated time intervals when the RSS feed has new updates!

Web filter testing…

We have been having filtering issues at work.  The only pattern I can see is that upon heavy Internet use (40+Mb) the filtering services have a hard time keeping up.  The problem is that Internet usage is impossible to predict so calling support and trying to reproduce the problem is nearly impossible.  Assuming I can get through at the time it is happening, by the time I update the support personnel on the other end of the phone, it usually starts working again.

Instead of fighting this problem further I came up with a quick script to see how often it really isn’t working, and record my results.

A script that loops though and hits a blocked page every ‘X’ seconds and then parses the HTML results to see if the redirect or block page was served.  This should show my reliability of our web filter during the day without detrimenting any network performance.  I whipped together a quick and dirty script with some functions from my other scripts.  It should do the trick.

We will start recording the results and see what else we can find out.  If the amount of data we are inserting is too much, maybe insert results into MySQL is in order, but we will see what we find first.

Cheap spectrum analysis for wireless

When I was going through college for networking I learned to hate wireless.  I had come to learn that it was insecure, unreliable, unpredictable, and difficult to troubleshoot.  I got into a job I love and then the wireless era began.  We are now implemented hundreds of new wireless network devices a year.  We have built out our infrastructure with a lot of time and planning and so far have been quite successful.  We use primarily Cisco equipment with some Ubiquiti back-hauls for some of our outdoor setups.  Cisco provides some very basic spectrum information, for someone who has done some in-depth work with wireless and Cisco this is enough information.  It doesn’t seem to provide any visual representation of the network which can be had to explain to upper management.  Spectrum analyzers can be thousands of dollars and for what we are doing we don’t need something that granular.  We need something to tell use when channels are overloaded/consumed with interference and if antenna’s are aligned properly during setup.

We bought a few Ubiquiti bridges a while back and noticed the AirOS product line has a built in spectrum analysis.  This is handy when selecting channels as it ensures you are not selecting a channel already in use.  We have been watching Ubiquiti for some time now and when we started running into some issues with our client wireless access I went out and bought a Ubiquiti Bullet M5 and an M2.  I think total for the both I paid about $140 (includes adapters and some antennas I had lying around).  As you might guess the M2 runs off of the 2.4Ghz spectrum and the M5 runs off the 5.8Ghz spectrum.  With the Bullets, a switch, and a windows laptop/netbook and power source we can easily run up and diagnose a problem.  This setup is also very mobile and could be brought out into the field to be worked on (barring a power source of course).

At this point in time I have been unsuccessful in getting the spectrum analysis software working in anything other than windows.

I am going to assume you can get the default information for the Ubiquiti Bullet and login.  My bullet is completely stock, no configuration needed to do what I will show you.  After logging in you get some beautiful throughput graphs and other good troubleshooting information.  There is also a drop down menu near the logout button which provides you with an AirView option.  AirView is the spectrum analyzer software.

Screenshot - 02092013 - 01:15:35 PM

Airview is a Java Network Launch Protocol application which obviously requires Java.  The analyzer in my virtual machine runs about 9 frames a second and shows pretty close to real time the actual spectrum.  Here is a 2.4Ghz snapshot of my work where our 2.4Ghz spectrum is very overloaded. Sadly this is with only a few clients in the area.

 

Screenshot - 02092013 - 01:54:43 PM

The top visual: Waterfall ViewThis is a good representation of channel utilization over time.  You can clearly see if a client is connected and on what channel.

The middle visual: Waveform View
This is a good visual of how often you get a signal at a certain power or signal strength.

The bottom view:  Real-time View
This is good for seeing what is happening right this second compared to the average and maximum power levels recorded.  After letting this run for a few minutes you can compare spikes and hopefully identify any problems.

I plan on using these to make future recommendations to clients and potential trend information over a period of time.  This could help identify possible interferers that could be as simple and intermittent as a microwave.  These pictures will be invaluable when trying to explain to upper management how or why we are having problems, and what should be done to correct it.