Testing Unity session on Ubuntu 21.10

If you’ve tested the package on 22.04, you can simply copy it to jammy from impish.

We can provide updated package from the ppa. Some are complaining that workspace is not working…may not be related to nocsd.

If you want to make it under universe repo, provide debdeiff in the bug report and then you need to ask someone for sponsoring who can upload it to universe. But I think freeze for Jammy already happened. Not we still have time for it.

Yes. It’s always better if we can explain the issue and get it fixed in source.

@khurshid-alam @rs2009

Folks,

I have tested this on my 21.10 Unity build as well as 22.04 and I just tested it with Ubuntu
Unity remix for 21.10 as well and am not seeing the problem. I wonder if the problem might
be related to proprietary video drivers or configuration (multiple monitors etc) as I am not
running the Nvidia drivers etc and maybe that is why I am not seeing it.

We need a better description of the problem with more info to tell much more.

If we want to provide the fix in universe I still have the original bug report (1946161)
the question is do we want to use the original version convention(e.g. should be
gtk3-nocsd_3-1ubuntu2) or stick with gtk3-nocsd_4-1ubuntu3 like in the PPA.

Also I have 2 deb diffs. One for the original changes (4-1ubuntu2) and one for the
latest fix(4-1ubuntu3) do we want to combine the 2 and just submit one debdiff
for the universe fix? I believe we have someone to sponsor it we just needed to
get it working fully before submitting to universe. The PPA came in real handy
as it allow us to get some soak time on it before putting it in universe.

Anyway I just need to know if we want to go back to the original versioning
or stick with the new version numbers and if I can combine both the original
submission and the new fix in one debdiff for universe.

We definitely can explain the logic error in the code as it is somewhat commented.
Unfortunately I am not sure what the author intended with the CSS changes as they
are not commented but I can describe what it caused(no labels in GtkDialogs for
Gtk4 apps) which I don’t think was the original intent of the author.

Here is what I changed(label.title code added by ZaWertun… the first three lines below):

static const char *custom_css =
  "label.title:only-child {\n"
  "opacity: 0;\n"
  "}\n"
  "window > .titlebar:not(headerbar) {\n"
  "  padding: 0;\n"
  "  border-style: none;\n"
  "  border-color: transparent;\n"
  "}\n"
  ".background:not(.tiled):not(.maximized) .titlebar:backdrop,\n"
  ".background:not(.tiled):not(.maximized) .titlebar,"
  ".background:not(.tiled):not(.maximized) .titlebar headerbar {\n"
  "  border-top-left-radius: 0;\n"
  "  border-top-right-radius: 0;\n"
  "}\n";

To (remove ZaWertun label.title code and go back to 3-1ubuntu1 code which does not exhibit the issue):

static const char *custom_css =
  "window > .titlebar:not(headerbar) {\n"
  "  padding: 0;\n"
  "  border-style: none;\n"
  "  border-color: transparent;\n"
  "}\n"
  ".background:not(.tiled):not(.maximized) .titlebar:backdrop,\n"
  ".background:not(.tiled):not(.maximized) .titlebar,"
  ".background:not(.tiled):not(.maximized) .titlebar headerbar {\n"
  "  border-top-left-radius: 0;\n"
  "  border-top-right-radius: 0;\n"
  "}\n";

So even though I can’t determine the authors intent we sure know what happens
if you do what they did(no labels in GtkDialogs).

Let me know how you want me to proceed.

Thanks,
Brett “WolfMan” Bogert

Yes. One debdiff should contain all. And yes you can test it under PPA.

Version will be update of old version…You can run dch -i and it will update the changelog with newer version. You can just change “UNRELEASED” to jammy.
image

Yes. That label.title code added by them is wrong and . Open a bug in github.

@khurshid-alam @rs2009

Ubuntu 22.04 is having problems right now as linux-firmware fails to install and
unpack. Hopefully they will get that fixed today.

Whats worse is that changes to libayatana-appindicator3-1 will also not install
without removing the unity desktop. You have to from console remove version
0.5.90-5 manually which removes unity, transmission-gtk and others and then
install the updated 0.5.90-7 version and re-install ubuntu-unity-desktop and
anything else that was removed(if you can). Unfortunately this will cause the
removal of all of your 3rd party appindicators and you will not be able to
reinstall them as installing the “-7” version removes gir1.2-appindicator3-0.1
which is needed for them. Of course anything else that needs gir1.2 like
transmission-gtk or dropbox etc will also be removed and you will not be
able to re-install them.

Here is the update info:

