If you are running a satellite backend system such as TVHeadEnd or MediaPortal (or MythTV, if you are one of the lucky few that can actually get it to work), and you use Kodi or the MythTV frontend, then it is possible to populate the schedule grid with listings from many sources. Note I did not say that it is easy, just that it is possible. The key is to use an external program … These are commonly referred to as “schedule grabbers”, or just “grabber” programs.
The real trick is figuring out how to use one of those programs. …..
Aereo provides this service by leasing to each user an individual remote antenna.  This distinguishes Aereo from purely internet-based streaming services.
You can find a full review of Aereo here. Unfortunately, there are several problems with Aereo. The #1 issue is that they only serve certain specific areas of the country, and due to conflicting court rulings, it may be a very long time before they are able to enter certain markets, particularly on the west coast of the United States.
1. You may only register for an Aereo Membership if you live within a market in which Aereo is available (the “Aereo Market”) and you must register for the Aereo Membership using your residential address. A Member may only use the Site and the Equipment to receive television signals that are available in your Home Market. A Member may not use or attempt to use the Site and/or Equipment to access signals that are not available in your Home Market or register for a Membership if you reside outside of the Aereo Market, including, without limitation, by providing a false home address, using a business address, by using another person’s login and password or by any other method that misrepresents or conceals your residential address. Aereo reserves the right to verify your residential home address using your Internet Protocol address, your billing information, geo-location and any other information that you, your ISP, or computer system provide to Aereo, as well as any publicly available information. To the extent offered by Aereo, temporary promotional access will only be available to users physically located within one of the markets in which Aereo is available, and we reserve the right to verify your location through geo-location and exclude you from using Aereo if the geo-location check fails.
So if you were thinking of trying to use a VPN, and/or some other method to conceal your actual location from Aereo, be aware that as far as Aereo is concerned you are persona non grata. We are not so naive as to think that no one will figure out a way to do it anyway. But since Aereo charges a monthly fee for their service, we wondered if there isn’t a better way to go.
How well do you get along with your family and friends?
We are going to discuss an alternative that, quite frankly, won’t work for everyone. Actually, there are two methods. One is for if you are in reception range of your local TV signals, and those are the signals you want to receive. The other is for everyone else, but it builds on the first one. However, the second method only works if you have a close family member or good friend living in a strong reception area, and both they and you have high speed broadband and generous (or no) bandwidth caps. It might also work if you own or rent space that you control in such an area. So, if you are a business owner and one of your business locations is in a strong reception area, you will be able to use the second method.
How do you know what’s a strong reception area? Go to the site TVfool.com and where it says “If you’d like to check your location, then… >> Click HERE <<“, click on that link. Fill in the requested information for your location and it will give you a graphic that contains information about the TV signals available in your area. Let’s say, for example, that you live in Niagara Falls, New York. You might get a chart that looks something like this:
When you look at this chart, the channel list is color coded, with the strongest signals at the top. Now, TVFool tends to be a bit optimistic about reception conditions. Assuming that you will only tolerate a perfect signal, with no or only very rare breakups and glitches, you should probably interpret the chart this way:
Green: An indoor “set-top” antenna might be sufficient to pick up these channels, but you would be better off with an attic or outdoor antenna unless you can actually see the transmitter towers from your home. Yellow: If you want a reliable signal on these, don’t even think of trying to get by with anything less than a good outdoor antenna, or at the very least, an attic antenna that is preferably located in a window facing the transmitters. Red: Fuggeddaboutit! Despite what the site may say, it’s very unlikely that even a good outdoor antenna will get you those stations reliably. Of course, if your tolerance for breakups and interruptions, and total blackouts during bad weather is high, and you want to spend a LOT of money on a tall tower and excellent antenna, you might get a few of these. Grey: The transmitter may as well be in Antarctica as far as you are concerned. On RARE occasions you might receive these channels, but don’t ever count on it.
If all of the channels you really want to receive are in the green, then you may want to try method #1, which you will need to read about in any case because it also forms the basis of method #2.
Method #1: Your own antenna at your home.
Why pay Aereo if you can pick up all the signals (and maybe more) at your own home location? We chose Niagara Falls as an example for a couple of reasons: Most people have some general idea where it is, and Aereo doesn’t yet offer service there, and even if they did it’s unlikely they would offer the Canadian channels as part of their package (we will see when they come to Detroit, supposedly later this year, which is also in a market with a Canadian channel or two. EDIT March 2014: Aereo does not carry any Canadian stations in Detroit).
EDIT March 2014: In the text below, there are several references to the “HDHomeRun Dual”, but this device is being superseded by two newer devices: The HDHomeRun DUAL – Generation 4 (Amazon Link), which is said to have a better tuner and other improvements over the previous model, and the HDHomeRun PLUS (Amazon Link), which in addition to the other improvements also “Converts video to H.264 AVC for more efficient streaming and better playback support on portable devices.” This latter feature, available on the HDHomeRun PLUS model only, could be important if you are sending the video to another location over the Internet, as will be discussed in the next section.
The basis of an alternative to Aereo involves a hardware device, and a software package. The hardware device is the HDHomeRun Dual (Amazon link). It is basically a network-connected tuner that can tune up to two signals at a time from an antenna. You can use more than one on the same network, so if you wanted the ability to tune up to four channels simultaneously, you could buy two HDHomeRun Duals. Note that each HDHomeRun Dual can connect to a separate antenna, or to the same antenna through a splitter. So if, as often happens, you have a clusters of stations in two (or more) different directions, you could use one HDHomeRun and antenna to receive the channels in one direction, and another HDHomeRun and antenna to receive the channels in another. In the case of our hypothetical Niagara Falls viewer, they might point one antenna to the southeast to pick up the Buffalo stations, and another to the northwest to pick up the Toronto stations. For that matter, they could add a third HDHomeRun and antenna to pick up the stations from Hamilton, Ontario, or they could try aiming an antenna halfway between Toronto and Hamilton and connect that to a single HDHomeRun, and hope for the best.
With just a HDHomeRun Dual, you can watch television on any computer or network-connected device in your home, and that includes any TV that’s connected to a computer or compatible home theater PC. But since a TV can already receive signals from an antenna, that may not by itself be too useful. Oh, and by the way, if someone has told you that it is no longer possible to use an antenna to pick up signals now that television has gone digital, there is no polite way to say this: They flat-out LIED to you. And let’s just say that there have been more than a few LIARS among the ranks of cable TV and satellite customer service representatives.
The real magic happen when you pair a HDHomeRun with a software package called MythTV. But before we get into that, let’s first explain a bit about how MythTV works.
There are two components to MythTV, a backend and a one or more frontends. A backend and a frontend can be run on the same computer, but they don’t have to. You can almost think of the backend and frontend as two separate programs that are installed as part of the same package. The frontends depend on having access to a backend. In a way, it’s a little like the relationship between a web page server such as Apache, and a web browser such as Firefox or Chrome. One web page server can serve pages to many web browsers, but a web browser is useless if there are no web servers. In the same way, you can have many MythTV frontends on a local network, but they need to be able to connect to a MythTV backend somewhere on the network.
The backend is what actually receives the signal from any connected tuners, such as the previously-mentioned HDHomeRun Dual. If the signal is being recorded, it is the backend that stores the recorded program to a storage device. It is the backend that actually runs the schedules that record programs. The backend also can receive program guide information, which is then made available to the frontend clients.
The frontend is what runs on your PC (which could be a Home Theater PC), tablet computer, or other device. It lets you view live or recorded TV from the MythTV backend. It also allows you to access the schedule information on the back end, and schedule the recording of future programs.
There is actually a LOT more that both the backend and frontend can do — MythTV is a VERY capable program — but this is simply a high-altitude overview of how the two components relate to each other. It should be noted that certain other home theater programs, notably XBMC, can also act as a MythTV frontend (with somewhat limited capabilities) if it has the correct PVR add-on installed, but that’s beyond the immediate scope of this article.
What many MythTV users might not realize is that the MythTV backend offers a web interface (called MythWeb) that allows you to schedule programs, and do much more, from a web browser on your local network. One thing it offers is the ability to download files of recorded content. So, for example, if you have a recorded TV show that you’d like to watch while you’re riding the bus or train to work, you can simply download it to your phone or tablet before you leave.
This also implies that you don’t necessarily need to run a frontend to get some benefit from the MythTV backend. For example, if all you ever want to do is record shows off the air so you can view them later on your phone or tablet, you can do that by running the backend only, and interacting with it solely via the MythWeb interface.
We have found that the easiest way to get a MythTV installation going is to install Mythbuntu on a dedicated computer, which doesn’t necessarily need to be a high-powered machine. In fact, if you only plan to use it as a backend, the main thing you want to make sure of is that it has a fast network interface – at least 10/100, but if you plan to have more than one HDHomeRun on the network, a gigabit interface would be very desirable. Other than that, as long as the computer isn’t totally ancient, it will probably work. If you also want to use it as a frontend, then the requirements are probably a bit more stringent.
But then again, there are people who run MythTV on a Raspberry Pi (also see this document – direct PDF link). So maybe the requirements are even lower than what we believe. If it will run reliably on a Raspberry Pi, that implies perhaps that all you would need is a HDHomeRun, a Raspberry Pi, and an external hard drive with plenty of storage (that does not attempt to draw too much power from the Pi’s USB port) and you’d be in business, assuming you’re able to follow the directions.
Method #2: But what if you’re not in a good reception area, or you can’t put up an antenna?
First you need to understand that a lot of people who think they can’t put up an antenna actually can, under FCC regulations. You’re permitted to install a satellite dish or antenna up to 1 meter in diameter on property that is under your direct control. So, for example, if you live in an apartment building with a balcony, and the balcony is under your direct control (that is, it’s for you only, not shared with your neighbors) then in most cases you can put an antenna there, provided it’s relatively small and unobtrusive and you don’t damage the landlord’s property. The FCC says so (disclaimer: We are not lawyers, so if this matters to you, find a lawyer and ask him for advice – don’t take our word on this). But, not all landlords recognize that federal law allows this, so you may need to pick your battles. And, you do not have the right to place an antenna in an area you do not control, such as the roof of your apartment building. For more information, see YES YOU CAN: Put a dish or antenna on your apartment balcony.
If you own a home but it is in a development that has deed or covenant restrictions that forbid you from erecting an antenna, we first of all will say that you were very dumb to buy into such a development (but, you probably already realize that!). Keep in mind, though, that the neighborhood busybodies can’t give you grief about your antenna if they don’t know it’s there, so you could get creative and hide it so they can’t see it, or can’t recognize it as an antenna. For example, with a little ingenuity it might be possible to hide a flat antenna underneath vinyl siding, though obviously such mounting would make it difficult to point the antenna at the stations you want to receive. Some people have disguised antennas as a piece of deck furniture, or even as an artistic item.
Sometimes you can place a small indoor antenna such as one of the Mohu Leaf or Terk indoor HDTV antennas in a window or on a wall and get adequate reception (some people have found that less expensive models such as those offered by Homeworx will do the job, but read the reviews before purchasing any indoor antenna).
But if that doesn’t work, what can you do? Well, think about what we said earlier about having have a close family member or good friend, or better yet, another property that you own or control, in a strong reception area. If there’s also a broadband connection available at that location, then you could put a MythTV backend, HDHomeRun, and perhaps an antenna (if they don’t already have one you can tap into) there. If it’s a friend or relative’s home, you could offer to set that person up with a MythTV frontend so they can watch and record shows, thereby giving them some incentive to let you place this equipment in their home.
Then when you want to watch a show that’s not available in your area, all you need to do is log into the MythTV web interface at the remote location, and tell it to record that show. After the show is recorded, you could go back into the MythTV web interface and download the show, and then after it’s downloaded you can delete it off the server to make room for more recordings.
There is an issue with that, though. Quite simply, the recordings are HUGE! For example, we recorded a high definition half hour newscast and the resulting file size was 3.47 GB! And while MythTV has a built-in transcoding option, that is more for changing the container format than shrinking the file size. So, you may want to figure out some way to compress the video prior to downloading it (possibly using ffmpeg or HandBrakeCLI, or maybe you know of something even better). And prior to doing that, you’ll probably want to give the recordings filenames that mean something to humans. We suggest you look at a script that’s often distributed with MythTV called mythlink.pl, after which you can use the video compression utility of your choice to shrink the files to something a bit more manageable. Then you can upload or download the compressed files using SFTP, which works over a ssh connection.
Note: For HandBrakeCLI users, we found that a line of this form will compress a 720p or 1080p source file significantly, producing a 720p output and only 2-channel stereo sound:
If anyone can figure out how to make HandBrakeCLI output full multi-channel sound, please let us know in a comment (only after you have tested it, though – we tried some settings that we thought should work, but didn’t).
Another option for compressing the video that might be even easier to implement is Mythbrake, a script that “shall be called as MythTV user job. It transcodes the DVB recordings (mpeg files) using Handbrake.” This script requires that you install the command line (CLI) versions of Handbrake and Mediainfo (so, the package names are handbrake-cli and mediainfo), both of which can be found in the online repository and installed using apt-get or Synaptic. If you want to use this script, be sure to read the entire Wiki page because you WILL need to make some changes to the script, especially if you do not live in Germany.
EDIT: As mentioned earlier, simce this article was originally written SiliconDust has released the new HDHomeRun PLUS (Amazon Link), which has the ability to compress the video stream within the hardware itself. However, we do not know if MythTV can handle the compressed stream at this time. If MythTV has the ability to work with the compressed stream, that might mean that the files sizes would already be reduced and there may not be a need to run additional compression software, and it also introduces the possibility that the compressed stream could be sent to another location in real time.
We don’t know how much Aereo compresses their files, but would suggest that unless you have a very generous bandwidth cap, you don’t plan on watching an entire day’s schedule of soap operas and game shows using this method! If you do, you will probably blow through your bandwidth cap pretty quickly, and we suspect that’s also true for actual Aereo users. You can only compress video just so much before it starts to look like crap. But for that occasional prime time program you just can’t miss, this at least gives you a way to receive it.
Now you are probably wondering, wouldn’t I need to open one or more ports in my friend or relative’s router to be able to access the MythTV backend, and wouldn’t that be a security risk for them? The answer is yes, you do need to open one port only for ssh, and no, it won’t be a security risk if you know what you are doing and pay attention to what we are about to tell you.
When you set up the MythTV backend, we suggest that you don’t simply open port 22 (the standard ssh port) in the router and forward it to the backend machine, unless you are also knowledgable enough to set up a firewall that limits outside access to you and you alone. What we instead suggest is that you forward a different port, such as a higher, more obscure port to port 22 on your backend (alternately you could change the ssh port on the backend if you know how to do that, and then open that port in the router). The idea is that, as far as anyone outside the local network is concerned, you don’t want the common ssh port 22 to be open. That will at least slow down some of the bad guys.
But in addition to doing that, and especially if you don’t do that, be sure you set up ssh public/private key authentication and then disable the use of passwords for ssh logins. That way, a would-be intruder simply cannot ever succeed in cracking your password, because you don’t use one! To do that, on a Ubuntu or Mythbuntu machine (and in many other variants of Linux) open the file /etc/ssh/sshd_config with a text editor (you will need to be root or use sudo) and make sure all the values are set as shown below (add any that aren’t there, and if they are already there, make sure they aren’t commented out):
Then either reboot the system or run /etc/init.d/sshd reload from a command prompt. Don’t do this until you have public/private key authentication working, and make sure all those settings are correct (especially PubkeyAuthentication yes), otherwise you will lock yourself out of the system!
Do NOT open port 80 so you can get to the MythWeb page. You should only open the (obscured) ssh port as described above.
Here is how you get to the MythTV backend from a remote location. First, to get to the MythWeb page, open a ssh session using the following syntax:
Now that may seem a bit confusing, so let’s break it down. Let’s say that your remote MythTV box is hanging off of a router at internet address 188.8.131.52, and in the router you are forwarding incoming TCP port 12345 to port 22. On the MythTV backend your user name is superadmin, and the MythWeb page is on the standard http port 80 (the default), and you want to be able to access remotely it in your browser by going to http://localhost:8080/mythweb/ — in that case, you’d use this:
Then, once you have executed that (effectively opening an ssh tunnel from your machine to the other), you can access the MythWeb page by going to http://localhost:8080/mythweb/
Please don’t use 12345 as your actual port number for incoming ssh traffic — make it something a bit more obscure! For more information, see the MythWeb ssh tunnel howto. When you use this method of access, all your traffic between the backend and your web browser travels through a secure and encrypted tunnel, and because you didn’t open any http ports in the router for MythWeb, nobody else outside the local network can get to it. By the way, if your MythTV backend is not at a fixed IP address, you may need to set up an account with a dynamic DNS service such as FreeDNS, so you can find your backend on the Internet. In that case you’d use the dynamic IP address in place of 184.108.40.206 in the above example.
But, what if you need to do some configuration on the MythTV backend? Well, there is a way to do that too, without installing any other software or opening any more ports. First, open the file /etc/ssh/sshd_config on the MythTV backend and make sure the following value is set:
Assuming that it is, on your local machine open an X terminal program. For example, on a Mac you will want to go to the Utilities folder (in the Applications menu), open Utilities and then run either X11 or (if you have it installed) XQuartz. Under Linux you can probably use a normal terminal window, since Linux supports X windows. Under Windows, the method will depend upon the terminal program you’re using (if you’re using PuTTY, the article Setting up X11 tunneling in PuTTY may be helpful). When that terminal window opens, enter a command in the following format:
ssh -C -X -l username address -p port
For example, again assuming the same specifications we used earlier:
ssh -C -X -l superadmin 220.127.116.11 -p 12345
Note that the syntax varies somewhat from that used to invoke some other types of ssh sessions — we have no idea why.
Once a ssh connection is made to the distant machine, you can then enter:
To run the MythTV backend setup program. Note that windows will appear as if they were running on your local machine. For example, on a Mac, the opening window will look like this:
The tipoff that this is actually running on a remote server is an X icon in the title bar. Other windows will appear and disappear as you navigate around the program. When you are ready to exit the setup program, navigate to the main menu and press the Esc key. This should close the program, although it may first pop up a window asking if you want to run mythfilldatabase. In most cases you should answer “No” unless you have a specific reason for doing so (be sure to click “No” if you are using the method described in How to get free TV schedule information for MythTV to get your schedule information), and then you can type exit at the X terminal prompt to close the ssh session. When you do it this way, you’re not using the overhead of a remote desktop program (which you don’t have to install), and you don’t need to open any additional ports, plus your entire session is encrypted and compressed.
(Pro tip for Mac users: If you are in an X window and you need to paste text from your local clipboard, click the middle mouse button or wheel.)
By the way, if ever you ever try to run other software using this method, be aware that some programs should be run using sudo and some should not. mythtv-setup should NOT be run using sudo, but something like update-manager should:
Although since you are at a command prompt from the remote system anyway, you could just do
sudo apt-get update && sudo apt-get upgrade
to update your software packages.
Obviously there is a lot more that could be said about the procedure for setting up MythTV, but our purpose here is to give you a general idea of how setting up your own substitute for Aereo might be accomplished. And, of course, there are probably other ways to achieve the same result. Some people prefer a program called TVHeadEnd to MythTV, but we don’t because we found it very difficult to configure. Some people prefer to use another type of TV tuner instead of a HDHomeRun, but we like the HDHomeRun Dual because it is small enough that you can put relative close to the antenna (thereby minimizing signal loss) rather than needing to run coaxial cable to the machine running the MythTV backend.
And we know that some of you may be thinking, my friend or relative has cable, couldn’t I… hey, we are not even going there. That opens up another whole can of worms, the main one being that most cable signals are digital nowadays and the HDHomeRun DUAL cannot receive them. There is another model of HDHomeRun, the HDHomeRun Prime (Amazon Link), that uses a CableCard and can receive digital signals, but we have read several articles that indicate that if the cable companies have anything to say about it, the CableCard technology is going away soon. And beyond all that, we suspect that most cable companies would take a very dim view of one of their subscribers slurping up cable signals and then sending them over the Internet to a friend or relative. As we noted earlier, we are not lawyers, so we won’t opine about the legality of it, but we suspect that cable company lawyers might have some strong feelings about it.
EDIT (March, 2014): Is there any other way to get free TV if I live in a poor reception area?
That depends on where you live and whether you have a clear view of the southern sky. If you live in a rural area, or an area where the local code enforcement officials and neighborhood busybodies are not too persnickety, you may be able to install a large C-band satellite dish (sometimes also known as a BUD, which is an acronym for “Big Ugly Dish”, although the newer mesh models aren’t as ugly as the older dishes). We are not talking about one of the smaller dishes here; while a small dish can be used to receive certain signals (notably PBS), most of the network TV signals and feeds to be found will be on C-band.
Receiving C-band (large dish) and Ku-band (smaller dish) is something of a hobby, but the reward is that you can receive several network and non-network stations for free, although the signals do tend to come and go. Stations or signals that are here today may not be available tomorrow, but new ones may appear. If you want to learn more about this, there is a discussion forum at Ricks Satellite. You can also search for information on “Free To Air” satellite receivers and equipment, but be aware that the phrase “Free To Air” has a different meaning in North America than in some other parts of the world (particularly Europe).
Be careful, however, particularly if you live in the U.S. or Canada, because there are some sellers (particularly on eBay) that sell illegal equipment, that can be used to “pirate” scrambled pay TV signals. The problem with this equipment, besides the fact that you are engaging in piracy, is that any television receiving equipment also radiates RF energy for a short distance and therefore it IS possible to tell if you are using this equipment from within a vehicle driving by on the street. But the bigger issue is that very often the sellers of such equipment are caught, and their customer list is confiscated by the FBI or some other federal agency, and then the feds go after the purchasers of such equipment, and you can get a huge fine and even potentially a prison sentence for knowingly using such equipment. The general rule is that if a signal is unscrambled on a satellite it is okay for you to watch it, even if it is a pay TV service, or even if they transmit some ominous sounding warning that it is a feed intended only for a network’s affiliates. But, the moment they scramble the signal it is off limits for those that aren’t paying to receive the signal and using approved equipment (Disclaimer: We are not lawyers, so if this matters to you, you may want to consult with an attorney to get correct, up-to-date information).
The forum mentioned above prohibits the discussion of signal piracy, so you are pretty safe in using any equipment recommended on that site. We will also add that some sites may leave you with the impression that there is nothing available on C-band anymore. While it is true that the days when hundreds of unscrambled signals were available are long gone, if you are in a poor reception area the ability to get a good signal from even one or two stations might make a big difference, and there are a lot more than one or two unscrambled signals available as this is being written. BUT, if you own a home that is in a development that has deed or covenant restrictions that forbid you from erecting a satellite dish, you will not be able to put up a C-band dish, and that’s also true in many cities, and even in some of the more hoity–toity townships.
If you speak any languages other than English, then you have an added incentive to look into Free to Air satellite TV, because many of the stations available (particularly on Ku-band, which can be received using a smaller dish) are in languages other than English. The same is true if you are a news junkie, because often breaking news feeds will be available on satellite. For example, during Hurricane Katrina and the rescue efforts that followed, local TV station coverage from New Orleans was available for viewing on satellite.
A few final thoughts…
You may be thinking, as we often do, that there is no reason people should have to go through all this nonsense to watch TV. It is inevitable that the model for the delivery of video content must change, just as the model for the delivery of music has changed. The only thing that holds it back are the broadcast industry and the networks, who can’t let go of the distribution methods that they have used since the birth of commercial television. The idea that if you live in a certain geographic area, you can only get major network content from a particular group of local broadcasters is an idea that is well past its shelf life. Besides, a lot of people hate their local broadcasters and to a lesser degree the networks, for a number of reasons — for example, the need to plaster their own gaudy graphics over the top of the program you want to watch, and the fact that if they say a program will start at a certain time, it doesn’t always do that. Some people do still like to watch local news, but many stations are now consolidating their news departments so that you are now more likely that ever to get the same news on most or all local channels, just read by different talking heads. And most younger people get their news online (the closest they will come to watching televised news is The Daily Show).
So at some point, Aereo needs to realize that their real value will be in offering people access to channels that they cannot currently get in their local area. We understand why they are not doing that now — they need to fight one legal battle at a time — but only offering customers stations that they can already get off the air with a good antenna is not going to be a sustainable business model forever, particularly as the program producers start to realize that they can bypass the networks and local stations altogether. The change will take time, but the question is when it will take place, not if it will take place. There is a whole generation coming up that hardly watches network television; does anyone really think that when they are old enough to be elected to office or appointed to leadership positions that they will be the slightest bit interested in keeping the major networks/local affiliates model on life support? Or that they will think that geographic restrictions on which stations you can watch are anything other than totally ridiculous?
Why is it that we can tune in an AM or FM radio station from another part of the country, or even another part of the world, and listen all we want, but we can’t even watch an online stream from our local network affiliates — except, perhaps, when they are airing locally originated programming? What makes video so special? In a sane world, a service like Aereo, as it currently exists, shouldn’t even be necessary. The networks, or at very least, the local stations should be streaming their content themselves! The fact that Aereo exists, and is apparently thriving in the places where it offers service, is a testament to how far the established broadcast industry has their heads up their collective posteriors.
Former title: Installing Ubuntu Linux (or Mythbuntu) in place of OS X on a Mac Mini (changed because this article is now less specific to Ubuntu or the Mac Mini).
This is an edited version of a post that originally appeared on a blog called The Michigan Telephone Blog, which was written by a friend before he decided to stop blogging. It is reposted with his permission. Comments dated before the year 2013 were originally posted to his blog.
All computers have their day in the sun, and then something new comes along that makes them less desirable. I have a Mac Mini that I acquired sometime around the time OS X Leopard came out, probably in 2009. As time went by it became slower and slower and I finally replaced it. However, it seemed a bit of a shame to have it just sitting in a closet doing nothing, so I decided to see if I could put Ubuntu Linux 12.04 (at that time the most recent LTS version) on it. I started out by trying to follow the instructions on this page (the Single Boot/MBR option) but ultimately it turned out to be not nearly that complicated. NOTE THAT THIS WILL NOT GIVE YOU A DUAL BOOT SYSTEM; THIS IS REPLACING OS X WITH UBUNTU LINUX, AND ALL YOUR EXISTING DATA ON THE HARD DRIVE WILL BE ERASED!!! YOU HAVE BEEN WARNED!!!
Also: THIS IS FOR EXPERIMENTAL AND INFORMATIONAL PURPOSES ONLY. This is what worked for ME. This MAY or MAY NOT work for you. It may even brick your system (if that should happen, try doing a PRAM reset before you totally panic). It did not do that to me, and I have never heard of anyone having that problem, but your hardware may be a bit different than mine, so I make NO guarantees!!! Here’s all I wound up having to do:
Connected a USB keyboard and mouse.
Before proceeding I made sure I had the latest firmware upgrade – that is very important since you can’t do it once you have installed Ubuntu, and the rest of this might not work if you have old firmware. Another thing you can’t do is disable the startup chime so if you don’t want that after Linux is installed, find a way to turn it off before proceeding (I wanted it, and it’s used in the instructions that follow, so I didn’t search for a way to disable it, and I don’t recommend you do either).
Inserted my old OS X Leopard installation CD (any OS X installation CD that works with the Mac should be fine for this procedure)
Rebooted while holding down the “C” key
Accepted the default language (English) and pressed Enter
From the top menu bar, I selected Utilities | Disk Utility
In Disk Utility I selected the internal hard drive in the left hand side panel. You have to select the drive itself (it shows the brand name of your drive), not the partition
Clicked the Partition tab, selected 1 Partition under the Volume Scheme (instead of Current)
Clicked the Options button and selected “Master Boot Record”
Clicked the Continue button (this erases the hard drive)
When the above finished, I quit Disk Utility, then quit the installer
The Mac rebooted — at that point I clicked and held the leftmost mouse button until the CD ejected
Inserted the Ubuntu Install CD, then power cycled the Mac Mini
At the startup chime I pressed the “C” key to boot from the CD
When the Ubuntu CD boots, you are given the option to install Ubuntu directly, or to try Ubuntu (which takes you to the Ubuntu desktop). As it turns out, I could have simply ran the installer. Instead, I did it from the desktop because I was following some instructions that said you have to type in some things during the install, and you need to have access to a terminal window to do that. But when I tried to type those things in, Ubuntu rejected them with errors, so I just let it complete the install (answering the questions it asked during the install). I did NOT select any special partitioning, etc. – I pretty much did a plain vanilla installation, generally accepting the defaults except where they weren’t appropriate or weren’t what I wanted.
NOTE: If, when you boot into the Ubuntu installation CD, you are greeted with a screen that asks you to “Select CD Rom boot type” but you cannot select anything because neither the keyboard nor the mouse are functional, or if you get a black screen at some point early in the install process, then you may need a special build of Linux intended for use with 64-bit Macs that use a 32-bit EFI. Such models were mostly manufactured in the last half of the 2000’s. In that case you can try the solution offered here, if you can understand the instructions, or you can see if you can find a suitable ready-made .iso file at Matt Gadient’s site (note that even though it says “late 2006 models” in the title, those builds should work with late 2006 and later 64-bit Macs that use a 32-bit EFI).
When the install was finished (after quite some time), I rebooted. The only unusual thing was that after the reboot, the screen remains white for about 20-30 seconds right at the start of the reboot. Then after that delay, it finally decides it will load Ubuntu. That still happens and while it makes the startup take a bit longer, I’ve seen worse. The reason for this (and a possible fix) can be found here: Reducing the 30 second delay when starting 64-bit Ubuntu in BIOS mode on the old 32-bit EFI Macs.
Oh, and the sound was muted by default for some reason, and the volume slider set all the way down. After I unmuted it and turned up the volume slider, the sound worked normally.
The wired network connection worked fine. I don’t use WiFi here so I did not test that. If you have issues with those, or any other issues see GNU/Linux Debian on a Macbook Pro 11-1, which contains some additional hints that may make things run more smoothly (or work at all) after installation. I would use any hints on that page only if you have one of the specific issues that the author had. Another page with possibly useful additional hacks to make this work is Mac book pro 11.3 Linux customization (2): grub and hardware, which may be helpful if you have issues with an unrecognized Intel Iris GPU or Thunderbolt, but again I would only use these if you really need them, since this article is from 2014 and such hacks may no longer be necessary (by the way, this blog has several other pages of rather technical hacks for using Linux on a Mac Book Pro, and while many users will not need any of them, you can search that site for the phrase “Mac book pro 11.3 Linux customization” to find the other articles).
The only real hitch I found was that it wouldn’t boot if I didn’t have a video display connected! I have no idea why that was the case but there is a hardware workaround described on this page. Hope you didn’t misplace your Mac Mini’s DVI to VGA adapter! I had a 100 Ω resistor handy and that seems to work fine (it’s probably about 40 or 50 years old but what the heck, carbon resistors don’t change value that much just sitting in a junk box). If you can’t find the DVI to VGA adapter, I have read that at least one user placed a resistor directly into the DVI port between pins C2 and C5; you can use this pinout diagram to find those pins. However, I have not tried this, so I make no guarantees. Either way, the point is that the resistor goes between the analog green signal output and the analog ground return. If you can’t find the adapter, can’t get this to work, or if you just don’t want to mess around with a resistor, you can try a DVI Emulator/Dummy Plug that includes an EDID chip, that may be available from Amazon or eBay. A DVI 1920×1080 or 1920×1200 model should be sufficient. Such a device fools the Mac Mini into thinking a display is connected.
After I had this running for a year or two I read that Ubuntu doesn’t control the system fan properly. You can do this in some newer versions of Ubuntu (and possibly other Linux builds) to get fan control to work. First, try using your chosen Linux distribution’s Software Center or package manager to search for and install the macfanctld package (after you check for updates). If that doesn’t work, try this (assuming you’re using a Ubuntu or Debian based distribution):
sudo apt install -y macfanctld
On my system at least, it appeared that this did cause the fan to run a bit faster but not enough that I really noticed it. Once it is installed, you can type man macfanctld at a Linux command prompt to get configuration instructions. Changes to temperature limits and minimum fan speed are made in the file /etc/macfanctl.conf.
Also, although I have not personally done this, I have read on a couple of pages that you can enable automatic reboot after a power interruption by adding one line to /etc/rc.local (this may be Ubuntu-specific, but you can always remove it if it doesn’t work):
setpci -s 0:1f.0 0xa4.b=0
If you have smb or samba installed (it is installed by default in many distributions) and find that your samba/smb log files fill up with complaints such as “Unable to connect to CUPS server localhost:631 – Connection refused”, here is a workaround. In the [global] section of /etc/samba/smb.conf add these lines:
printing = bsd
printcap name = /dev/null
Then from a command prompt restart samba:
sudo service smbd restart
Long ago I read a post on Reddit where the author said, “After months of headaches and tinkering I’ve finally found the stupid way to let Linux work properly on Macs. Just add acpi_osi=Darwin as boot parameter.” Unfortunately I did not save a link to that post so I have no idea if still valid advice, and therefore I would only try it if something (particularly Thunderbolt) isn’t working right and you can’t resolve it any other way. If you understand Linux kernel stuff see the final paragraphs of this page for a discussion of this setting, also see Section 2 on this page. If you don’t use the Thunderbolt port then you probably don’t need this, and you may not anyway.
By the way, I had intended to try Linux Mint but they no longer offer a version that fits on a CD, and I still have about a gazillion blank CDs (plus I already had Ubuntu 12.04 burned to CD) and since the Mac Mini doesn’t have a BIOS in the traditional sense, there is no way to install from a USB stick, so Ubuntu it was. For what I plan to do with this, having Mint would be no advantage. Many older Macs have issues booting from a USB memory stick, although one site I read said that they might be able to if you use UNetbootin to transfer the Linux image file to the USB stick. I did not attempt that, so I cannot say whether that works. I got it to work using a CD, but I do realize that CD and DVD burners are becoming somewhat of a scarce item these days.
Note that nowhere above did I mention a program called rEFIt, nor did I mention BootCamp. I didn’t need either of those.
Had this not worked I could have always reinstalled Leopard, but again, for what I was doing with this system (running a Tvheadend backend, for one thing) Linux was probably a better choice, but I still wanted to be able to use this as a backup regular desktop computer, should the need ever arise.
One final note: This is the xorg.conf I used with my “headless” system. It came from this blog post and I did have to save it as /etc/X11/xorg.conf and not the filename shown in the post (in newer versions of Linux I believe this location may have moved yet again, so you may need to search to find the correct location for the xorg configuration for your distro). Note this is only something you might consider using if you have installed a version of Linux that includes a desktop; you don’t need this if you have a server-only version of Linux that has no desktop installed (one where you do everything from a Linux command prompt):