Как выполнить файл “name.desktop”?

Вопрос или проблема

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Link
Name=ShareFolder
Icon=/usr/share/icons/DPL/NetworkShare.png
Name[en_US]=ShareFolder
URL=smb://servername/sharefolder

Это мой файл .desktop, который содержит URL. Как мне выполнить этот ярлык рабочего стола в терминале? Если я дважды щелкаю, он работает отлично, но мне нужно выполнить это в терминале.

Я пытался Запустить .desktop файл в терминале. Это тоже не сработало, но работает, если это ярлык “приложения”. Я пытаюсь выполнить “ссылку” .desktop файл, где вы определяете в секции типа (Type=Link) и (URL=smb://servername/sharefolder).

Используйте

xdg-open path/to/file.desktop

Первая строка в файле – это приложение, которое запускает этот файл.

Если это не сработает, попробуйте это (адаптировано из Запуск .desktop файла в терминале):

xdg-open `grep ‘^URL’ path/to/file.desktop | tail -1 | sed ‘s/^URL=//’ | sed ‘s/%.//’` &

Извините за возобновление обсуждения, но предыдущий ответ кажется неверным, так как он просто открывает .desktop файл в текстовом редакторе. Если вы хотите “выполнить” переменную рабочего стола, то есть смоделировать двойной щелчок по ней из графической среды рабочего стола, используйте соответствующий запускатор для вашей графической среды.

На Cinnamon, Gnome, Gnome Flashback и MATE используйте gio launch path/to/file.desktop.

Указанная ниже страница вики должна помочь вам найти соответствующий запускатор для вашей графической среды, если вы не используете Cinnamon/Gnome/Gnome Flashback/MATE.

Ссылка: https://wiki.archlinux.org/title/Desktop_entries

Ответ или решение

Чтобы выполнить файл .desktop, содержащий ссылку, можно использовать несколько различных подходов в зависимости от вашего рабочего окружения и инструментов. Рассмотрим несколько способов выполнения вашего файла name.desktop, который содержит URL.

Определение файла .desktop

Файл .desktop, который вы предоставили, содержит следующую структуру:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Link
Name=ShareFolder
Icon=/usr/share/icons/DPL/NetworkShare.png
Name[en_US]=ShareFolder
URL=smb://servername/sharefolder

Этот файл представляет собой ярлык для сетевой папки, используемый в различных графических средах Linux. Он имеет тип Link, который определяет, что при выполнении файла должен открываться указанный URL.

Способы выполнения файла .desktop в терминале

  1. Использование xdg-open

    Самый простой способ открыть URL, указанный в вашем .desktop файле — это использовать команду xdg-open. Эта команда автоматически запустит соответствующее приложение по указанному URL.

    Откройте терминал и выполните следующую команду:

    xdg-open path/to/name.desktop

    Замените path/to/name.desktop на фактический путь к вашему файлу .desktop. Это будет эквивалентно двойному щелчку по файлу в графическом интерфейсе.

  2. Команда gio

    Если вы используете одно из следующих рабочих окружений: Cinnamon, Gnome, Gnome Flashback или MATE, вы можете воспользоваться командой gio.

    В терминале выполните:

    gio launch path/to/name.desktop

    Это также откроет ваш ярлык, как если бы вы кликнули по нему мышью.

  3. Извлечение URL из файла .desktop

    Если предыдущие команды по каким-то причинам не сработают, вы можете извлечь URL вручную и открыть его. Для этого выполните следующую команду, которая извлекает URL из вашего файла:

    url=$(grep '^URL=' path/to/name.desktop | cut -d'=' -f2) && xdg-open "$url"

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

Заключение

Выбор подхода зависит от ваших предпочтений и используемой среды рабочего стола. Команда xdg-open является наиболее универсальным решением для открытия большинства ссылок. Если же по какой-то причине она не работает, gio launch и извлечение URL через команду grep также окажутся полезными инструментами.

Не забывайте, что правильная установка разрешений файла также критически важна. Убедитесь, что ваш .desktop файл является исполняемым:

chmod +x path/to/name.desktop

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

Оцените материал
Добавить комментарий

Капча загружается...