fossfreedom / alternative-toolbar

Modern, minimal and music-focused interface for Rhythmbox
GNU General Public License v3.0
157 stars 20 forks source link

Not working on Ubuntu 24.04 #182

Closed rolandixor closed 6 months ago

rolandixor commented 6 months ago

In Ubuntu 24.04, the addon no longer works. Even the preferences button does nothing.

fossfreedom commented 6 months ago

hmm...

sudo apt install rhythmbox-plugin-alternative-toolbar here on ubuntu budgie and enabling the plugin shows me this

image

Preferences works fine.

Suggest run rhythmbox from a terminal - then try to enable the plugin. Any messages displayed?

rolandixor commented 6 months ago

This is the output I get:

(process:402765): Gtk-WARNING **: 12:58:49.489: Locale not supported by C library.
    Using the fallback 'C' locale.

** (gst-plugin-scanner:402766): CRITICAL **: 12:58:49.524: _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed
Traceback (most recent call last):
  File "/usr/lib/rhythmbox/plugins/alternative-toolbar/alternative-toolbar.py", line 115, in do_activate
    cl.switch_locale(cl.Locale.LOCALE_DOMAIN)
  File "/usr/lib/rhythmbox/plugins/alternative-toolbar/alttoolbar_preferences.py", line 151, in switch_locale
    locale.setlocale(locale.LC_ALL, '')
  File "/usr/lib/python3.12/locale.py", line 615, in setlocale
    return _setlocale(category, locale)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
locale.Error: unsupported locale setting

** (rhythmbox:402765): WARNING **: 12:58:50.760: Could not open device /dev/radio0
fossfreedom commented 6 months ago

what's the output of

locale
rolandixor commented 6 months ago
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_GB.UTF-8
LANGUAGE=en_GB
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_BB.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
rolandixor commented 6 months ago

Installing locales-all to see if that'll help.

fossfreedom commented 6 months ago

what's the output of sudo locale-gen ? that should generate all your locales again.

locale: Cannot set LC_ALL to default locale: No such file or directory

That's the key issue - something is very wrong with your current locale setup

rolandixor commented 6 months ago

Generating locales (this might take a while)... en_AG.UTF-8... done en_AU.UTF-8... done en_BW.UTF-8... done en_CA.UTF-8... done en_DK.UTF-8... done en_GB.UTF-8... done en_HK.UTF-8... done en_IE.UTF-8... done en_IL.UTF-8... done en_IN.UTF-8... done en_NG.UTF-8... done en_NZ.UTF-8... done en_PH.UTF-8... done en_SG.UTF-8... done en_US.UTF-8... done en_ZA.UTF-8... done en_ZM.UTF-8... done en_ZW.UTF-8... done Generation complete.

Still no dice here. I wonder if running it in KDE could be anything to do with this? Although, if I understand correctly, it should be reading locales independently, no?

fossfreedom commented 6 months ago

doubtful KDE is the issue here. Gtk will be using the underlying locale stuff. Worth double checking a brand new account to see if its account specific.

rolandixor commented 6 months ago

Running sudo dpkg-reconfigure locales didn't help either, even after editing /etc/default/locale as described: https://askubuntu.com/questions/599808/cannot-set-lc-ctype-to-default-locale-no-such-file-or-directory

rolandixor commented 6 months ago

Finally found a solution that actually worked. All system wide fixes did nothing, since it seems locale is still reading whatever is set in the user's environment. Anyway, here's the link to what worked for me, in case anyone else runs into this issue:

https://askubuntu.com/a/749065/1992

And the code that actually did it:

export LC_ALL="en_US.UTF-8" sudo dpkg-reconfigure locales

fossfreedom commented 6 months ago

Nicely found - what is more worrying I suppose is why your locale stuff didn't get created correctly in the first place.

rolandixor commented 6 months ago

Seems to due to the fact I'm using a mixture of US and British English, but I'm really not sure. Seems others keep encountering this issue and often the proposed solutions work for some and not others. Something is fundamentally broken in how locales are determined.