xdg-open открывает указанный файл htm, но игнорирует местоположение тега (#) на странице

Если вы используете UEFI, то ESP(/dev/sda2)должен быть вариантом FAT, обычно FAT32. Загрузочный раздел BIOS(/dev/sda1)вообще не должен форматироваться, т.е. вообще не должен иметь файловой системы. Это для GRUB при использовании GPT-диска в режиме BIOS. Если вы используете режим UEFI, раздел не нужен.

0
16.11.2017, 22:30
1 ответ

Решение найдено благодаря подсказкам @Ignacio Vazquez -Abrams.

На самом деле проблема заключалась в том, как xdg-openпередает аргумент приложению по умолчанию.

Если приложение по умолчанию зарегистрировано в рабочем столе kde , чтобы ожидать URL-адрес (%u)

/home/bu5hman/Installs/seamonkey/seamonkey %u

, затем весь аргумент, переданный в xdg-open, используется как URL-адрес, и браузер переходит к тегу.

если %u опущен, то аргумент, переданный в xdg-open, проверяется, является ли он файлом, а затем удаляется информация из #в URL-адресе (из сценария xdg-open)

# If argument is a file URL, convert it to a (percent-decoded) path.
# If not, leave it as it is.
file_url_to_path()
{
    local file="$1"
    if echo "$file" | grep -q '^file:///'; then
        file=${file#file://}
        file=${file%%#*}                                #<----------
        file=$(echo "$file" | sed -r 's/\?.*$//')
        local printf=printf
        if [ -x /usr/bin/printf ]; then
            printf=/usr/bin/printf
        fi
        file=$($printf "$(echo "$file" | sed -e 's@%\([a-f0-9A-F]\{2\}\)@\\x\1@g')")
    fi
    echo "$file"
}

и страница открывается только сверху.

В моем случае firefox был зарегистрирован с %u, а seamonkey без, поэтому у меня было разное поведение в двух браузерах.

1
28.01.2020, 02:44

Теги

Похожие вопросы