LINUX.ORG.RU

Программы на Qt не могут в xdg-open с URL

 ,


0

1

Clementine, Virtualbox, qBittorrent - при попытке открыть каталог через эти программы, появляется ошибка типа «/media/1000GB/%D0%92%D0%B8%D0%B4%D0%B5%D0%BE%20%D0%B8%20%D0%BC%D1%83%D0%B7%D1%8B%D0%BA%D0%B0/Sayonara%20Zetsubou%20Sensei%20OST/TV1%20ED%20Single%20Zessei%20Bijin: Нет такого файла или каталога».

С GTK-программами, например, всё нормально.

Как я понял, это ошибка именно сборщиков дебиана, поскольку я уже второй раз ставлю систему с LXDE (сначала я ставил, выбрав пункт меню в установщике, а потом отдельно, через tty), и проблема всё ещё осталась.

Но это не важно. Важно, чтобы я мог открыть папку со скачанными файлами из qBittorrent, сразу после завершения загрузки. А я этого сделать не могу, как раз из-за вышеобозначенной ошибки.

Что посоветуете?


Это проблема именно LXDE скорее. собранный на слаке так же отказывается открывать файло из, скажем, Calibre. Имхо источник где-то внутри скрипта xdg-open, но исправлять я не пытался.

Avial ★★★★★ ()
Последнее исправление: Avial (всего исправлений: 2)
Ответ на: комментарий от Avial

Спасибо, теперь я понимаю, что я не одинок в своей проблеме.

Осталось только понять, как проблему решить, ведь это главное.

otasan ()
Ответ на: комментарий от x905

Xdg-open не воспринимает URL, а qt-программы именно что посылают ему URL, вместо нормальной ссылки на файл. Про qprocess не слышал, но буду рад получить уточнения.

otasan ()
Ответ на: комментарий от x905

проблема в том, что скорее передаваемый путь не может обработать опция open_lxde в xdg-open

ТС: как вариант, можешь попробовать этот xdg-open забэкапить и отредактировать так, чтобы вместо lxde_open открывал, например open_generic. может помочь, но не уверен, не поедцт ли MIME-ассоциации.

Avial ★★★★★ ()
Ответ на: комментарий от Avial

Lxde-open и open-generic в моей системе вообще нет, а где лежит xdg-open, и что в нём нужно редактировать, я понятия не имею. И настройки MIME не хочется терять.

otasan ()
Ответ на: комментарий от otasan

/usr/bin/xdg-open
это скрипт, по крайней мере у меня на Слаке.
lxde-open и прочая - это разные опции внутри оного.

Avial ★★★★★ ()
Ответ на: комментарий от Avial

Дай инструкции, что тут нужно менять?

open_lxde()
{
    # pcmanfm only knows how to handle file:// urls and filepaths, it seems.
    if (echo "$1" | grep -q '^file://' ||
        ! echo "$1" | egrep -q '^[[:alpha:]+\.\-]+:')
    then
        local file="$(echo "$1" | sed 's%^file://%%')"

        # handle relative paths
        if ! echo "$file" | grep -q '^/'; then
            file="$(pwd)/$file"
        fi

        pcmanfm "$file"

    else
        open_generic "$1"
    fi

    if [ $? -eq 0 ]; then
        exit_success
    else
        exit_failure_operation_failed
    fi
}

[ x"$1" != x"" ] || exit_failure_syntax

url=
while [ $# -gt 0 ] ; do
    parm="$1"
    shift

    case "$parm" in
      -*)
        exit_failure_syntax "unexpected option '$parm'"
        ;;

      *)
        if [ -n "$url" ] ; then
            exit_failure_syntax "unexpected argument '$parm'"
        fi
        url="$parm"
        ;;
    esac
done

if [ -z "${url}" ] ; then
    exit_failure_syntax "file or URL argument missing"
fi

detectDE

if [ x"$DE" = x"" ]; then
    DE=generic
fi

DEBUG 2 "Selected DE $DE"

# if BROWSER variable is not set, check some well known browsers instead
if [ x"$BROWSER" = x"" ]; then
    BROWSER=www-browser:links2:elinks:links:lynx:w3m
    if [ -n "$DISPLAY" ]; then
        BROWSER=x-www-browser:firefox:seamonkey:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
    fi
fi

case "$DE" in
    kde)
    open_kde "$url"
    ;;

    gnome*)
    open_gnome "$url"
    ;;

    mate)
    open_mate "$url"
    ;;

    xfce)
    open_xfce "$url"
    ;;

    lxde)
    open_lxde "$url"
    ;;

    generic)
    open_generic "$url"
    ;;

    *)
    exit_failure_operation_impossible "no method available for opening '$url'"
    ;;
esac

otasan ()
Ответ на: комментарий от otasan
lxde)
open_generic "$url"

Если стоит что-то из вышеуказанных ДЕ (матэ, крыса, кеды) - можно подставить соответствующую запись.

Avial ★★★★★ ()
Последнее исправление: Avial (всего исправлений: 1)
Ответ на: комментарий от Avial

Не могу больше теги добавлять, постов (или времени прошло) слишком много.

otasan ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.