Parrot OS Home Edition 5.1 on the Framework (12th Gen)--the story so far

Got My DIY 12th gen recently and was eager to try Parrot OS Home Edition on it. Here’s what I’ve got…

  • i5-1240P CPU
  • 32x2 GB RAM (Ripjaws from G.Skill)
  • 2TB NVMe SSD storage (CS3040 from PNY/XLR8 Gaming)
  • Windows 11 Pro (100 GB partition–for normal Windows stuff)
  • Windows 11 Home (100 GB partition–exclusively for remotely proctored university & certification exams)
  • 100 GB partition for Linux (Parrot, in this case)
  • 1.55 TB data partition shared between Windows 11 Pro & Linux installations

As there aren’t any guides (or much of anything at all) out there on getting Parrot up and running on Framework, I’ve been using the Debian-on-Framework resources available (including threads here) and adjusting accordingly. There have definitely been some issues that I’d like to see if the community is able to help with, but we’ll get to those later.

Installation itself was pretty smooth. I had an Ubuntu installation in the Linux slot beforehand and I simply selected that partition for where to put my Parrot install. After getting it installed and playing around with it, I quickly realized that I wanted GNOME as my desktop environment instead of the default MATE for two reasons…

  1. fractional scaling
  2. fingerprint reader

I installed Parrot’s flavor of GNOME via the doc at Desktop Enviroments - Parrot Documentation with the following Terminal command

  sudo apt update && sudo apt install parrot-desktop-gnome

That’s unfortunately where the problems started–mainly that installing GNOME seems to break something with Synaptic. (I’ve re-installed and re-re-installed Parrot and the problem always appears after installing parrot-desktop-gnome.) Now, if I go into Synaptic and select Settings >> Repositories, it invariably pops up a “Repositories changed” dialog box and instructs me to click “Reload,” and then it never gets me to the Repositories list. Some Googling has told me that this problem has existed here and there in Debian-based distros since at least 2010 (!). Running Synaptic from Terminal and attempting this gives me this output…

ERROR:root:Cannot import UbuntuDrivers: No module named 'UbuntuDrivers'
Traceback (most recent call last):
  File "/usr/bin/software-properties-gtk", line 101, in <module>
    app = SoftwarePropertiesGtk(datadir=options.data_dir, options=options, file=file)
  File "/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 109, in __init__
    SoftwareProperties.__init__(self, options=options, datadir=datadir)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 103, in __init__
    self.sourceslist = SourcesList()
  File "/usr/lib/python3/dist-packages/aptsources/sourceslist.py", line 276, in __init__
    self.refresh()
  File "/usr/lib/python3/dist-packages/aptsources/sourceslist.py", line 292, in refresh
    self.matcher.match(source)
  File "/usr/lib/python3/dist-packages/aptsources/sourceslist.py", line 484, in match
    if (re.search(template.match_uri, source.uri) and
  File "/usr/lib/python3.9/re.py", line 201, in search
    return _compile(pattern, flags).search(string)
  File "/usr/lib/python3.9/re.py", line 304, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib/python3.9/sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "/usr/lib/python3.9/sre_parse.py", line 948, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
  File "/usr/lib/python3.9/sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "/usr/lib/python3.9/sre_parse.py", line 834, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "/usr/lib/python3.9/sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "/usr/lib/python3.9/sre_parse.py", line 834, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "/usr/lib/python3.9/sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "/usr/lib/python3.9/sre_parse.py", line 668, in _parse
    raise source.error("nothing to repeat",
re.error: nothing to repeat at position 2

Also, I can’t get the fingerprint reader to work. I got as close as getting the setting to appear, but whenever I try to enroll a fingerprint, it says “Fingerprint Reader Disconnected.”

I really want to give this distro a fair shot on the Framework, but it may be back to Ubuntu or Fedora if I can’t iron these issues out.

If anyone’s interested in a small update… decided to roll back to the original MATE config via Timeshift and then gave the Cinnamon DE a try upon a suggestion. The Synaptic problem went away upon returning to MATE, but unfortunately returned on Cinnamon. Fractional scaling was giving me fits as well, so I ended up going back to GNOME after all.

I’ll likely go back to Ubuntu or Fedora and just mess with the full Security Edition of Parrot in VMs for now.