Archive for the ‘Linux’ Category

Linux Mint Policy Kit Problems

April 19th, 2019

So in Linux Mint 19.1 I managed to kill Policy Kit. Nemo stopped prompting for a password when I tried to ‘open as root’. Synaptic Package Manager stopped opening when I tried to launched it. And various other things broke as well.

After most of a day Googling for an answer, the only thing I kept finding was REINSTALL LINUX. Over and over and over. After I finally gave up on the internet I started trying various ideas. Such as:

sudo apt reinstall policykit-1
sudo apt purge policykit-1
etc.

None of it helped. In fact when I started to purge it, it wanted to also remove my Desktop Environment (Cinnamon). So I decided on a new approach. I Googled up PolicyKit’s repository. https://cgit.freedesktop.org/polkit/tree/ From there I started I poked around in the source code until I found things like this:

install-data-hook:
	mkdir -p $(DESTDIR)$(sysconfdir)/polkit-1/rules.d
	-chmod 700 $(DESTDIR)$(sysconfdir)/polkit-1/rules.d
	-chown $(POLKITD_USER) $(DESTDIR)$(sysconfdir)/polkit-1
/rules.d
	mkdir -p $(DESTDIR)$(datadir)/polkit-1/rules.d
	-chmod 700 $(DESTDIR)$(datadir)/polkit-1/rules.d
	-chown $(POLKITD_USER) $(DESTDIR)$(datadir)/polkit-1
/rules.d
OR
install-data-hook:
	-chown root $(DESTDIR)$(libprivdir)/polkit-agent-helper-1
	-chmod 4755 $(DESTDIR)$(libprivdir)/polkit-agent-helper-1
AND THEN
echo "NOTE: The file ${prefix}/lib/polkit-1/polkit-agent-helper-1
must be owned"
echo "      by root and have mode 4755 (setuid root binary)"
echo

echo "NOTE: The file ${bindir}/pkexec must be owned by root and"
echo "      have mode 4755 (setuid root binary)"
echo

echo "NOTE: The directory ${sysconfdir}/polkit-1/rules.d must
be owned"
echo "      by user '$POLKITD_USER' and have mode 700"
echo

echo "NOTE: The directory ${datadir}/polkit-1/rules.d must
be owned"
echo "      by user '$POLKITD_USER' and have mode 700"
echo

Now I started looking at those directories and checking owner and permissions. Found a few wrong and corrected them. Still it didn’t work.

So I started looking at dbus. dbus is the system that PolicyKit uses to communicate. As I started digging though dbus I found this page https://askubuntu.com/questions/502837/dbus-folder-in-home-folder-belongs-root And as a result checked those permissions too. The final solution was:

sudo chown root:root /usr/bin/pkexec
sudo chmod 4755 /usr/bin/pkexec
sudo chown -R root:root /usr/lib/polkit-1
sudo chmod -R 755 /usr/lib/polkit-1
sudo chown -R root:root /etc/polkit-1
sudo chmod -R 755 /etc/polkit-1
sudo chmod -R 4755 /etc/polkit-1/polkit-agent-helper-1

cd ~
sudo chown -R root:root .dbus
sudo chmod -R 700 .dbus
sudo chown -R root:root .cache/dconf
sudo chmod -R 700 .cache/dconf

And lastly, when you’re working backwards trying to figure out how you got to where you are, /root/.bash_history and ~/.bash_history are your friends!

How to install Microsoft Core Fonts in Linux Mint

April 14th, 2019

The Easy Way:

sudo apt update install
sudo apt install ttf-mscorefonts-installer

But that’s a lot of extra stuff if you just wanted the fonts

I just wanted the fonts.

The Slightly Harder Way:

  1. Search with DuckDuckGo or Google and find the fonts.
  2. Download each file, andale32.exe, etc, except wd97vwr32.exe. You don’t need anything in that file.
  3. Open 2 File Manager windows (to open the second one you can right click a directory like Home and select Open in New Window). In one open Downloads. In the other select View and Show Hidden Files from the menu and then open the .fonts directory.
  4. In your Downloads folder, right click each .exe file and Open With Archive Manager.
  5. Drag just the .ttf files to your .fonts directory.
  6. Note that you can keep your fonts in folders inside your .fonts directory. So in this case you could create folder like MS Core.
  7. Also note that you can install other downloadable fonts this way.