Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1043291: mate-tweak: can't change MATE panel layout by mate-tweak because of missed mate-volume-control-applet executable

66 views
Skip to first unread message

Norbert

unread,
Aug 8, 2023, 12:30:05 PM8/8/23
to
Package: mate-tweak
Version: 22.10.0-2
Severity: normal
X-Debbugs-Cc: nrb...@gmail.com

Dear Maintainer,

please repeat the following steps to reproduce the issue:
1. Install task-mate-desktop with mate-tweak to get full MATE desktop
2. Launch mate-tweak from terminal
3. Go to Panel tab, then try to switch panel layouts using drop-down menu

Expected results:
* user is able to select any available MATE Panel layouts - one from Fedora,
GNOME, openSUSE

Actual results:
* user is unable to select needed panel layout, gets the following error
messages in the terminal:

```
$ mate-tweak
Window Manager is: marco-no-composite
System installed layouts:
['fedora', 'default', 'opensuse']
Current layout: opensuse
/usr/bin/mate-tweak:684: PyGTKDeprecationWarning: The "buttons" argument must
be a Gtk.ButtonsType enum value. Please use the "add_buttons" method for adding
buttons. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
dialog = Gtk.Dialog(title, None, Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
/usr/bin/mate-tweak:684: PyGTKDeprecationWarning: The "flags" argument for
dialog construction is deprecated. Please use initializer keywords: modal=True
and/or destroy_with_parent=True. See:
https://wiki.gnome.org/PyGObject/InitializerDeprecations
dialog = Gtk.Dialog(title, None, Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
/usr/bin/mate-tweak:690: PyGTKDeprecationWarning: Using positional arguments
with the GObject constructor has been deprecated. Please specify keyword(s) for
"label" or use a class specific constructor. See:
https://wiki.gnome.org/PyGObject/InitializerDeprecations
label = Gtk.Label(text)
Switching to: fedora
Traceback (most recent call last):
File "/usr/bin/mate-tweak", line 1047, in combo_fallback
self.additional_tweaks(schema, key, value[1])
File "/usr/bin/mate-tweak", line 1031, in additional_tweaks
self.replace_panel_layout(panel_layout)
File "/usr/bin/mate-tweak", line 768, in replace_panel_layout
self.enable_applets()
File "/usr/bin/mate-tweak", line 571, in enable_applets
pid = subprocess.Popen(['mate-volume-control-applet'], stdout=DEVNULL,
stderr=DEVNULL).pid
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'mate-volume-control-
applet'
/usr/bin/mate-tweak:684: PyGTKDeprecationWarning: The "buttons" argument must
be a Gtk.ButtonsType enum value. Please use the "add_buttons" method for adding
buttons. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
dialog = Gtk.Dialog(title, None, Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
/usr/bin/mate-tweak:684: PyGTKDeprecationWarning: The "flags" argument for
dialog construction is deprecated. Please use initializer keywords: modal=True
and/or destroy_with_parent=True. See:
https://wiki.gnome.org/PyGObject/InitializerDeprecations
dialog = Gtk.Dialog(title, None, Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
/usr/bin/mate-tweak:690: PyGTKDeprecationWarning: Using positional arguments
with the GObject constructor has been deprecated. Please specify keyword(s) for
"label" or use a class specific constructor. See:
https://wiki.gnome.org/PyGObject/InitializerDeprecations
label = Gtk.Label(text)
Switching to: default
Traceback (most recent call last):
File "/usr/bin/mate-tweak", line 1047, in combo_fallback
self.additional_tweaks(schema, key, value[1])
File "/usr/bin/mate-tweak", line 1031, in additional_tweaks
self.replace_panel_layout(panel_layout)
File "/usr/bin/mate-tweak", line 768, in replace_panel_layout
self.enable_applets()
File "/usr/bin/mate-tweak", line 571, in enable_applets
pid = subprocess.Popen(['mate-volume-control-applet'], stdout=DEVNULL,
stderr=DEVNULL).pid
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'mate-volume-control-
applet'
/usr/bin/mate-tweak:684: PyGTKDeprecationWarning: The "buttons" argument must
be a Gtk.ButtonsType enum value. Please use the "add_buttons" method for adding
buttons. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
dialog = Gtk.Dialog(title, None, Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
/usr/bin/mate-tweak:684: PyGTKDeprecationWarning: The "flags" argument for
dialog construction is deprecated. Please use initializer keywords: modal=True
and/or destroy_with_parent=True. See:
https://wiki.gnome.org/PyGObject/InitializerDeprecations
dialog = Gtk.Dialog(title, None, Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
/usr/bin/mate-tweak:690: PyGTKDeprecationWarning: Using positional arguments
with the GObject constructor has been deprecated. Please specify keyword(s) for
"label" or use a class specific constructor. See:
https://wiki.gnome.org/PyGObject/InitializerDeprecations
label = Gtk.Label(text)
Switching to: opensuse
Traceback (most recent call last):
File "/usr/bin/mate-tweak", line 1047, in combo_fallback
self.additional_tweaks(schema, key, value[1])
File "/usr/bin/mate-tweak", line 1031, in additional_tweaks
self.replace_panel_layout(panel_layout)
File "/usr/bin/mate-tweak", line 768, in replace_panel_layout
self.enable_applets()
File "/usr/bin/mate-tweak", line 571, in enable_applets
pid = subprocess.Popen(['mate-volume-control-applet'], stdout=DEVNULL,
stderr=DEVNULL).pid
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'mate-volume-control-
applet'
```

