Debian10 でScreenlets

[再掲] Screenletsのようなガジェットは、セキュリティリスクが多分にあって全く推奨できず、標準パッケージはもはや存在しないが、閉塞的な開発PCや仮想マシンでの限定的な用途であれば問題無いであろう、たぶん。


やり方はここと同じノリだが、やはり一筋縄でななかった。
やった後で気付いたのだが、単に、stretchのリポジトリを指定してインストールすればよかった気もするが、試していない。

apt install python-cairo python-gtk2 libwnck22 libwnck-common python-gobject-2 python-tz python-dbus python-xdg gnome-icon-theme
apt install python-gconf  ## GNOMEを使う場合は必要みたい
wget http://ftp.debian.org/debian/pool/main/g/gnome-python-desktop/python-wnck_2.32.0+dfsg-3_amd64.deb
wget http://ftp.debian.org/debian/pool/main/g/gnome-python-desktop/python-rsvg_2.32.0+dfsg-3_amd64.deb
wget http://ftp.debian.org/debian/pool/main/b/beautifulsoup/python-beautifulsoup_3.2.1-1_all.deb
sudo dpkg -i *.deb

## 必要に応じて
sudo apt --fix-broken install

## 以下、UbuntuとDebianで、ScreenletsのPythonコンテンツの対応とフォルダ構成が
## わずかに異なる。過去の資産に合わせて対応すると良い。

## Ubuntu派:screenletsをlaunchpadから入手
wget https://launchpad.net/screenlets/trunk/0.1.7/+download/screenlets-0.1.7.tar.bz2
tar xaf screenlets-0.1.7.tar.bz2
cd screenlets-0.1.7/
sudo make install  ## エラー出るけど無視

## Debian派:screenletsを http://ftp.debian.org/debian/pool/main/s/screenlets/ から入手
wget http://ftp.debian.org/debian/pool/main/s/screenlets/screenlets_0.1.2-8.1.diff.gz
wget http://ftp.debian.org/debian/pool/main/s/screenlets/screenlets_0.1.2.orig.tar.gz
gunzip -d screenlets_0.1.2-8.1.diff.gz
tar xaf screenlets_0.1.2.orig.tar.gz
cd screenlets
patch -p1 < ../screenlets_0.1.2-8.1.diff 
sudo make install  ## エラー出るけど無視

## シンボリックリンクの処置
cd /usr/share/icons
ln -s hicolor/scalable/apps/screenlets-tray.svg 
ln -s hicolor/scalable/apps/screenlets.svg 
ln -s /usr/lib/python2.7/site-packages/screenlets /usr/lib/python2.7/dist-packages/screenlets

## Screenletsのコンテンツにこれまでのコレクションを適用する場合
scp -r <Screenletsが稼働しているPC>:/usr/share/screenlets /tmp
# root権限で
mv /tmp/screenlets /usr/share
chown -R root:root /usr/share/screenlets

## Screenletsの設定を引き継ぐ場合
## Ubuntu派はSが小文字:
cd $HOME/.config/screenlets
scp -r <Screenletsが稼働しているPC>:/home/<user>/.config/screenlets/* .
## Debian派はSが大文字:
cd $HOME/.config/Screenlets
scp -r <Screenletsが稼働しているPC>:/home/<user>/.config/Screenlets/* .


Screenletsウィジェットをマウスで移動できないときの処置:
GNOME環境ではこの処置が必要だが、Cinammon, MATE, XFCE環境では不要(やってもいい)。処置する場合、インストール前のソース __init__.py またはインストール後の/usr/lib/python2.7/site-packages/screenlets/__init__.py を、ここにある内容となるように編集する。
つまり、
 NG: self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)
 OK: self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_UTILITY)