<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on falkp.no/blog</title>
    <link>/blog/tags/linux/</link>
    <description>falkp.no/blog (Linux)</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
      

      
    

    
    <lastBuildDate>Wed, 01 Apr 2020 00:00:00 +0000</lastBuildDate>
    
    <atom:link href="/blog/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Argos, GNOME Shell extensions</title>
      <link>/blog/posts/argos_gnome_shell_extensions/</link>
      <pubDate>Wed, 01 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>/blog/posts/argos_gnome_shell_extensions/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/p-e-w/argos&#34;&gt;Argos&lt;/a&gt; is a free GNOME version of &lt;a href=&#34;https://github.com/matryer/bitbar&#34;&gt;BitBar&lt;/a&gt;. Both lets you run any script to create an icon in the panel (or Mac OS X Menu Bar). You can see lots of plugins here: &lt;a href=&#34;https://getbitbar.com/&#34;&gt;BitBar plugins&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;renegade-host.png&#34; alt=&#34;One renegade host&#34;&gt;&lt;/p&gt;
&lt;p&gt;This screenshot shows the hosts file, opened from the argos extension. The extension is shown as a notebook icon with the number of unknown entries.&lt;/p&gt;
&lt;p&gt;It complains on forgotten entries in your &lt;code&gt;/etc/hosts&lt;/code&gt; file. See &lt;a href=&#34;https://gitlab.com/larsfp/argos-hosts&#34;&gt;Argos-hosts&lt;/a&gt; for more info.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ZFS on laptop with encrypted /home</title>
      <link>/blog/posts/zfs_encrypted_home/</link>
      <pubDate>Sun, 22 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>/blog/posts/zfs_encrypted_home/</guid>
      <description>&lt;p&gt;With Ubuntu 19.10 it&amp;rsquo;s simple to get a workstation with boot and root on ZFS. But what&amp;rsquo;s missing from the install is encryption. This is how I did it.&lt;/p&gt;
