LINUX.ORG.RU

Странное поведение xdg-open

 , , ,


0

1

Запускаю в терминале xdg-open filename.mp4 - открывается в mpv, норм, так и надо.
Есть поделие (wal/wcm commander) (да, я знаю, что ненужно), которое умеет открывать файлы. В нём filename.mp4 почему-то открывается через vlc. Если vlc удалить, то в mpv, но удалять не надо.
Кто понимает как эта поттеринщина (xdg) работает, подскажите как починять.
Захардкоженных упоминаний vlc в коде поделия не нашлось, зато нашлось это:

void ExecuteDefaultApplication( const unicode_t* Path )^M
{^M
        std::string utf8 = unicode_to_utf8( Path );^M
^M
        escShellStr( utf8 );^M
^M
#if defined( __APPLE__)^M
        const std::string command = "open " + utf8;^M
#else^M
        const std::string command = "xdg-open " + utf8;^M
#endif^M
//      dbg_printf("Executing: '%s'\n",command.data());^M
        if ( !fork() )^M
        {^M
                signal( SIGINT, SIG_DFL );^M
                system(command.data());^M
                exit( 1 );^M
        }^M
}^M
Судя по многочисленным ^M, код писали в wine notepad.exe, но на работу xdg-open это же не должно влиять...?

★★★★★

Наверное, у wal свой механизм ассоциаций типов файлов, а xdg-open используется только как fallback.

intelfx ★★★★★ ()

Скорей всего у этой подделки свои ассоциации, или оно читает mimes из другого места. xdg-open работает в зависимости от твоей DE/WM. Например:
У тебя gnome3, значит xdg-open будет использовать gvfs-open, но допустим у тебя не стоит пакет gvfs-bin, тогда xdg-open снова возвращается к себе и использует уже глобальные настройки из /usr/share/applications, вместо локальных. Если у тебя например gnome2, то xdg-open использует gnome-open, в kde, kde-open и т.д.

anonymous_sama ★★★★★ ()

как эта поттеринщина (xdg) работает

$ which xdg-open
/usr/bin/xdg-open
$ cat /usr/bin/xdg-open
akk ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.