Please note that Ayatana indicators are not installed.
The same happens on Debian 11 (oldstable, bullseye).


-- System Information:
Debian Release: 12.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-10-amd64 (SMP w/1 CPU thread; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mate-tweak depends on:
ii dconf-cli 0.40.0-4
ii gir1.2-gtk-3.0 3.24.37-2
ii gir1.2-notify-0.7 0.8.1-1
ii mate-panel 1.27.0-1
ii mesa-utils 8.5.0-1
ii python3 3.11.2-1+b1
ii python3-distro 1.8.0-1
ii python3-gi 3.42.2-3+b1
ii python3-pkg-resources 66.1.1-1
ii python3-psutil 5.9.4-1+b1
ii python3-setproctitle 1.3.1-1+b2
ii x11-xserver-utils 7.7+9+b1

Versions of packages mate-tweak recommends:
ii mate-indicator-applet 1.26.0-1
ii picom 9.1-1

Versions of packages mate-tweak suggests:
pn ayatana-indicator-application | indicator-application <none>
pn ayatana-indicator-datetime | indicator-datetime <none>
pn ayatana-indicator-messages | indicator-messages <none>
pn ayatana-indicator-power | indicator-power <none>
pn ayatana-indicator-session | indicator-session <none>
pn ayatana-indicator-sound | indicator-sound <none>

-- no debconf information

Mike Gabriel

unread,
Aug 9, 2023, 2:10:05 AM8/9/23
to
Hi Norbert,

thanks for reporting this issue.

On Di 08 Aug 2023 18:19:14 CEST, Norbert wrote:

> Package: mate-tweak
> Version: 22.10.0-2
> Severity: normal
> X-Debbugs-Cc: nrb...@gmail.com
>
> Dear Maintainer,
>
> please repeat the following steps to reproduce the issue:
> 1. Install task-mate-desktop with mate-tweak to get full MATE desktop
> 2. Launch mate-tweak from terminal
> 3. Go to Panel tab, then try to switch panel layouts using drop-down menu
>
> Expected results:
> * user is able to select any available MATE Panel layouts - one from Fedora,
> GNOME, openSUSE
>
> Actual results:
> * user is unable to select needed panel layout, gets the following error
> messages in the terminal:
>
> ```
> $ mate-tweak
> [...]
> FileNotFoundError: [Errno 2] No such file or directory: 'mate-volume-control-
> applet'
> [...]

Would you suggest adding mate-media to Depends: field of mate-tweak?
Any alternative approach thinkable?

Mike
--

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31
mail: mike.g...@das-netzwerkteam.de, http://das-netzwerkteam.de

Norbert

unread,
Aug 9, 2023, 11:10:05 AM8/9/23
to
Thanks, Mike!

The problem here is caused by `mate-volume-control-applet` file location. It came from `mate-media`, you are right about this package 
Problem persists even with the installed `mate-media` package.
In Debian 10 (buster) it was located in PATH - `/usr/bin/mate-volume-control-applet` (see https://packages.debian.org/search?suite=buster&arch=any&mode=path&searchon=contents&keywords=mate-volume-control-applet).
But in Debian 11 and newer it is located in non-PATH place - `/usr/libexec/mate-volume-control-applet` (see https://packages.debian.org/search?suite=bullseye&arch=any&mode=path&searchon=contents&keywords=mate-volume-control-applet). So it can't be found by `mate-tweak` (see https://sources.debian.org/src/mate-tweak/22.10.0-2/mate-tweak/?hl=78#L571 ).

My local quick and dirty hack is the following:
```
sudo ln -sf /usr/libexec/mate-volume-control-applet /usr/local/bin/mate-volume-control-applet
```

But I would suggest fixing this problem in the `mate-tweak` script - for example you can call this applet by full path - `/usr/libexec/mate-volume-control-applet`.
It is still applicable for default Debian installation without Ayatana indicators.

Mike Gabriel

unread,
Aug 10, 2023, 3:10:06 AM8/10/23
to
Hi Norbert,
(Cc:ing Martin Wimpress)
Ah, now I see more clearly.

The correct fix for mate-tweak will probably be to check both
locations (/usr/bin/ and /usr/libexec/) and execute the
mate-volume-control-applet found (with preference to /usr/libexec,
maybe).

Can you propose such a patch to mate-tweak upstream?

Thanks + Greets,

Norbert X

unread,
Aug 10, 2023, 3:40:04 AM8/10/23
to
I'm not too familiar with the internals of the mate-tweak.

So I have reported a bug to upstream
https://github.com/ubuntu-mate/mate-tweak/issues/94 .
I hope to see Martin's actions there.

Thanks, Mike!
0 new messages