-
-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xpra shadow raises "Error parsing xdg menu data" #2174
Comments
2019-02-25 08:27:41: stdedos uploaded file
|
This isn't related to #2153, different menu: this one is your system "start menu" definition. That's a bug in your distribution. You can reproduce it with:
On most distributions this works fine but on Ubuntu this can fail. IIRC, that's because the menu definitions point to a menu file which is missing. (further details can be obtained by running with They shouldn't be shipping a library that cannot be called: either the library should fail more gracefully or they should ensure that their menu definitions do not trigger the problem. |
2019-02-25 08:51:46: stdedos commented
|
Whoops, sorry. Try |
2019-02-25 09:08:58: stdedos commented
|
It must be related to some environment variable that's going to be different when running under xpra. |
FYI: the problem does occur if you run that python command from within the xpra session. (ie: from an xterm started with |
2019-02-25 20:39:06: stdedos commented
|
2019-02-26 01:02:45: antoine uploaded file
|
Thanks for figuring it out. That's bogus IMO, here's the spec: menu spec which states that For example if a system contains both the GNOME and the KDE desktop environments it can decide to use gnome-applications.menu as the menu layout in GNOME sessions and kde-applications.menu as the menu layout in KDE sessions. To correctly reflect this, it should set the $XDG_MENU_PREFIX environment variable to "gnome-" respectively "kde-". We're not gnome or KDE, so during server initialization we run the code that reads:
This ticket looks similar to: applications.menu file has been renamed to gnome-applications.menu but XDG_MENU_PREFIX is not set: If they decide to only respect specifications, no menu will be found. Anyway, we will now avoid sanitizing this value, and so we'll keep the "gnome-" prefix even though we're not gnome: r21878. |
Logging in via ssh does not set the |
Should now work as of r21880, even from ssh or a clean environment. It is now possible to run the code directly for testing:
|
Some OSes don't set things up correctly: problem getting application data from DE xpra/xpra/platform/xposix/menu_helper.py Lines 379 to 382 in b1454da
|
What component, functionality, operation, or so on, should be included in the OS for the menu to appear correctly? I have not yet understood how all the pieces of this problem fit together, and am simply wondering, if I imagine myself as the OS provider, what change I would have to make to the OS for the relevant support to be provided. |
Is there any reason for not at least picking some file name rather than none? At the moment, I have no menu available. Surely, there are sensible changes that are unlikely to degrade the situation further, right? |
Ultimately, it not the server receiving the request for the Xpra session that ought to determine the desktop environment, but in my view, the client, which is where the end user would be situated. Is it sensible to approach the question of choosing a desktop environment as a user preference, rather than one imposed by the remote site? |
The ability to use the library, out of the box, without relying on the
That's exactly what we try to do, see the comment just above: #2174 (comment)
I literally have no idea what these "sensible" changes would be.
No. The html5 client, MS Windows and MacOS desktops don't have the concept of a desktop environment. |
Yes, but from the standpoint of asking the question, such an answer is circular. What I am seeking to understand is what actual component must be inserted into the distribution's file tree, or what must be changed in an existing file or utility, that would bring about such a functional change.
Not quite. I intended to suggest the idea of literally any file, whether or not blessed by a prescribed list of prefixes, necessarily being better than none. (That is to say nothing of the observation that Xfce4 is conspicuously absent from the list. If it were given, then connections to my server would not experience the reported problem.)
Again, not quite what I meant. I was not suggesting that the choice of desktop environment for the server should try to match the one used on the client, any more than I would suggest that the password given for server login must match the local password for the same user. I was simply suggesting that which desktop environment to prefer for the remote host, among those available, might be a matter of preference, by the user invoking the session from the client. |
No comment.
Perhaps you should ask your distribution / python -c "from xdg.Menu import parse;parse()"
Again, if your distribution wants to fix things in a different / better way, go right ahead.
This would be "nice" but does literally nothing to solve the bug discussed here. I am going to lock this issue because it is meant as a quick reference on the source of this common problem and is quickly devolving into bike shedding. a42e234 should be the correct fix for this issue: we try menu files until we find one that works. This is not ideal but it's the only option we have. |
Issue migrated from trac ticket # 2174
component: server | priority: minor | resolution: invalid
2019-02-25 08:27:28: stdedos created the issue
The text was updated successfully, but these errors were encountered: