[HOME] [DOWNLOAD] [DOCS] [BLOG] [SUPPORT] [TIPS] [ISSUES] [Priority Support]

removing vlc inside whonix-gateway leading to chaos


#1

as we dont use whonix gateway to watch/download anything from the internet i thought it would be good idea to remove vlc from there , but removing vlc leaded to chaotic state which i dont understand what is the linkage between it and the rest of the process:-

    user@host:~$ sudo apt-get remove vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  acpi-support acpi-support-base acpid anon-apt-sources-list anon-base-files anon-gw-base-files anon-gw-dhcp-conf anon-gw-dns-conf anon-gw-kde-startmenu anon-iceweasel-warning anon-icon-pack anon-shared-helper-scripts anon-shared-packages-recommended apparmor
  apparmor-notify apparmor-profile-anondist apparmor-utils apt-file apt-transport-https apt-transport-tor bc bind9-host bootclockrandomization brltty brltty-speechd brltty-x11 bsdtar command-not-found console-braille control-port-filter-python curl-scripts damngpl
  dasher dasher-data debsums dnsutils espeak espeak-data espeakup faketime festival flashproxy-client flashproxy-common florence geoip-database gir1.2-atspi-2.0 gir1.2-wnck-3.0 gnome-orca gpg-bash-lib gpl-sources-download grub-enable-apparmor gtk2-engines-oxygen
  gtk3-engines-oxygen initramfs-tools inotify-tools ipv4-forward-disable ipv6-disable kde-apper-no-autoupdate kde-baseapps-data kde-common-resolution kde-dolphin-menubar-enable kde-kdm-autologin kde-kgpg-tweaks kde-konsole-unlim-scrollback kde-lowfat
  kde-mouse-doubleclick kde-no-move-max-win kde-privacy kde-sounds-off klibc-utils kmix-disable-autostart knetattach-hide ksysguardd libao-common libao4 libapparmor-perl libapparmor1 libapt-pkg-perl libarchive13 libatk-adaptor libbaloocore4 libbaloofiles4
  libbalooqueryparser4 libbaloowidgets4 libbalooxapian4 libbind9-90 libbluetooth3 libbrlapi0.6 libconfig-file-perl libcupsfilters1 libcupsimage2 libdns100 libdotconf0 libepub0 libespeak1 libestools2.1 libevent-2.0-5 libfaketime libfile-fnmatch-perl libflite1
  libflorence-1.0-1 libgail-common libgail18 libgeoip1 libgmp-dev libgmpxx4ldbl libgnome-speech7 libgnome2-bin libgs9 libgs9-common libharfbuzz-icu0 libidl0 libijs-0.35 libinotifytools0 libisc95 libisccc90 libisccfg90 libjavascriptcoregtk-3.0-0 libjbig2dec0
  libkdecorations4abi2 libkexiv2-11 libkexiv2-data libkfilemetadata4 libklibc libkprintutils4 libkscreen1 libksgrd4 libksignalplotter4 liblist-moreutils-perl liblouis-data liblouis2 liblwres90 liblzo2-2 liborbit2 libpaper1 libperl4-corelibs-perl libpkcs11-helper1
  libpoppler-qt4-4 libpoppler46 libportaudio2 libprocesscore4abi1 libprocessui4a libqimageblitz4 libqjson0 libqmobipocket1 libqt4-help libqt4-scripttools libqt4-test libqtassistantclient4 libregexp-assemble-perl libseccomp2 libsensors4 libsonic0 libspectre1 libspeechd2
  libsysfs2 libwebkitgtk-3.0-0 libwebkitgtk-3.0-common libzip2 lsof menu most msgcollector obfs4proxy obfsproxy open-link-confirmation openvpn os-prober p7zip-full pkg-manager-longer-timeouts pkg-manager-no-autoupdate pm-utils poppler-data power-savings-disable-in-vms
  powermgmt-base poweroff-passwordless pv python-cffi python-characteristic python-crypto python-cryptography python-daemon python-dateutil python-gdbm python-geoip python-gevent python-greenlet python-guimessages python-lockfile python-m2crypto python-openssl
  python-pkg-resources python-ply python-pyasn1 python-pyasn1-modules python-pycparser python-pyptlib python-pysocks python-qt4 python-service-identity python-sip python-six python-stem python-torctl python-twisted python-twisted-bin python-twisted-conch
  python-twisted-core python-twisted-lore python-twisted-mail python-twisted-names python-twisted-news python-twisted-runner python-twisted-web python-twisted-words python-yaml python-zope.interface python3-apparmor python3-brlapi python3-cairo python3-gi                 
  python3-libapparmor python3-louis python3-pyatspi python3-speechd python3-xdg qt-at-spi qubes-whonix-gateway-packages-recommended qubes-whonix-shared-packages-recommended rads rake rsync ruby ruby-all-dev ruby-dev ruby-inline ruby2.1 ruby2.1-dev rubygems-integration    
  scurl sdwdate secure-delete security-misc shared-folder-help speech-dispatcher speech-dispatcher-audio-plugins strace swap-file-creator swappiness-lowest sysfsutils telnet timesanitycheck timezone-utc tor tor-arm tor-ctrl tor-geoipdb torsocks unzip usability-misc uwt   
  vbox-disable-timesync virt-what vrms whonix-base-files whonix-gateway-packages-dependencies-pre whonix-gw-desktop-shortcuts whonix-gw-network-conf whonix-initializer whonix-legacy whonix-repository whonix-setup-wizard whonix-shared-packages-dependencies                 
  whonix-shared-packages-recommended whonix-ws-firewall whonix-ws-network-conf whonixcheck whonixsetup wmctrl xbrlapi zenity zenity-common zip zsh zsh-common                                                                                                                   
