Start UNetbootin (with administrator level permissions if needed).
Select the Lubuntu Distrubution 16.04_live (Select _x64 if you want to install 64 bit mame, which we do in this case.)
Be sure to select the proper USB drive mountpoint above.
If your usb flash disk has been used before, it’s best to format it first.
If you have to format flash media I recommend the official SD formatter at sdcard.org
UNetbootin will load the bootable lubuntu image onto that USB stick and tell you when it’s done.
Step 2: Boot the linux installer and install Lubuntu:
Most semi-ancient machines can boot to USB volumes, but some need a special key or bios setting enabled. On this machine it was pressing f10 at boot time to select a boot device.
I’ll link outward to the official docs for installing lubuntu, they did a great job at explaining it:
note: it’s easiest if you DON’T encrypt homedir, and you tell it to auto-login your user.
The time it takes depends a lot on your hardware and the speed of your flash drive. But it’s not too bad to perform the install.
Step 3: Boot up and install some tweaks and tools: (Technically Optional)
Some of these are just things I did that I find useful for managing the system.
remote SSH access for remote management
VNC for remote-screen access over the network
SSH Greeter (stolen from RetroPie)
Install OpenSSH server for remote management:
Open LXterminal and use these commands to install and configure.
sudo apt update
sudo apt install openssh-server
chkconfig sshd on
ufw allow 22
the “ufw” command allows connections to port 22 through the firewall
You should be able to connect to your lubuntu host from the network, use puTTY on windows or terminal on mac or linux.
A quick way to find your ip address on lubuntu is:
ifconfig |grep -w inet
Then, you can use your remote machine to connect over SSH
ssh user@YOUR_LUBUNTU_HOST
x11VNC to remotely manage system:
Open LXterminal and use these commands to install and configure.
sudo apt install x11vnc
This is probably a machine on your home network, but you should create a password for your user:
x11vnc -usepw
This command will set the password file on it’s first run.
Your user should already be set to auto-login, so you should be able to start x11VNC remotely when you need it. SSH to your machine, Start X11 VNC with Password, use VNC client to log into it.
The following command will start an x11vnc session in your ssh session or terminal.
x11vnc -usepw
by default it should open port 5900 for VNC
SSH Greeter (Super Optional)
This is completely unnecessary. But I like to see this info when I first log into SSH. When you log into a RetroPie system with the SSH Greeter tweak installed you get this nice ascii art greeting with some quick system facts. I’ve modified it for this install.
At a glance I can see if I have updates, What my filesystem space looks like, How long the machine has been up, Temps etc.
There’s a hidden file in your Lubuntu user’s home directory that you’ll want to paste the code below into.
NOTE: you can seriously screw up your install if you do this wrong, if you’re not comfortable with linux, you might want to skip this step.
Do this from an SSH session or Terminal window: I prefer editing text in VIM so I installed it first (sudo apt-get install vim) but you can use Nano or some other text editor if you prefer.
cp ~/.bashrc ~/.bashrc.backup
sudo vim ~/.bashrc
Next, scroll to the absolute bottom of the file. You’ll want to paste the following code in (Press “I” to enter VIM insert mode first):
# QUASICADE PROFILE START
function quasicade_welcome() {
local upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
local secs=$((upSeconds%60))
local mins=$((upSeconds/60%60))
local hours=$((upSeconds/3600%24))
local days=$((upSeconds/86400))
local UPTIME=$(printf "%d days, %02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs")
# calculate rough CPU and GPU temperatures:
local cpuTempC
local cpuTempF
local gpuTempC
local gpuTempF
if [[ -f "/sys/class/thermal/thermal_zone0/temp" ]]; then
cpuTempC=$(($(cat /sys/class/thermal/thermal_zone0/temp)/1000)) && cpuTempF=$((cpuTempC*9/5+32))
fi
if [[ -f "/opt/vc/bin/vcgencmd" ]]; then
if gpuTempC=$(/opt/vc/bin/vcgencmd measure_temp); then
gpuTempC=${gpuTempC:5:2}
gpuTempF=$((gpuTempC*9/5+32))
else
gpuTempC=""
fi
fi
local df_out=()
local line
while read line; do
df_out+=("$line")
done < <(df -h /) local rst="$(tput sgr0)" local fgblk="${rst}$(tput setaf 0)" # Black - Regular local fgred="${rst}$(tput setaf 1)" # Red local fggrn="${rst}$(tput setaf 2)" # Green local fgylw="${rst}$(tput setaf 3)" # Yellow local fgblu="${rst}$(tput setaf 4)" # Blue local fgpur="${rst}$(tput setaf 5)" # Purple local fgcyn="${rst}$(tput setaf 6)" # Cyan local fgwht="${rst}$(tput setaf 7)" # White local bld="$(tput bold)" local bfgblk="${bld}$(tput setaf 0)" local bfgred="${bld}$(tput setaf 1)" local bfggrn="${bld}$(tput setaf 2)" local bfgylw="${bld}$(tput setaf 3)" local bfgblu="${bld}$(tput setaf 4)" local bfgpur="${bld}$(tput setaf 5)" local bfgcyn="${bld}$(tput setaf 6)" local bfgwht="${bld}$(tput setaf 7)" local logo=( "${fggrn} _ ${fgrst} " "${fggrn} /\ \ ${fgrst} " "${fggrn} / \ \ ${fgrst} " "${fggrn} / /\ \ \ ${fgrst} " "${fggrn} / / /\ \ \ ${fgrst} " "${fggrn} / / / \ \_\ ${fgrst}" "${fggrn} / / / _ / / / ${fgrst}" "${fggrn} / / / /\ \/ / ${fgrst} " "${fggrn} / / /__\ \ \/ ${fgrst} " "${fggrn}/ / /____\ \ \ ${fgrst} " "${fggrn}\/________\_\/ ${fgrst} " "${fggrn} ${fgrst}" ) local out local i for i in "${!logo[@]}"; do out+=" ${logo[$i]} " case "$i" in 0) out+="${fggrn}$(date +"%A, %e %B %Y, %r")" ;; 1) out+="${fggrn}$(uname -srmo)" ;; 3) out+="${fgylw}${df_out[0]}" ;; 4) out+="${fgwht}${df_out[1]}" ;; 5) out+="${fgred}Uptime.............: ${UPTIME}" ;; 6) out+="${fgred}Memory.............: $(grep MemFree /proc/meminfo | awk {'print $2'})kB (Free) / $(grep MemTotal /proc/meminfo | awk {'print $2'})kB (Total)" ;; 7) out+="${fgred}Running Processes..: $(ps ax | wc -l | tr -d " ")" ;; 8) out+="${fgred}IP Address.........: $(ip route get 8.8.8.8 2>/dev/null | head -1 | cut -d' ' -f8)"
;;
9)
out+="Temperature........: CPU: $cpuTempC°C/$cpuTempF°F GPU: $gpuTempC°C/$gpuTempF°F"
;;
10)
out+="${fgwht}I am quasicade, Feed me quarters.${fgrst}"
;;
esac
out+="\n"
done
echo -e "\n$out"
}
quasicade_welcome
# QUASICADE PROFILE END
Press ESC to exit INSERT mode when your modifications are done.
Next type “:wq” to write the file and quit VIM You should see the greeter on the next login.
If you can’t see the CPU temp (and want to) you need to install the ‘lm-sensors’ modules
I will cover my experience, tips, and findings on configuring and tweaking the various aspects of MAME and Front-end on linux in future posts.
You’re probably best to start by thinking about what you want your machine to be.
I’ve decided to refine the quasicade into a gallery of my most favorite machines. While they’re all there, I’ll only be presenting 80 or so in the front-end.
This update is years in the future from the post about carpet.
We enjoyed so many fond memories in the Fairview house. Several holidays with friends and family, massive snowstorms that halted the city for days and constant home improvements.
Once, a raccoon moved in under the deck.
The house went from a cold dead hollow sad space to a warm home, filled with love.
The time had come to move on to the next project, to give another family the comforts and personality of Fairview.
We listed her for sale in the autumn of 2012.
Here are the photos we took for the listing:
Living room.
Living room facing the bay window.
Dining room.
Entry foyer.
Kitchen towards front.
Kitchen towards rear.
Second bathroom added off kitchen-side mudroom (not shown).
Dressing room.
Shoe closet in dressing room.
Master bathroom
Master bathroom from shower.
Master Bedroom
Master bedroom closets.
We’ll definitely miss the house. We got our start as a family here. But now it’s someone else’s turn.
Final Total:
We purchased the house as a foreclosure for $25,000
Total cost of renovations were approximately $36,000
It’s been a while since the last update, we’re finally pushing to wrap up the outside of the house.
It’s springtime in Pittsburgh, meaning it’s time to get to work outside!
We acid-washed the old Alcoa aluminum siding and used some great sage colored paint for the siding, with white trim.
Man, do I hate ladders.
We rebuilt the structure and supports under the front porch with new wood for stability, then we removed the rotten old boards and replaced with new treated lumber decking.
New railings, new posts and new staircase are coming next.
Rachel uses a steady hand to paint the trim.
Structurally the back deck was sturdy, just power washing it before painting made it look SO much better.
New sealing paint will shine this up nicely. We also put in a 6ft privacy fence around the back yard for the dogs.
Removing the front 1/3 of the railing opened the deck up into the yard and made things feel bigger.
This weekend marks the final weekend before the flooring deadline. We need to be completely done with painting/construction by this Thursday!
This week had a lot of other events too… Collin’s birthday and graduation party was last Friday, Valerie and family came to visit, the Penguins won the Stanley Cup, and I got a minor sunburn on Sunday watchin’ the Buccos trounce the Detroit Tigers.
The counter tops are in, this is just set in place, the dishwasher and sink need to be installed.
Ron and I set up the range hood microwave, I’ve still gotta finish running power to it tonight when I get back to the house.
The old hardwood was so uneven we had to get sub-floor for the slate laminate to go down.
The kitchen only needed patches made for sub-floor.
Mike, Ron and I laid the tile down starting at the front door.
Here’s proof that at least the back of my sister Valerie’s head visited from Georgia.
We had to special order this tile, and of course, because of the odd shape, had to order more to finish a spot in the kitchen, to be continued…
Here’s how it looks before the edges are finished.
Seamless out to the front hallway, I think it looks snazzy.
The shower is installed. Here are the faucet and spout.
We acquired this super nice giant rain shower head.
It’s like our own personal instant monsoon season.
Ron and I installed the bathroom sink.
The girls put a coat of stain on the wood on the bannister. Only one more to go, with a little bit more detail painting on the newel post.
The pantry built-in is now painted to match the trim, the doors are off and drying.
It’s coming down to the wire now. We’re almost done and ready to move in. We’re hoping soon.
The Carpet deadline looms in mere days now. We’ll scramble to finish the odds and ends this week. Next weekend, there should be pictures of a completed interior for you.
Its been a long road, but here we are, sprinting all the way.
Carpet has been scheduled. The deadline for all other projects is now Thursday June 18th.
Mom and Dad came down and helped on Saturday! They were in town for Collin’s graduation. Congrats Collin! Also, Jessie and Dad had a birthday this weekend! Jess was Saturday and Dad was Sunday! HAPPY BIRTHDAYS!
In preparation for the water in the bathroom being turned on. Ron attaches the fixtures to the tub.
Here is the device to activate water flow in the shower area.
Finally! We have a real toilet, one that flushes and everything! Also, if you notice there’s a cool classic chessboard ceramic floor!
We received this nice glass door from Karin and Robin, we’ll repaint and embellish it later.
Mike, Ron, Sandy, Amy, and Jess started to paint the kitchen cabinets and trim around the house.
Jess is a true visionary with color, nobody believed that her colors would work out, except me of course.
Here’s the hallway trim, still need to finish the front of that electrical junction.
Here are the kitchen cabinets after painting.
Here are the cabinets and shelf over the range.
Mom and Dad came to help! Here Dad tries to figure out how this place got to be such a mess!
A master at work, he must have experience with sawdust.
Mom worked on the windows while dad swept floors.
I think I need to take lessons from Mom on how to clean windows. When she got done with this one, it looked like the glass was gone.
Sandy finished the final sanding and cleaning of the railing so that it can be stained and painted where it needs it.
My closet has doors! I still have to put the handles and catches on tonight.
I put up the tracks for the movable shelves in the living room.
Jess refinished the blades of the fan for the guest room.
We don’t have any more brass in the house. So I am refinishing this chandelier.
Here are all the little individual accent pieces.
I rewired all of the sockets for safety. Here it is with the new gray powder coat looking finish.
Jess has been saving this crystal chandelier in her Dad’s garage for years. After about 3 hours of love and cleaning. Here it is.
This thing looks great and now graces our front foyer as the first sparkly thing you see, unless Jess answers the door.
Part Two: Harry Potter and the Order of the Tuscan Glaze
As promised, here is the second set of pictures from the recent update. The problem with using 2 different cameras seems to be remembering where the pictures are.
As I briefly mentioned, we built bookcases, trimmed windows and doors, and did a bunch of painting.
Here are the bookcases with a coat of paint. Laura came over and helped us on this.
I installed the new light and fan in the living room.
The mantle looked a little barren, so I got some extra millwork for it.
We recycled the original casing from around the house where we took out doors and windows, and made it fit the bay.
Just a few simple angles cut and Ron was able to allow the casing to retain it’s original face shape but become a corner piece.
Even though the bay windows aren’t original, they look like they fit the design since we used this original woodwork.
We reused the original casing on this window too, and the original sill, (there is however another piece waiting to go on here, under the sill).
Sandy painted the trim in the bathroom.
We also put a coat or two of paint on the hallways. The color is called Aqua Breeze.
Here is the new light fixture for the upstairs hallway, its a platinum/gunmetal sort of finish. Goes great with the light blue on the walls.
We wanted the dining room to be fairly formal, so we went with a Tuscan glaze on the walls.
First we had to put on a Wheat colored base coat. Then Jess and Amy used a technique to put the glaze on.
It uses the base coat, and 3 other colors of glaze/stain which are dry brushed onto the roughly textured plaster.
The light and dark colors fill into the texture and create a really nice depth.
Ella helped Jess finish the trim and fine details.
Here it is, it’s still masked for the painting of the trim.
The inside of the built in is also now a dark glossy walnut color.
The girls did a fantastic job on this room, its almost complete! Just a bit more trim to paint!
It was another two-week long wait for updates, we’ve kicked it into high gear to prepare for carpet. However, working every night leaves little energy for website code.
In any case, here is PART ONE of the update, The rest is on the other camera, so they aren’t necessarily from the same day/week.
Ron and Mike started the bookcases next to the fireplace.
Here is a basic layout of how high they will go.
Ron yells out a massive amount of measurements and angles, while Mike scribbles things down, man they’re fast.
The yard is filled with sawdust after this week.
They’re starting to take shape.
Sandy threw a coat of primer on the cases.
Here they are! The shelves are not installed yet as they’re movable and we dont know what goes on them yet. Also you’ll notice in this picture that the walls are painted (more on that in Part 2).
The kitchen was so gross that I had to use a palm sander to get the grease/food grime off the walls. Then I had to wash them and put this primer on.
Sandy and Heather pulled the gross contact paper off of the kitchen cupboard shelves.
It smells terrible.
Jess primed the trim upstairs in the hallway.
The moulding is up in the bathroom!
The wainscoting and chair rail are in and ready for paint.
Mike caulked the wainscoting.
We are going to be recycling original casing from other windows and doors in the bays, but, Ron had to build a new windowsill.
We decided to recess the sill into the curve of the bay.
Here’s the sill installed.
The crown moulding is installed in the living room.
This stuff really dressed up the room.
Also this week, Ron and I loaded the scrap metal form the house (690 lbs. worth) into the van. Then he and Mike unloaded it at the scrap yard. Finally it’s out of the way.