inside the mind of a linux admin

ScreenCloud: Troubleshooting missing Python modules after updates

One of my favorite tools that I find myself using quite often is called “ScreenCloud“. It allows you to quickly select any area of your workspace, create an sized screen shot, and then upload it or export it off to their server, your Dropbox account or an SFTP server.

If you’ve recently performed upgrades, either to Ubuntu >16.x or Fedora >21 or the latest version of ScreenCloud, you may be experiencing the same pain that I just endured when launching the application.

In my case, this particular error relates to the SFTP plugin inside of ScreenCloud which automatically uses secure FTP to upload your screenshots to a remote server.

Traceback (most recent call last):
File "", line 1, in
ImportError: No module named 'Screencloud'

First, kill any running instances, remove any custom repositories you may have installed it from and then completely remove the screencloud application.

In Ubuntu/Mint:

sudo killall -9 screencloud
sudo rm -vf /etc/apt/sources.list.d/screencloud*
apt-get remove screencloud -y

In Fedora:

sudo killall -9 screencloud
sudo rm -vf /etc/yum.repos.d/screencloud*
yum remove screencloud -y

Now, remove its associated local plugins (sftp, dropbox, etc). These are easily attainable again via the application or GitHub.

rm -rf ~/.local/share/data/screencloud/ScreenCloud/plugins/

Next, we need to place the ScreenCloud.py module in a directory that is actually included in the search paths for the application. This varies depending on systems and versions.

You can find a list of the paths within the ScreenCloud application, by opening “Preferences” and pressing CTRL+D (debug mode) and typing the following into the debug CLI:

py> import sys
py> print sys.path

In my case, ~/.local/share/data/screencloud/ScreenCloud/screencloud/modules was part of the path and the directory did not exist, so I simply created it and rsync’d the file over:

mkdir -p ~/.local/share/data/screencloud/ScreenCloud/screencloud/modules

cp -f /usr/share/screencloud/modules/ScreenCloud.py ~/.local/share/data/screencloud/ScreenCloud/screencloud/modules

Now, try to run the application again.

Did it work? Great!

No? If you received an error such as this:

from Crypto.PublicKey import DSA
ImportError: No module named Crypto.PublicKey

Make sure you have the latest Crypto and PyCrypto modules installed:

sudo pip install crypto pycrypto --upgrade

Copy over the Crypto module from your system’s distribution package into a path that screencloud is configured to look in.

You can find a list of the paths within the ScreenCloud application, by opening “Preferences” and pressing CTRL+D (debug mode) and typing the following into the debug CLI:

py> import sys
py> print sys.path

And again I simply rsync’d the entire Crypto/ module’s directory over to it one of the included paths. Note: Debian based systems like Ubuntu use different system paths for Python packages than RedHat based systems. Note the differences below and know your system’s layout before running commands.

In Ubuntu/Mint:

sudo rsync -avz /usr/lib/python2.7/dist-packages/Crypto ~/.local/share/screencloud/modules/

In Fedora:

sudo rsync -avz /usr/lib64/python2.7/site-packages/Crypto ~/.local/share/data/screencloud/ScreenCloud/screencloud/modules/

I hope this helps save someone else some time and frustration!

Related Posts

Touchpad stops working after sleep + resume (Fedora 26 on Dell XPS)

After recently upgrading my Dell XPS 13 w/Touchscreen to Fedora 26, the touchpad suddenly stopped working upon resuming from sleep mode. It was reproduced 100% of the time, and required a complete restart in order to get the touchpad working again. There have been several forum posts and bug reports regarding others experiencing these exact […]

Read More

Fun with fsck on Fedora – avoiding mounted partitions and handling LUKS encrypted ones

I run Fedora on a few of my machines, and inevitably over the course of time the filesystem will need to be repaired because of orphaned inodes, wrong free byte counts, etc. Typically when EXT4 errors are detected during boot, Fedora will detect this and offer to drop you into “Emergency mode” or continue. example: […]

Read More

Leave a Reply

Your email address will not be published. Required fields are marked *

Twitter: kireguy

Tweeter button Facebook button Myspace button