3

Я знаю, что этот вопрос звучит слишком обобщенно, но я не могу найти ответ на него.

Как я могу создать файл ссылки (программный / жесткий), который при открытии перенаправляет меня на веб-сайт с протоколом http ?

Один из возможных способов, который я могу придумать, - это создание скрипта с хромой оболочкой и выполнение его исполняемым, который может использовать браузер для открытия веб-сайта. Но разве нет понятия "файл гиперссылки"?

5 ответов5

5

Добавьте это к target.html:

<html>
<head>
<meta http-equiv="refresh" content="0; url=http://example.com/" />
</head>
</html>

Теперь, если вы запустите firefox target.html , откроется example.com.


Чтобы уточнить, не существует такой вещи, как "файл гиперссылки". Возможно, вы слышали о символических и жестких ссылках, но это просто способ ссылки на файл на диске - это не URL-адреса. От man ln

Символьные ссылки могут содержать произвольный текст; если позже разрешено, относительная ссылка интерпретируется относительно его родительского каталога.

4

xdbg-open является приложением по умолчанию для открытия чего угодно, поэтому вы можете создать скрипт bash следующим образом:

#!/bin/bash
if which xdg-open > /dev/null
then
  xdg-open YOUR_URL
elif which gnome-open > /dev/null
then
  gnome-open YOUR_URL
fi

Соответственно замените YOUR_URL, сохраните файл и сделайте его исполняемым (chmod +x filename.sh)

4

Есть файлы .desktop :

$ cat ~/Desktop/Link.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Link to your site
URL=http://your-site-url.com
Icon=text-html

Это возможный ответ, когда ваше решение не обязательно должно быть основано на командной строке, но должно принести много комфорта.

Конечно, файлы .desktop не нужно хранить в ~/Desktop/ . Я просто использовал это место, так как они могут быть использованы в этом месте в основном.

1

Один из ответов, который еще не пришел, - использование возможностей Linux binfmt_misc , чтобы создать собственный формат исполняемых ссылок, который работает на уровне ядра!

Чтобы автоматически открывать любые файлы .link в xdg-open , поместите их в исполняемый файл по адресу /etc/local.d/binfmt_misc.start или в любой файл, который ваша ОС запускает при запуске:

#! /bin/sh
echo ':open-hyperlink:E::link::/usr/local/bin/open-hyperlink:' > /proc/sys/fs/binfmt_misc/register

и поместите следующее в исполняемый файл /usr/local/bin/open-hyperlink :

#! /bin/sh
xdg-open "`cat "$1"`"

После этого вы можете просто «запустить» .link файлы, которые помечены как исполняемые любым способом, и он откроет ссылку в браузере. Командная строка, графический интерфейс, двойной щелчок, что угодно.

$ echo 'http://superuser.com/questions/986527/how-to-create-a-hyperlink-file' > this-page.link
$ chmod +x this-page.link
$ ./this-page.link
[Browser opens…]

Конечно, вы можете изменить расширение и формат файла так, как вам нравится, при условии, что вы соответственно измените скрипт open-hyperlink . Даже файлы Windows .lnk !

Конечно, ваше ядро должно иметь этот модуль доступным и активным, чтобы он работал. (У меня есть это скомпилировано в.)

Посмотрите документацию по binfmt_misc , так как возможностей гораздо больше, например, сопоставление с шаблоном вместо расширения файла.

0

Существует множество ответов, предполагающих, что вы хотите сделать это программно, но если это не так, откройте страницу в браузере и перетащите ее из адресной строки в окно рабочего стола или в окно проводника, и там должна появиться ссылка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .