@@ -271,8 +271,14 @@ elif [ -n "$apt" ]; then
271271 sudo apt-get -y update
272272 if DEBIAN_FRONTEND=noninteractive sudo -E apt-get -y install chromium; then
273273 echo Debian-like OS detected
274- # Fix Chromium icon
275- sed -i.bak -e ' s/^Icon=chromium-browser/Icon=chromium/' config/xfce4/panel/launcher-11/14849268213.desktop
274+ sudo snap list | grep chromium > /dev/null
275+ if [ $? -eq 0 ]; then
276+ # No need to muck with icon on Ubuntu 24.04
277+ echo " Chromium was installed via snap on modern OS..."
278+ else
279+ # Fix Chromium icon
280+ sed -i.bak -e ' s/^Icon=chromium-browser/Icon=chromium/' config/xfce4/panel/launcher-11/14849268213.desktop
281+ fi
276282 else
277283 DEBIAN_FRONTEND=noninteractive sudo -E snap install chromium
278284 if [ $? -ne 0 ]; then
@@ -373,7 +379,7 @@ if sudo [ -f /var/lib/AccountsService/users/tapioca ]; then
373379 sudo sed -i.bak -e ' s/XSession=.*/XSession=xfce/' /var/lib/AccountsService/users/tapioca
374380 sessionset=1
375381 fi
376- if [ -z " $sessionset " ]; then
382+ if [ -z " $sessionset " ]; then
377383 # Append a new XSession line
378384 sudo bash -c " echo XSession=xfce >> /var/lib/AccountsService/users/tapioca"
379385 fi
@@ -661,6 +667,28 @@ while [ -z "$mitmproxy_ok" ]; do
661667 # Just use system-wide python3 to get mitmproxy here.
662668 sudo pip3 install mitmproxy pyshark
663669
670+ if [ $? -ne 0 ]; then
671+ echo " We're going to have to do a split install of Python code... :-/"
672+ $mypip install mitmproxy pyshark
673+ # pip is a moving target and everything is terrible
674+ # https://techoverflow.net/2022/04/07/how-to-fix-jupyter-lab-importerror-cannot-import-name-soft_unicode-from-markupsafe/
675+ $mypip install markupsafe==2.0.1
676+ sudo apt install -y python3-pyqt5
677+ if [ $? -ne 0 ]; then
678+ echo " Cannot figure out how to get PyQt5 on this platform. You're on your own here..."
679+ else
680+ echo " We've gotten PyQt5 via APT. No need to manually install it"
681+ unset pyqt5
682+ echo " Overriding shebang in python code that uses PyQt5 to use system-wide python3"
683+ sed -i.bak -e ' s/#!\/usr\/bin\/env python3.7/#!\/usr\/bin\/env python3/' tapioca.py
684+ sed -i.bak -e ' s/#!\/usr\/bin\/env python3.7/#!\/usr\/bin\/env python3/' noproxy.py
685+ sed -i.bak -e ' s/#!\/usr\/bin\/env python3.7/#!\/usr\/bin\/env python3/' proxy.py
686+ sed -i.bak -e ' s/#!\/usr\/bin\/env python3.7/#!\/usr\/bin\/env python3/' ssltest.py
687+ sed -i.bak -e ' s/#!\/usr\/bin\/env python3.7/#!\/usr\/bin\/env python3/' tcpdump.py
688+ fi
689+
690+ fi
691+
664692 # We also will make a fake "python3.7" link to the system-wide python3
665693 # Again, YOLO
666694 sudo ln -s $( which python3) /usr/local/bin/python3.7
@@ -837,8 +865,8 @@ if [ -n "$apt" ]; then
837865 fi
838866
839867 # Ubuntu 23.04 seems to need adjustments to make dnsmasq work
840- sudo sed -i.bak -e ' s/#IGNORE_RESOLVCONF=yes/IGNORE_RESOLVCONF=yes' /etc/default/dnsmasq
841- sudo sed -i.bak -e ' s/#DNSMASQ_EXCEPT="lo"/DNSMASQ_EXCEPT="lo"' /etc/default/dnsmasq
868+ sudo sed -i.bak -e ' s/#IGNORE_RESOLVCONF=yes/IGNORE_RESOLVCONF=yes/ ' /etc/default/dnsmasq
869+ sudo sed -i.bak -e ' s/#DNSMASQ_EXCEPT="lo"/DNSMASQ_EXCEPT="lo"/ ' /etc/default/dnsmasq
842870fi
843871
844872if [ -e " /etc/systemd/resolved.conf" ]; then
0 commit comments