A good place to start reading and understanding what is needed for a GUI
My configuration is below for a minimum system that I consider to be a useable starting point.
sudo apt install xfce4 xfce4-goodies
sudo apt install tightvncserver
sudo apt-get install gnome-icon-theme-full tango-icon-theme
sudo apt install gksu
sudo apt install synaptic
sudo apt install chromium-browser
sudo apt install gedit
open gedit and edit the file /usr/share/applications
change Exec= to “Exec=gksudo synaptic”
Total drive size is 2.144gb when run on the AWS Ubuntu image
Create a partition for the swap so applications have access to more RAM
sudo dd if=/dev/zero of=/mnt/swap.0 bs=1024 count=1048576
sudo mkswap /mnt/swap.0
Add to fstab to automatically mount the partition
echo "/mnt/swap.0 swap swap defaults 0 0" >> /etc/fstab
Check your work
sudo swapon -s
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
# To stop VNC sever if needed
tightvncserver -kill :1
I did not need to follow these steps and tight VNC Server was working
# Edit config file to start session with LXDE:
# Add this at the bottom of the file:
/usr/bin/lxsession -s LXDE &
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 email@example.com:/ /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.
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
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
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.
This script does a solid job of setting up everything you need to get Odoo 10 up and running
I was able to customize it enough to use my existing database and a different port for odoo so I could run 2 instances on the same machine.
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
- Login to your raspberrypi using SSH. I use Bitvise SSH for all my SSH needs.
- 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
pip install yagmail
pip install keyrings.alt
- 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)
You should get back
<yagmail.yagmail.SMTP instance at ...>
- Install “Email Notifier” through the OctoPrint web interface if you haven’t already.
- 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.
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
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.
Get the size of the folders in any directory
du -sh folder_location/*
Search for content of a file from the command line
grep [--include=file_pattern.extension] -rnwl "matching pattern"
Create a new SVN Repo
sudo svnadmin create /svn/repos/repo_name
sudo chown -R www-data:www-data /svn/repos/repo_name
Remove Directory and Contents
rm -r mydir
List CPU Usage of running processes
Get Wireless Signal Information
will save in /tmp/file_list_$FOLDER an alphabetically ordered list of all the files inside $FOLDER, complete with the corresponding sub-folders
find $FOLDER -type f | cut -d/ -f2- | sort > /tmp/file_list_$FOLDER
You can install Odoo from the Bitnami package but I wanted to have it from source so that I could make changes and get updates with the git commands.
I followed this guide to get started
Which got me most of the way there but I still had 2 problems.
1 creating the database gave me an error
DataError: encoding UTF8 does not match locale en_US DETAIL:
The chosen ****** setting requires encoding LATIN1.
To fix this I ran the following commands
sudo su postgres
update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8' lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
update pg_database set datistemplate=true where datname='template1';
Then once I had created my database I got an error at the top of the page
/usr/bin/env : node: No such file or directory in ovoo v9
To fix follow the instructions from the NodeJS Website:
curl -sL https://deb.nodesource.com/setup_0.10 | sudo bash -
sudo apt-get install -y nodejs
sudo npm install -g npm
Then install Less and accessories:
sudo npm install -g less less-plugin-clean-css
use the ‘df’ command to confirm that boot is full
ls -la //to see the files
You will notice a lot of files that seem to have old versions. It’s safe to remove all but the most recent of these files.
sudo rm *.0-23-* //to remove the version numbers that are unnecessary
repeat the process until you only have one latest version left. If you delete the latest version you will seriously mess up your system so be careful.
a final ‘df’ will confirm that you have freed enough space