Category Archives: Projects

How To Setup Network File Sharing In Ubuntu Linux

Apart from using FTP to transfer files between computers, network  file sharing can be a convenient way to access files on remote computers. In Linux, file sharing to other Linux computers is enabled by default. If you want file sharing capabilities with computers not running Linux, however, you will need to use Samba: the open-source protocol that can integrate with Windows domains.

Samba is available in the Ubuntu repositories and can be installed easily from the terminal:

sudo apt-get install samba
sudo apt-get install system-config-samba
sudo apt-get install gvfs-bin
sudo apt-get install gvfs-backends

Reboot your system and you can configure your file sharing settings by executing the following command in terminal:

sudo system-config-samba

You will now be able to assign shared folders as well as users and permissions.

How To Install Previous Versions of Kodi (XBMC) in Ubuntu Linux

Personally, I’m not a fan of XBMC’s “Kodi” rebranding, and my plugins so far do not work in versions past Gotham. As such, I have needed to stay behind in the development cycle to utilise the tools I have come to know and love. (Much like OSX Mavericks over Yosemite.)

For Windows and OSX, you can easily download and install the proper binary directly from the XBMC archive.

To install previous versions of Kodi in Linux, you simply have to specify the version number when you execute the install command:

sudo apt-get install xbmc=2:[INSERT VERSION NUMBER HERE]* xbmc-bin=2:[INSERT VERSION NUMBER HERE]*

For Kodi versions (beyond 13.2), replace xbmc with kodi for both packages.

For a list of available versions, execute the following:

sudo apt-cache policy xbmc
or
sudo apt-cache policy kodi

For more information, consult the Kodi wiki.

How To Install Kodi In Ubuntu Linux

Kodi (F.K.A. XBMC) is hands-down the final word in the media centre user experience. Before Roku and Apple TV, there was XBMC (the predecessor to Kodi). They’ve been doing it longer and–because it’s open-source–better than anyone else thanks to a bottom-up development infrastructure.

Kodi can handle all your media, in most any format, from any networked location and, thanks to its modular plugin structure, it can be extended to facilitate every home theatre contingency.

Installing Kodi in Windows or OSX is easy; simply download the installer binary package from the website and run.

Kodi in Linux is a little more complicated, requiring a little terminal work to get it started.

First, you have to install the required dependencies:

sudo apt-get install python-software-properties pkg-config
sudo apt-get install software-properties-common

Then, add the Kodi repository to your software sources and update:

sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update

Finally, install Kodi:

sudo apt-get install kodi

For more information, consult the Kodi wiki.

If you need to install an older version of Kodi/XBMC, check this article.

Remote Desktop Access With TeamViewer

In my line, I do a lot of work on multiple computers and I usually need to access one or more of them remotely. This is usually quite easy when working with two computers using the same operating system environment, but becomes rather tricky when mixing OSes. SSH access is great for running applications in Linux, but becomes a pain when you need to run applications in the shell or if you need to multitask. This is where TeamViewer comes in handy.

TeamViewer is a simple peer-to-peer remote desktop access software suite that is easy to setup and–most importantly–cross-platform! TeamViewer provides secure access to a remote machine across a home network or anywhere in the world through the World Wide Web. You can run applications and perform any level of maintenance just as if you were sitting at the computer yourself. Everything runs in a dedicated window so there’s no getting lost. You can even use TeamViewer for online meetings and file sharing without need for a separate FTP setup!

TeamViewer client and server modules.

Did I mention it’s free?

TeamViewer is free for non-commercial use, so it’s perfect for maintaining a remote machine on the home network or performing maintenance on your parents’ computer from across the country!

How To Enable SSH In Ubuntu Linux

One of the best remote access tools in Linux is SSH, a protocol that allows remote command-line interfacing with a remote computer. When setting up a system like the VCR, where the screen may not necessarily be readable from across the room or (like many “Internet of Things” applications) may not have a screen at all, remote access to terminal is essential.

Ubuntu 14.04 does not enable SSH by default, but does provide easy access to the OpenSSH service via its software repositories. On the server machine (the one you wish to access remotely), run the following:

sudo apt-get install openssh-server

Once the packages are installed, you can change settings by editing the configuration file located at /etc/ssh/sshd_config in Nano (or other text editor).

Once your configuration settings are saved, restart the service to enable SSH access from your client computer:

sudo /etc/init.d/ssh restart

How To Setup An FTP Server In Ubuntu Linux

Having reliable FTP access to a remote computer running Linux can be especially useful if said computer is to be a media server and connected to a screen ten feet across the room. For the VCR project, and for any Linux project, I recommend using vsftpd for its simplicity and active development.

To install vsftpd, simply type the following command in Terminal:

sudo apt-get install vsftpd

Once installed, you will need to edit the configuration file to authenticate users and enable write access (if you’re going to be using it as such). Use Nano (or whichever text editor you prefer) to edit /etc/vsftpd.conf and change the following values:

local_enable=YES

write_enable=YES

Reboot and your FTP server will be running in background, ready for action!

I built an HTPC from an old VCR

My latest grand project has come about from a desire to have an integrated home entertainment solution and an inability to find any off-the-shelf product that handles media the way I want it to.

My first impulse was to build an HTPC in a traditional desktop-style case, but I could not locate one that would fit in my IKEA Besta TV stand. As it happens, I had a cache of old VCRs taking up space in storage after my VHS digitising project, so I grabbed one that would suit well and got to tinkering.

A few hours of Dremel work and the original RCA and Coaxial ports are replaced with USB and HDMI.
The front RCA ports made a convenient location to add a couple front USB ports.

 The form factor of the VHS turned out to fit an mATX motherboard and power supply side-by-side almost exactly. Thankfully, there was still plenty of clearance for fans and other internal bits as well. Best of all, the case pays homage to a time in my childhood when the VCR (actually, this exact VCR) was the focal point of entertainment–perhaps even more than the NES that sat next to it. After all, you can’t play Super Mario Bros. and build Lego models at the same time!

Still a slightly jumbled mess inside, but it works.

With the internals completed, I set about assembling the software suite. XBMC provides the main interface while Firefox and RetroArch supplement functionality for most streaming services and video games. The biggest decision I’ve had to make was whether to build the system on Linux or Windows. I’ve completed comparable versions under both, but I eventually paid for a Windows 7 license to take advantage of the superior graphics processing compatibility provided by Microsoft DirectX as well as eliminate the headache of futzing around with Wine compatibility settings.

Original serial number and patent labels joined by the ubiquitous “Intel Inside” decal.

The end result is an all-in-one streaming media, local media, classic and modern gaming machine that evokes an aesthetic of an era that is quickly fading into the annals of history.

The original date of manufacture label: June 1993.
21 years of reliable service and counting!
The unit’s cassette door broke off sometime in the late 1990s, so I 3D printed a replacement to seal the innards from dust. I also replaced the original 7-segment display with a USB liquid crystal display.