Now I still like Mint and a poor software center is not enough to make me to stop using the distro as a whole. As such, a quick fix to the issue is to remove Mint Install and apt-get the Ubuntu Software Center. Now this works fine in Mint 8, but after installing the Ubuntu Software Center in Mint 9 I was greeted by a lovely terminal out when the application failed to load:
jeff@jubuntu ~ $ software-center
Traceback (most recent call last):
File "/usr/bin/software-center", line 78, in
from softwarecenter.app import SoftwareCenterApp
File "/usr/share/software-center/softwarecenter/app.py", line 42, in
from view.viewswitcher import ViewSwitcher, ViewSwitcherList
File "/usr/share/software-center/softwarecenter/view/viewswitcher.py", line 34, in
from softwarecenter.backend.channel import SoftwareChannel
File "/usr/share/software-center/softwarecenter/backend/channel.py", line 22, in
from softwarecenter.distro import get_distro
File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 88, in
File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 77, in _get_distro
module = __import__(distro_id, globals(), locals(), , -1)
ImportError: No module named LinuxMint
After having a thread go nowhere useful for a day and a half on the Mint forums, I decided to put my python background to use and try to resolve the issue myself. The following steps are what I have done to resolve the issue.
Open a terminal and run the following in order:
sudo apt-get install software-center
sudo rm /usr/share/software-center/softwarecenter/distro/__init__.py
sudo mv custom__init__ /usr/share/software-center/softwarecenter/distro/__init__.py
And you are all set! Run software-center and it should pop right up for you.
Now, if you are like myself and want the Ubuntu Software Center to run instead of the Mint Software Manager when you click "Software Manager" on your Mint Menu run the following in terminal:
sudo apt-get purge mintinstall
sudo ln -s /usr/bin/software-center /usr/bin/mintinstall
Now in case you are curious (or don't trust me) the edit I made to the __init__.py file you are downloading is made on line 72 in the _get_distro function. By default this line reads:
distro_id = subprocess.Popen(["lsb_release","-i","-s"], stdout=subprocess.PIPE).communicate().strip()
My updated line simply manually sets our distro_id to be Ubuntu.
distro_id = "Ubuntu"
Hackish, but it works :) Isn't it fantastic when you have the source code for a piece of software so people can create fixes such as this?
Have any input on the subject or an issue with the HOWTO drop a comment below.