&lt;p&gt;I suggest you first have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;basic zfs knowledge&lt;/li&gt;
&lt;li&gt;good linux knowledge&lt;/li&gt;
&lt;li&gt;no important data on the target system&lt;/li&gt;
&lt;li&gt;more than 4 GB RAM&lt;/li&gt;
&lt;li&gt;SSD or better&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;how-to&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#how-to&#34;&gt;
        #
    &lt;/a&gt;
    How-to
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install Ubuntu as normal, but choose &amp;ldquo;use ZFS&amp;rdquo;. It&amp;rsquo;s marked as experimental, but that&amp;rsquo;s because how Ubuntu uses it may change in later releases. The code it self is solid.&lt;/li&gt;
&lt;li&gt;After install is done, you&amp;rsquo;re left with a bpool and an rpool. I will only focus on encrypting /home/&lt;user&gt;. I&amp;rsquo;ll use username john in this example.&lt;/li&gt;
&lt;li&gt;Your layout will look something like this:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ zfs list -r rpool
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NAME                                               USED  AVAIL     REFER  MOUNTPOINT
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool                                              165G   293G       96K  /
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT                                        18,8G   293G       96K  none
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3                          18,8G   293G     3,92G  /
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/usr                      1,06M   293G       96K  /usr
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/usr/local                 992K   293G      144K  /usr/local
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var                      13,4G   293G       96K  /var
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/games                 320K   293G       96K  /var/games
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/lib                  4,36G   293G     3,72G  /var/lib
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/lib/AccountServices   320K   293G       96K  /var/lib/AccountServices
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/lib/NetworkManager   3,67M   293G      208K  /var/lib/NetworkManager
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/lib/apt              87,0M   293G     74,9M  /var/lib/apt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/lib/dpkg             87,4M   293G     41,2M  /var/lib/dpkg
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/log                   574M   293G      170M  /var/log
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/mail                 2,25M   293G      104K  /var/mail
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/snap                 8,46G   293G     8,46G  /var/snap
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/spool                10,4M   293G     3,51M  /var/spool
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/ROOT/ubuntu_oyzpo3/var/www                   320K   293G       96K  /var/www
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/USERDATA                                     141G   293G       96K  /
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/USERDATA/john_75qybu                         140G   293G      126G  /home/john
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/USERDATA/root_75qybu                        1,07G   293G     1,07G  /root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We want to replace &lt;code&gt;rpool/USERDATA/john_75qybu&lt;/code&gt; with a new, encrypted file system.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create another temporary user, smith, and log out of john and in as smith.&lt;/li&gt;
&lt;li&gt;Set filesystem name in a variable, so you can copy/paste the rest: &lt;code&gt;$oldfs=&amp;quot;rpool/USERDATA/john_75qybu&amp;quot;; $newfs=&amp;quot;rpool/USERDATA/john_crypt&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Unmount: &lt;code&gt;sudo zfs umount $oldfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Reset mountpoint: &lt;code&gt;sudo zfs set mountpoint=none $oldfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Create a new, encrypted file system for your main user: &lt;code&gt;sudo zfs create -o encryption=on -o keyformat=passphrase $newfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Set mountpoint: &lt;code&gt;sudo zfs set mountpoint=/home/john $newfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Mount: &lt;code&gt;sudo zfs mount -a&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If you get complaints on missing key, run: &lt;code&gt;sudo zfs load-key -a&lt;/code&gt; and then mount again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you had any data on the unencrypted home dir, you can mount it anywhere else (&lt;code&gt;zfs set mountpoint=/mnt ...&lt;/code&gt;), and copy data.&lt;/p&gt;
&lt;p&gt;Last thing you need to do is enable key loading at boot.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create the file &lt;code&gt;/etc/systemd/system/zfskey-tank@.service&lt;/code&gt; as:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;[&lt;/span&gt;Unit&lt;span style=&#34;color:#ff6ac1&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;Description&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;Load %I encryption keys
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;Before&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;systemd-user-sessions.service
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;Before&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;zfs-mount.service
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;After&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;zfs-import.target
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;[&lt;/span&gt;Service&lt;span style=&#34;color:#ff6ac1&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;Type&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;oneshot
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;RemainAfterExit&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;yes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;ExecStart&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;/usr/bin/bash -c &lt;span style=&#34;color:#5af78e&#34;&gt;&amp;#39;systemd-ask-password &amp;#34;Encrypted ZFS password for %I&amp;#34; --no-tty  | zfs load-key -a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;[&lt;/span&gt;Install&lt;span style=&#34;color:#ff6ac1&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff5c57&#34;&gt;WantedBy&lt;/span&gt;&lt;span style=&#34;color:#ff6ac1&#34;&gt;=&lt;/span&gt;zfs-mount.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that I&amp;rsquo;ve changed the suggested example from Arch Wiki which ended in &lt;code&gt;zfs load-key %I&lt;/code&gt; to &lt;code&gt;zfs load-key -a&lt;/code&gt;. That way all encrypted filesystems will be mounted.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;And enable: &lt;code&gt;$ sudo systemctl enable zfskey-tank@john_crypt&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Reboot and check that everything works. If you have trouble logging in, you can log in as smith and check what fails. Unlocking, mounting or access rights. It will look the same in a zfs list, but you should see a difference if you run:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo zfs get encryption rpool/USERDATA/john_crypt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NAME                         PROPERTY    VALUE        SOURCE
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rpool/USERDATA/john_crypt  encryption  aes-256-ccm  -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If everything works, you can move along to setting up snapshots or other fancy zfs stuff. =)&lt;/p&gt;
&lt;h2 id=&#34;resources&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#resources&#34;&gt;
        #
    &lt;/a&gt;
    Resources
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/index.php/ZFS&#34;&gt;Arch wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Cheap DIY babycam with night vision</title>
      <link>/blog/posts/cheap_diy_babycam_with_nightvision/</link>
      <pubDate>Tue, 30 Sep 2014 00:00:00 +0000</pubDate>
      
      <guid>/blog/posts/cheap_diy_babycam_with_nightvision/</guid>
      <description>&lt;h2 id=&#34;overview&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#overview&#34;&gt;
        #
    &lt;/a&gt;
    Overview
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;When I did this project in 2012 babycams cost from NOK 2000 and up, so I decided to see if I could build one using a Raspberry Pi, an IR light and a very cheap webcam.&lt;/p&gt;
&lt;p&gt;This will of course only be a level 0 night vision (active).&lt;/p&gt;
&lt;h2 id=&#34;parts&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#parts&#34;&gt;
        #
    &lt;/a&gt;
    Parts
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.dx.com/p/ir-48-led-infrared-illumination-light-for-night-vision-dc-12v-500ma-15235&#34;&gt;IR LEDs&lt;/a&gt; with a 12V PSU.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.raspberrypi.org/&#34;&gt;Raspberry Pi&lt;/a&gt; with a 5V PSU.&lt;/li&gt;
&lt;li&gt;Webcam. I don&amp;rsquo;t have a link to it, but pretty much any webcam will do.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;sku_15235_1.jpg&#34; alt=&#34;IR LED&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;Raspberry_Pi_-_Model_A.jpg&#34; alt=&#34;Raspberry Pi, from Wikipedia.org&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;hardware-setup&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#hardware-setup&#34;&gt;
        #
    &lt;/a&gt;
    Hardware setup
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;I set up a test and was disappointed that the IR setup hardly gave any visible picture at all, so I threw it in the trash. Then I rememberd that all digital cameras have an IR filter to sharpen daylight pictures. To remove it I did this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unscrew any lense or cover.&lt;/li&gt;
&lt;li&gt;Look for a small, slightly colored piece of glass covering the CMOS chip, and remove it by force.&lt;/li&gt;
&lt;li&gt;Reassemble.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now the IR seemed to light up objects several meters away. As IR light can hurt eyes, I have the light pointed towards the ceiling, so only reflected light is ever hitting people.&lt;/p&gt;
&lt;h2 id=&#34;software&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#software&#34;&gt;
        #
    &lt;/a&gt;
    Software
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Installed raspbian.&lt;/li&gt;
&lt;li&gt;Installed motion.&lt;/li&gt;
&lt;li&gt;Webcam is now available to local network for PCs (browser, VLC) and phones (VLC, video streaming apps).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;result&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#result&#34;&gt;
        #
    &lt;/a&gt;
    Result
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;irled.png&#34; alt=&#34;IR LED&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;webcam.png&#34; alt=&#34;Webcam, stripped and attached to wall.&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;babyphone.png&#34; alt=&#34;Baby in nightvision viewed on a phone.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>photOS 2.0 - a better photo frame</title>
      <link>/blog/posts/photos2/</link>
      <pubDate>Mon, 17 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>/blog/posts/photos2/</guid>
      <description>&lt;h2 id=&#34;overview&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#overview&#34;&gt;
        #
    &lt;/a&gt;
    Overview
&lt;/div&gt;
&lt;/h2&gt;
&lt;p&gt;This is about improving photOS, mentioned in &lt;a href=&#34;http://0p.no/2014/02/14/photos1.html&#34;&gt;http://0p.no/2014/02/14/photos1.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When building this, price wasn&amp;rsquo;t a factor. If you want something cheap, you can still use this software with an old laptop or other recycled hardware.&lt;/p&gt;
&lt;p&gt;The display from Chalkboard Electronics is beautiful. Good resolution (not extreme resolution, though), good contrast, nice colors. And it supplies power for the RPi. Unfortunately it&amp;rsquo;s hard to attach stuff to it. There are nothing but smooth surfaces.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;backside.jpg&#34; alt=&#34;Backside of screen.&#34;&gt;&lt;/p&gt;
&lt;p&gt;All taped up to hide backlight. What you see is a rpi, a 4-port usb hub, a thumb drive (for keeping photos on) and the power board for the display.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;top.jpg&#34; alt=&#34;From above.&#34;&gt;&lt;/p&gt;
&lt;p&gt;Using some cardboard to keep everything together. Also makes for a decent foot.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;done.jpg&#34; alt=&#34;Finished product.&#34;&gt;&lt;/p&gt;
&lt;p&gt;Done and placed on the table. The photo doesn&amp;rsquo;t do the screen justice.&lt;/p&gt;
&lt;h2 id=&#34;hardware&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#hardware&#34;&gt;
        #
    &lt;/a&gt;
    Hardware
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://raspberrypi.org&#34;&gt;Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.chalk-elec.com/?page_id=1280#!/~/product/category=3094861&amp;amp;id=14647624&#34;&gt;10&amp;quot; Touch screen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cover made of cardboard and tape.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;software&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#software&#34;&gt;
        #
    &lt;/a&gt;
    Software
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/ways/photOS&#34;&gt;photOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;features&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#features&#34;&gt;
        #
    &lt;/a&gt;
    Features
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Sync files from &lt;a href=&#34;http://owncloud.org&#34;&gt;ownCloud&lt;/a&gt;, a free, selfhosted alternative to Dropbox.&lt;/li&gt;
&lt;li&gt;Display local images in a slideshow.&lt;/li&gt;
&lt;li&gt;Display images from web. I.e. webcams, weather reports, RSS feeds.&lt;/li&gt;
&lt;li&gt;Display images from reddit, i.e. lates from r/newsporn, r/wallpapers, etc.&lt;/li&gt;
&lt;li&gt;Stream video, i.e. from baby monitor, live webcams.&lt;/li&gt;
&lt;li&gt;Display websites, i.e. news.&lt;/li&gt;
&lt;li&gt;Display recent images (from ownCloud), by looking at date in Exif.&lt;/li&gt;
&lt;li&gt;Turn off LCD at night.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is my current crontab, to show how I&amp;rsquo;m using it:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;MAILTO=****
# m h  dom mon dow   command

PHOTOS=/home/pi/photOS

#Sync owncloud
#27 7-18 * * *  ${PHOTOS}/helpers/sync-owncloud.sh

#Morning
0 6 * * *       ${PHOTOS}/helpers/powersave.sh 1; ${PHOTOS}/web/weather.sh
0 7    * * *    ${PHOTOS}/web/website.sh &amp;#34;http://nrk.no/tekst-tv/100/&amp;#34;

#Normal photo display
0  9-16 * * *   ${PHOTOS}/helpers/kill.sh; ${PHOTOS}/photos/slideshow.sh

#Display weird images from the net
0 17 * * *      ${PHOTOS}/helpers/kill.sh; ${PHOTOS}/photos/slideshow.sh $( ${PHOTOS}/web/rss-images.sh 50 )

#Baby monitor streaming
0 19,21 * * *   ${PHOTOS}/helpers/kill.sh; $PHOTOS/streams/cvlc.sh http://192.168.1.84:8081

#Night
0 1 * * *       ${PHOTOS}/helpers/powersave.sh 0; ${PHOTOS}/helpers/kill.sh;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;challenges&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#challenges&#34;&gt;
        #
    &lt;/a&gt;
    Challenges
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The screen has no attachments. I&amp;rsquo;ve currently just taped the RPi to the back, which works but isn&amp;rsquo;t very beautiful and will break down. See &amp;ldquo;Plans&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;LXDE, the default window manager on Raspbian, has no multitouch support. The image viewer, feh, has no gesture support. I&amp;rsquo;ve looked at a few ways to use touch, but hasn&amp;rsquo;t decided on anything yet. See this &lt;a href=&#34;http://www.reddit.com/r/raspberry_pi/comments/1wzeku/how_to_use_touch_capabilities/&#34;&gt;Reddit post&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Feh is somewhat lacking in rotating photos correctly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;plans&#34; &gt;
&lt;div&gt;
    &lt;a href=&#34;#plans&#34;&gt;
        #
    &lt;/a&gt;
    Plans
&lt;/div&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use touch capabilities.&lt;/li&gt;
&lt;li&gt;3d printed or CNCed enclosure.&lt;/li&gt;
&lt;li&gt;Display photos related to this date. I.e. if christmas, display photos from past christmases.&lt;/li&gt;
&lt;li&gt;Look for better image viewer.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