Use 'apt-get autoremove' to remove them.                                                                                                                                                                                                                                        
The following extra packages will be installed:                                                                                                                                                                                                                                 
  whonix-ws-firewall whonix-ws-network-conf                                                                                                                                                                                                                                     
The following packages will be REMOVED:                                                                                                                                                                                                                                         
  anon-gateway-packages-dependencies anon-gateway-packages-recommended anon-gw-anonymizer-config anon-shared-applications-kde anon-shared-kde-accessibility anon-shared-packages-dependencies ark dolphin jovie kaccessible kde-runtime kdeaccessibility kdebase-runtime        
  kdepasswd kdesudo kfind khelpcenter4 kmag kmousetool kmouth konsole ksysguard ksystemlog kvkbd kwrite libkonq-common libkonq5abi1 libokularcore5 okular phonon phonon-backend-vlc plasma-widget-folderview polkit-kde-1 qubes-whonix qubes-whonix-gateway sdwdate-gui         
  systemsettings vlc vlc-plugin-pulse whonix-gateway-packages-dependencies whonix-gateway-packages-recommended whonix-gateway-shared-packages-shared-meta whonix-gw-firewall whonix-gw-kde-desktop-conf                                                                         
The following NEW packages will be installed:                                                                                                                                                                                                                                   
  whonix-ws-firewall whonix-ws-network-conf                                                                                                                                                                                                                                     
0 upgraded, 2 newly installed, 44 to remove and 0 not upgraded.                                                                                                                                                                                                                 
Need to get 21.3 kB of archives.                                                                                                                                                                                                                                                
After this operation, 39.0 MB disk space will be freed.                                                                                                                                                                                                                         
Do you want to continue? [Y/n]

this is what has been remained from the gw (i installed leafpad manually):-

the bright side of this step is that gw is still giving tor connection to the ws and im browsing TBB like nothing happened. (no lost connection)


#2

Unfortunately, nothing can be done about this. (Besides replacing all KDEish applications. But it was decided against that in this thread: https://forums.whonix.org/t/updating-whonix-from-jessie-to-stretch-migration-to-gnome-shell-port-to-gnome-ish-applications.)

It’s due to Debian package dependencies. It’s explained in this thread:
https://forums.whonix.org/t/uninstalled-vlc-completely-broke-whonix-can-i-recover


#3

it doesnt matter which GUI we use , because we need to no-GUI inside qubes.

so rationally KDEish being inside Qubes-whonix really unnecessary. (kmix , kmouth …etc)

yeah now i have remembered (package dependencies).


#4

gui desktop environment package shall be defined as: For example kdm, anon-shared-desktop, xserver-xorg.

gui application shall be defined as: for example dolphin


It’s not about GUI vs CLI-only. Not about gui desktop environment packages

There are no gui desktop environment package in Qubes-Whonix. Only gui applications.


Try these commands by @entr0py in the other thread apt-cache --installed rdepends etc.

We’d have to get rid of all of the following packages.

sudo apt-cache --installed rdepends phonon
phonon
Reverse Depends:
  okular
  libokularcore5
  kmousetool
  kde-runtime
  libkonq-common
  dolphin

So we could get finally get rid of phonon so we can get rid of vlc. (kde-runtime also has loads of reverse depends.)


kmouth is an accessibility tool. Can be removed. See:
https://www.whonix.org/blog/accessibility-tools-removal


Maybe look on it from this perspective:

In essence qubes-whonix-gateway is installed with apt-get --no-install-recommends inside a minimal Qubes Debian template. We can change dependencies in anon-meta-packages debian/control. Suggestions can be made there. But nothing can be done about reverse depends.