2022-03-12 - Mike Gabriel sunweaver@debian.org
libayatana-appindicator (0.5.90-7) unstable; urgency=medium

  • debian/control:
  • Add version to B:/R:. Add Provides: field for libappindicator
    compatibility. (Closes: #996201).

2022-03-10 - Mike Gabriel sunweaver@debian.org
libayatana-appindicator (0.5.90-6) unstable; urgency=medium

  • debian/control:
  • Add B:/R: rules so that libayatana-appindicator will finally replace
    libappindicator.
  • debian/:
  • Provide libappindicator compat files for runtime. This re-adds support
    for 3rd party apps that have been built against Canonical’s
    libappindicator rather than libayatana-appindicator. (Closes: #99620)

I for one use both the privacy and security indicator and classicmenu indicator
as well as use transmission-gtk and dropbox functionality and these are a major
issue if we can’t easily fix them.

It looks like debian is trying to make everyone convert to libayatana instead of
using gir1.2.

Other issues like not being able to install Kodi media center because it now will remove
the unity desktop as well have also occurred as well as things like lmms, audacious and
other apps having to be removed to get updates to install.

So I am dead in the weeds and will work on the upstream fix for gtk3-nocsd for now but
may not be able to test it on 22.04 unless some of these issues get fixed. For now I have
locked the libayatana-appindicator3-1 at version 0.5.90-5 in synaptic but this will have to
be looked at and fixed if possible before beta.

Just wanted to give you a heads up.

Brett “WolfMan” Bogert

At @khurshid-alam request, I created two bug reports against libayatana-appindicator:
https://github.com/AyatanaIndicators/libayatana-appindicator/issues/53

@khurshid-alam

Well the appindicator problem has gotten worse. Now we have other package
upgrades that are trying to remove the 3rd party appindicators. Some of these
are gir1.2-glib2.0, libgirepository1.0-1 and libglib2.0 so we are dead in the weeds
with Unity right now as you cannot do updates without removing appindicators.

I did some experimentation with the -5.90-7 version of libayatana-appindicator3-1
and found that even if you can get it to install(have to remove ubuntu-unity-desktop
and others) by removing the old version and desktop and installing the new one it
will remove the Unity network appindicator as well as possibly others. So I was
able to install ubuntu-unity-desktop with the new 0-5.90-7 version of libayatana-
appindicator3-1 but without appindicators including the unity network appindicator.

It looks like our appindicators are going to have to be updated to work with the
new versions of the code if we want to still have them. I have not had a chance
to look into this to get some idea of how much work this is going to be but will
try to look into it after I get my car back on the road.

I also downloaded the latest Ubuntu daily image(3/25/2022) and installed it and
checked to see if classicmenu-indicator would install and it would not due to
dependency conficts(same problem).

So for the Ubuntu Unity folks you might be able to get ubuntu-unity-desktop to
install after beta but it will have to be with no appindicators including at least
some of the normal unity ones(network for example).

If it was just the 3rd party appindicators we could probably live without them
for a time until they are updated but we certainly need things like the network
appindicator and other built in desktop appindicators working for release. The
network appindicator issue could possibly be worked around by just using the
“Network” dialog from the HUD/applications level.

So for now it appears that the only 2 options are to go ahead and install the
0-5.90-7 version of libayatana-appindicator3-1 and lose the current indicators
so that updates can be done or have to lock down at least several more packages
so they cannot be updated.

Sorry for more bad news,
Brett “WolfMan” Bogert

Thank you for looking further into the matter @bbogert24 . On one of my computers, I have locked libayatana-appindicator3-1 and gir1.2-ayatanaappindicator3-0.1 to version 0.5.90-5, still I have been able to apply all other updates without loosing anything, and all my indicators are present and working it seems.

I just tried installing ubuntu-unity-desktop in the latest daily image of Jammy running in QEMU. And apt didn’t have any problems. It wanted to install very many packages but without removing anything.

Also on my install of 22.04 the upgrades to the ayatana packages won’t remove Unity or any of its indicators only the other indicators that I have installed.

All of the indicators used in Unity depend on either indicator-common or libayatana-appindicator3-1 so they are unaffected by this change. And there is no network indicator package. This functionality is provided through network-manager-gnome package.

Check for details about this package: apt show network-manager-gnome

@khurshid-alam

aofrl10n1,

Thanks for the info. Turns out that my problem was with gir1.2-appindicator3-0.1 which is needed
for 3rd party app indicators like indicator-privacy and classicmenu-indicator.

As it turns out if you just let them uninstall you can then reinstall them after the update without
any problem.

Sorry for any confusion,
Brett “WolfMan” Bogert

@Bestia @khurshid-alam

Bestia,

        Thanks for the info. I will try again after I get a known
        good build to work from.

        Last time I tried it I had to manually remove the 
        libayatana-appindicator3-1 v5.90-5 which removed the
        unity-desktop as well as several other packages including
        the network indicator and then manually install v5.90-7 and
        reinstall the unity-desktop and anything else that was uninstalled.

        I will try to just upgrade it again since there have been quite a large
        amount of updates in the past few days and maybe whatever was
        happening is resolved otherwise I may have to start from scratch
        using the beta release.

Thanks for the info…
Brett “WolfMan” Bogert

There are already updated libayatana packages in proposed.

I installed them yesterday and my 3rd party indicators (indicator-cpufreq, syspeek and multiload-ng-indicator) remain intact. Also the indicator-application wasn’t removed. The update removed only libappindicator3-1 package.

On 22.04, the option to minimize windows with a click in Unity Tweak Tool doesn’t work.

Also, Snap Store doesn’t launch when launched on the Dash or Launcher

Thought you should know.

Unity’s fcitx integration has become obsolete. I’d like to call your attention to this bug report.

2 Likes

@rs2009 Did you find out what causing unity-settings-daemon crash ? Did you downgrade compiz ? Is it reproducible in new release ? When I tried it seems it working. Also we need to make a new thread for 22.04.

Sure, I’ll try that and let you know.

Have another issue in telegram.

This is only in Unity
https://github.com/telegramdesktop/tdesktop/issues/24416

@rs2009 @khurshid-alam

Folks,

      You probably already know about this but I want to mention it anyway.

     In 22.10 a new libadwaita-1.0 package has been created for use by GTK43.

     This package is not compatible with Unity(and probably XFCE and LXQT as well).

     It breaks window decorations on all GTK43 apps as well as themeing in GTK43.

     This is new code that was made by Gnome so it is easier to make GTK4 widgets
     for all devices including tablets and phones(note that Gnome Shell for phones
     has been seen on my Google Feed). 

     Anyway in 22.10 you cannot remove libadwaita-1.0 without removing all of
     the GTK43 apps as well as the Unity desktop:

sudo apt remove libadwaita-1-0
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following packages were automatically installed and are no longer required:
apg duplicity gir1.2-gdesktopenums-3.0 gir1.2-gnomedesktop-4.0
gir1.2-graphene-1.0 gir1.2-gtk-4.0 gjs gkbd-capplet gnome-bluetooth-3-common
gnome-control-center-faces gnome-online-accounts libcolord-gtk4-1 libcue2
libedataserverui4-1.0-0 libgdm1 libgeonames-common libgeonames0 libgif7
libgjs0g libgnome-autoar-0-0 libgnome-bg-4-2 libgnome-bluetooth-3.0-13
libgnome-desktop-4-2 libgnome-rr-4-2 libgoa-backend-1.0-1 libgsound0
libgtksourceview-5-0 libgtksourceview-5-common libgupnp-av-1.0-3
libgupnp-dlna-2.0-4 libjavascriptcoregtk-5.0-0 libmozjs-102-0
libportal-gtk4-1 librest-1.0-0 librsync2 librygel-core-2.6-2
librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
libsysmetrics1 libtimezonemap-data libtimezonemap1 libwebkit2gtk-5.0-0
power-profiles-daemon python3-bcrypt python3-fasteners python3-future
python3-lockfile python3-monotonic python3-nacl python3-paramiko
python3-urllib3 rygel tracker tracker-extract tracker-miner-fs
Use ‘sudo apt autoremove’ to remove them.
The following packages will be REMOVED:
baobab deja-dup gir1.2-adw-1 gnome-bluetooth-sendto gnome-calculator
gnome-calendar gnome-characters gnome-control-center gnome-font-viewer
gnome-initial-setup gnome-logs gnome-text-editor indicator-bluetooth
libadwaita-1-0 libgnome-bluetooth-ui-3.0-13 nautilus ubuntu-unity-desktop
unity-control-center xdg-desktop-portal-gnome
0 upgraded, 0 newly installed, 19 to remove and 0 not upgraded.
After this operation, 28.0 MB disk space will be freed.
Do you want to continue? [Y/n] n

      I will attach screenshot of GTK43 apps under Unity. Note that there is
      no window treatment at all:

      Not sure where we go from here but wanted to warn you if you did not know already that 
      this had happened.
      
      btw.. Thanks to c4pp4 for pointing this out to me in an email. He installed libadwaita-1.0
      and baobab on 22.04.1 saw the problem and sent an email.

Thanks,
Brett “WolfMan” Bogert

@bbogert24

21.10 is too late to do anything.

For Unity we can use mate apps. For that we need to decide if we want port to libayatana indicators. So for 23.04, it can goes like this

  1. Port from gnome-apps to mate apps with existing unity-settings-daemon which works with various gnome components like screenshot dbus api, libgnome, g-s-d etc.

  2. Then move away from rest of the settings-daemon and gnome-related libraries. I propose creating something like ayatana-settings-daemon which both mate/unity/other-desktop can use. Need to discuss with ayatana-people.

  3. Only then we move to using ayatana-indicators.

@rs2009 What you say ?

Yeah, I noticed this issue a few weeks ago and did the following:

  1. Moved to MATE apps in 22.10 (replacing all the libadwaita apps); check the ubuntu-unity-meta/ubuntu-unity-desktop metapackage.

  2. I was working on ayatana-settings-daemon (it’s desktop-agnostic), and will discuss this with UBports.

  3. Moving to ayatana-indicators would require some work, but should be possible (I was also interested in an alternate possibility of writing easier-to-maintain replacements for the main indicators used in Unity7, and already wrote a few such as unity-indicator-session and unity-indicator-appearance).