Posts: 21
n1ksn
Joined: 13 Apr 2016
#1
This evening I did an apt-get upgrade to my AntiX-15 installation. As a consequence, certain of my Application Menu items which invoke mpv to run in a terminal and play internet radio streams no longer work. These were originally added to the Application Menu using the Control Center, which got the commands from desktop files I had written. They worked yesterday before the upgrade.

The now non-functioning menu entries are of the form: desktop-defaults-run -t mpv --no-ytdl ......

As a test, I edited the menu file and replaced these entries with: urxvt -e mpv --no-ytdl ...
and they worked. But they were later over-written by the Control Center and restored to their original form.

I changed the default terminal to ROXterm from urxvt and there was no change. Also, the desktop files still work when directly executed from the file manager. So I suspect something in the Control Center update caused this issue.

Thanks for any help you can provide.

Andy N1KSN
Last edited by n1ksn on 26 May 2016, 20:47, edited 1 time in total.
Posts: 2,238
dolphin_oracle
Joined: 16 Dec 2007
#2
I think the problem is in desktop-defaults-run, since using the terminal names explicitly works.

when you say you"edited the menu file" I assume you edited the text based applications menu. is this correct? If so, you should know that the applications menu is rebuilt every login from the .desktop files.

what interests me is that you say the desktop files worked when accessed directly. please post actually text from your desktop file and from the resulting applications menu entry.
Posts: 21
n1ksn
Joined: 13 Apr 2016
#3
I also suspected desktop-defaults-run, but I don't know how it works so I didn't want to suggest a root cause.

Here is a sample desktop file that is involved:
  • [Desktop Entry]
    Name=Hard Bop
    Comment=Stream Hard Bop
    #Exec=mplayer -afm ffmpdg
    ========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
    url was:"http://yp.shoutcast.com/sbin/tunein-station.pls?id=336469"
    linktext was:"http://yp.shoutcast.com/sbin/tunein-sta ... ?id=336469"
    ====================================

    NoDisplay=False
    Exec=mpv --no-ytdl
    ========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
    url was:"http://yp.shoutcast.com/sbin/tunein-station.pls?id=336469"
    linktext was:"http://yp.shoutcast.com/sbin/tunein-sta ... ?id=336469"
    ====================================

    Terminal=true
    Type=Application
    Categories=Audio;AudioVideo;Player
    Icon=audio-headphones
Here is the corresponding entry in the application menu file:
  • [exec] (Hard Bop) {desktop-defaults-run -t mpv --no-ytdl
    ========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
    url was:"http://yp.shoutcast.com/sbin/tunein-station.pls?id=336469"
    linktext was:"http://yp.shoutcast.com/sbin/tunein-sta ... ?id=336469"
    ====================================
    } </usr/share/icons/gnome/32x32/devices/audio-headphones.png>
As I indicated before, if I Open/Execute the desktop file, it works. If I edit the menu entry above to replace"desktop-defaults-run -t" with"urxvt -e" the menu entry works--until the file is re-written by the system.

Thanks for your reply, DO. (By the way, your videos have been quite helpful.)

Andy
Posts: 2,238
dolphin_oracle
Joined: 16 Dec 2007
#4
OK, quite enlightening.

1. the menu update script apparently takes desktop files with the"Terminal=true" line and uses desktop-defaults-run -t in the text applications menu.

I suggest the following.

edit your desktop file like so:

Code: Select all

[Desktop Entry]
Name=Hard Bop
Comment=Stream Hard Bop
#Exec=mplayer -afm ffmpdg http://yp.shoutcast.com/sbin/tunein-sta ... ?id=336469
NoDisplay=False
Exec=roxterm -e mpv --no-ytdl http://yp.shoutcast.com/sbin/tunein-sta ... ?id=336469
Terminal=false
Type=Application
Categories=Audio;AudioVideo;Player
Icon=audio-headphones
when the menu is updated, desktop-defaults-run -t will not be used.
Posts: 21
n1ksn
Joined: 13 Apr 2016
#5
Well, that did the trick, DO. Some of my other desktop files, e.g., for cmus, were already set up that way, so I'm a bit embarrassed not to have thought of it myself.

I've evolved to use desktop files to organize and launch all my applications via WM menus, Fluxbox in AntiX and Openbox in a minimal Ubuntu install on another machine. (In Openbox I use gtk-launch in my menu file for running applications via desktop files.) So I still have the lingering concern that something that worked with some desktop files before suddenly no longer works after an update.

Is desktop-defaults-run a part of Debian, AntiX, or Fluxbox?

If it is part of AntiX, will there be a future change so Terminal=true in desktop files will again be interpreted correctly?

Again, thank you very much for your help, DO. I'll mark this thread as solved.

Andy
Posts: 2,238
dolphin_oracle
Joined: 16 Dec 2007
#6
desktop-defaults-run is part of the desktop-session package that is particular to antiX (not even mx uses it).

there has been working to fix some issues with parsing parameters in desktop-defaults-run, which is the real core bug here in your case. I know some have been fixed, I'm not sure about this particular one. but rest assured its been noticed. antiX-16 is currently in beta.
anticapitalista
Posts: 5,955
Site Admin
Joined: 11 Sep 2007
#7
A new desktop-session deb will be in the repo soon. Please let me know if it fixes the issue
n1ksn
Posts: 21
n1ksn
Joined: 13 Apr 2016
#8
I just installed the new desktop-session deb and returned my streaming desktop files to their original versons. Everything now works as it did prior to the previous update.

Many thanks for all your help, DO and Anti. Most appreciated.

Cheers,
Andy N1KSN
Menasha, WI