How to setup lxde tightVNCserver on AWS t2.nano

This will install the most basic desktop environment without any browser or package managers etc. It’s very limited and in my opinion not worth the extra configuration to get it up and running.

# Make sure Debian is the latest and greatest

sudo apt update && sudo apt upgrade

# Install X, LXDE, VPN programs

sudo apt install xorg lxde-core tightvncserver

# Start VNC to create config file and setup your password

tightvncserver :1

# To stop VNC sever if needed

tightvncserver -kill :1

https://www.vandorp.biz/2012/01/installing-a-lightweight-lxdevnc-desktop-environment-on-your-ubuntudebian-vps/

I did not need to follow these steps and tight VNC Server was working

# Edit config file to start session with LXDE: 
nano ~/.vnc/xstartup 

# Add this at the bottom of the file: 
lxterminal & 
/usr/bin/lxsession -s LXDE &

 

 

Mount a SFTP connection to a folder in Ubuntu / Linux

To do this I used a program called SSHFS which has done a great job. First, install if from the repo

sudo apt-get install sshfs

You’ll need to create a directory to use as the location for your files

sudo mkdir /mnt/sshftps

Execute the command to connect the actual SFTP Server. Replace xxx.xxx with the target IP address and use the -p option to specify the connection port. The user parameter is your user name. The :/ at the end of the IP address indicates the end of the IP address. Don’t try to put the port number after the colon

sudo sshfs -o allow_other -p 6789 user@xxx.xx.xxx.xx:/ /mnt/sshftps

This will create a semi-permanent connection which will close if the machine is restarted. You can create a permanent connection which will reopen when the machine starts by editing the fstab file in /etc/fstab. Add a command to the end and restart the machine. Personally, I haven’t tried this because it’s a potential security risk and I didn’t need 100% uptime.

sshfs#username@xxx.xxx.xxx.xxx:/ /mnt/sshftp

Plex Running on Ubuntu / Linux / Lubuntu Doesn’t Display My External Drive

When moving all my files onto an external drive Plex was able to display the drive but was unable to read the content of the folder.

Changing group ownership and permissions did not solve this problem.
The drive was formatted with NTFS before being installing it in a housing and connected to the Linux machine.

The problem is caused by the default mounting parameters when first connecting the drive. In order to fix it you will need to manually setup the drive by editing the fstab file. Use this command

sudo blkid

This will get you the drive UUID of the drive that you need. Look at the labels until one of them looks familiar. You can also use the built in disk utility to get this number. System > Disks > “Gear Icon” > Edit Mount Options but it’s harder than just doing it in the terminal.

Create a folder to use as the path for your drive. I used /media/Videos since that’s what I would be storing.

sudo mkdir /media/Videos

Open the fstab file and add this line to the end using the UUID that you just found.

sudo gedit /etc/fstab
UUID=E12345A1234C1A12345 /media/Videos ntfs-3g defaults,permissions,auto 0 1

It’s easiest just to restart your computer to get these changes applied. You could also unmount the drive and then run the mount command which will pick up the new settings from the fstab file. If you have trouble with this just reboot

sudo mount /media/Videos

Without doing the next couple of steps I didn’t consistently have problems but I did have problems with permissions and file transfer being denied

cd /etc/samba
sudo gedit smb.conf

Scroll to the bottom and add into the section that was just created with the name of your share [videos] in this case

force user = yourUserName

And then restart Samba

sudo restart smbd

This other post helped me get up and running if you want another take on the same process.
http://travelinlibrarian.info/2013/05/how-to-share-an-external-usb-hard-drive-from-ubuntu-to-a-windows-network/

Odoo 10 Install a backend theme from git sources

Specifically, I wanted to install this responsive backend theme so I could get convenient access from my phone.

https://www.odoo.com/apps/themes/10.0/backend_theme_v10/

I found the sources on git : https://github.com/Openworx/backend_theme.git

use git clone to checkout the sources into your /opt/odoo10/custom/addons folder. All themes are addons so they go in this folder. Confirm that this custom folder is part of the addons path in the config file (/etc/odoo/odoo.conf for odoo 10)

cd /opt.odoo10/custom/addons/
git clone --depth 1 https://github.com/Openworx/backend_theme.git

the problem is that git clone doesn’t do the folder structure exactly as Odoo expects it so create a symlink to the proper directory.

ln -s /opt/odoo10/custom/addons/backend_theme/backend_theme_v10 /opt/odoo10/custom/addons/backend_theme_v10

enter developer mode in your Odoo10 interface which is located in Settings on the right-hand side under “share the love.” Click on “Browse Apps” which is automatically filtered to include only “apps” so clear that from the search area and search for the name of the theme you installed. In this example, it’s Material/United Backend Theme.

Click Install on the theme and you’re finished! Now you can use git to check for updates to the theme or have them automatically pulled down with a chron job. You’ll need to hit the upgrade button to apply any pulled updates.

Taulman BluPrint Filament – What’s it like to print with as a real user

Taulman BluPrint is a filament claiming to print strong parts that are very heat resistant.

High heat resistance means high print temperatures for most plastics so this prints at a minimum of 265ºC depending on which website you believe. Taulman’s website says 285C is the recommended Print temp.

They also claim that glass heated to 110C is the right print surface. I find it hard to believe that plain glass will hold onto any plastic so my first attempt was using Wolfbyte for Nylon. The filament was printing well at 265-280ºC but after a few layers (10) promptly removed itself from the print bed and tried to cause a big mess. I was there to cancel before any real harm was done.

Next I’m testing glass with hair spray. Heated to 110ºC and with a fresh generous application of hairspray. It’s held strong much farther along than the Wolfbyte which makes me think it may not be a nylon based material. Perhaps it’s a PC derivative which generally prints at much higher temperatures.

After 1 hr 45min the corners of the 4×4 rectangle are showing noticeable curling. A 3 pass brim was added for the first layer but has pulled up from the bed. The front of the printer is not enclosed for this test and only the front 2 corners are peeling.

The print finished and didn’t completely detach from the build plate after 3hr 41min build time. Although it was close to detaching. Final weight is 3.8 ounces or 108 grams.

2nd part test print adjusted the bed temp to 120ºC. 4×4 square is not extruded as high and should have less issues with warping. Increased the brim to 5 passes roughly 3.5mm. I also closed the front of the printer

The part appeared to be well attached to the print bed for the entire print. Minimal signs or warping on the corners. By the time I checked the printed the build plate had cooled and the part completely released from the glass with hairspray.

Setup Relay Control on a new Raspberry Pi 3 B for OctoPi

Predefined relay numbering
Relay # – GPIO / wPi # – Function – BCM
1 – 21 – Printer Power – 5
2 – 22 – General Lights – 6
3 – 26 – External Fans – 12
4 – 23 – Additional Hotend Light – 13
5 – 27 –  – 16
6 – 24 –  – 19
7 – 28 –  – 20
8 – 29 –  – 21

Login to Raspberry Pi

sudo su root
cd /usr/local/bin
touch printer_on.sh
touch printer_off.sh
touch lights_on.sh
touch lights_off.sh
touch fans_on.sh
touch fans_off.sh
touch hot_lights_on.sh 
touch hot_lights_off.sh
sudo chmod a+rx *.sh

This creates 6 files and sets them to executable.

The following blocks of code go write into these newly created files.

cd /usr/local/bin
printf '#!/bin/bash\ngpio mode 21 out\ngpio write 21 0' >> printer_on.sh
printf '#!/bin/bash\ngpio mode 21 out\ngpio write 21 1' >> printer_off.sh
printf '#!/bin/bash\ngpio mode 22 out\ngpio write 22 0' >> lights_on.sh
printf '#!/bin/bash\ngpio mode 22 out\ngpio write 22 1' >> lights_off.sh
printf '#!/bin/bash\ngpio mode 26 out\ngpio write 26 0' >> fans_on.sh
printf '#!/bin/bash\ngpio mode 26 out\ngpio write 26 1' >> fans_off.sh
printf '#!/bin/bash\ngpio mode 23 out\ngpio write 26 0' >> hot_lights_on.sh
printf '#!/bin/bash\ngpio mode 23 out\ngpio write 26 1' >> hot_lights_off.sh

edit octoPi Config to add some system actions

nano /home/pi/.octoprint/config.yaml
system:
  actions:
  - action: printer_on
    command: printer_on.sh
    name: Printer On
  - action: printer_off
    command: printer_off.sh
    confirm: Are you sure you want to turn off the printer?
    name: Printer Off
  - action: lights_on
    command: lights_on.sh
    name: Lights On
  - action: lights_off
    command: lights_off.sh
    name: Lights Off
  - action: fans_on
    command: fans_on.sh
    name: Fans On
  - action: fans_off
    command: fans_off.sh
    name: Fans Off
  - action: hot_lights_on
    command: hot_lights_on.sh
    name: Hotend Lights On
  - action: hot_lights_off
    command: hot_lights_off.sh
    name: Hotend Lights Off
events:
 enabled: true
 subscriptions:
 - command: printer_on.sh
 event: Startup
 type: system
 - command: printer_off.sh
 event: PrintDone
 type: system

Reboot the octoPi server to get all the changes into the system.

If your camera isn’t working correctly open /boot/octopi.txt and adjust the camera_usb_options

for me these are the correct settings camera_usb_options=”-y -r 640×480 -f 15″
more info and settings here https://github.com/foosel/OctoPrint/wiki/Webcams-known-to-work

 

Setting up OctoPi (OctoPrint) with Email Notifier yagmail

I found a few guides to this on the internet but none of them worked for me out of the box using the latest (as of today) Octopi image and a Raspberry Pi 3. What I did eventually get to work was the following

  1. Login to your raspberrypi using SSH. I use Bitvise SSH for all my SSH needs.
  2. Run a few commands to make sure your octoprint is setup correctly. The explanation for the lines is as follows. Activate octoprint environment -> install yagmail (probably already installed) -> install keyrings.alt which is needed by yagmail -> activate python -> run the yagmail registration command
    source ~/oprint/bin/activate
    pip install yagmail
    pip install keyrings.alt
    python
    import yagmail
    yagmail.register('youraccount@gmail.com', 'yourpassword')
  3. While you’re here do a test run to make sure you can connect (this will only work for Gmail SMTP servers. It’s possible to get it working with other servers but you would have to modify some source code to get the ports right. Much easier to just use Gmail)
    yagmail.SMTP(user='youraccount@gmail.com')

    You should get back

    <yagmail.yagmail.SMTP instance at ...>
  4. Install “Email Notifier” through the OctoPrint web interface if you haven’t already.
  5. Restart your RaspberryPi – This may seem unnecessary but I highly recommend it. I ran into lots of problems with emails not sending that were fixed by a simple reboot.

How to move OcotoPi (OctoPrint on Raspberry Pi 3+) to a new Network

If you’re renaming your network or taking your OctoPi & Printer on the road you may need to change the name and credentials of the Wifi network to work. It’s not hard to do but you will need to connect to the Raspberry Pi console directly. This is when having the Raspberry PI LCD screen comes in really handy.

Once you’re looking at the Raspberry Pi console the network setup file is in

/boot/octopi-network.txt
sudo nano /boot/octopi-network.txt

You will recognize this file from initial setup. Just change the name and password to the new network and reboot.