Как открыть desktop linux

Открытие DESKTOP файлов

У вас есть проблема с открытием .DESKTOP-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы DESKTOP. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат .DESKTOP?

Расширение .desktop используется в современных настольных графических средах пользователя наподобие GNOME, KDE, Unity и т.д. (преимущественно в системах на базе GNU/Linux) для обозначения специальных файлов-указателей для запуска приложений. Это не отдельный формат, но обрабатываемый особым образом тип файла.

DESKTOP-файлы — это обычные текстовые файлы (в основном, в кодировке Unicode), которые можно открывать и редактировать в текстовом редакторе. Файл .desktop обычно содержит несколько текстовых строк, которые путем выражений присваивания задают внешний вид, поведение при щелчке, опции и ключи командной строки, содержание всплывающей подсказки, категорию приложения и проч.

Настольная графическая среда в Linux обрабатывает файлы .desktop как указатели-ссылки на приложения (аналогично двоичным файлам .lnk в MS Windows), скрывая при этом расширение .desktop. Для файла .desktop должен быть установлен атрибут «x» (исполняемый), в противном случае файл будет восприниматься как текстовый. В обычной настольной среде файлы .desktop для всех установленных приложений находятся в директории «/usr/share/applications/».

Не следует путать DESKTOP-файлы с символьными или жесткими ссылками, поскольку первые — лишь абстрактные типы данных, созданные для удобства пользователя.

Источник

С чем ассоциировать .desktop файл, чтобы он просто запускался?

Допустим, у меня по умолчанию в качестве текстого редактора используется Geany. Если я в терминале наберу xdg-open something.desktop , то файл откроется в Geany, но мне нужно чтобы он запускался!

На скриншоте вы видите, что в контекстном меню предлагают открыть ярлык офисом, т.е. связанным приложением и это очень неудобно! Я не хочу открывать его офисом, я хочу чтоб в этом меню предлагался текстовый редактор, но текстовый редактор уже является приложением по умолчанию и по этому его там нет.

Мне нужно как-то перенести Geany из разряда «Приложение по умолчанию» в разряд «Связанные приложения», а приложением по умолчанию назначить команду запуска. Подскажите пожалуйста, как это сделать?

1 ответ 1

ответ будет (в последней части) пересекаться с другим моим ответом: Каким образом программно зарегистрировать в ОС программу для открытия определенного типа файлов по умолчанию?, но уже не в общесистемном, а в пользовательском контексте.

для начала надо уметь извлечь из desktop-файла имя программы (оно указывается в строке, начинающейся с exec= ):

с помощью такого скрипта:

сохраните его под произвольным именем (например, deskopen ) в каком-нибудь из каталогов, перечисленных в переменной окружения $PATH (например, в /usr/local/bin ) и присвойте биты исполнимости ( $ chmod +x /путь/к/файлу ).

теперь desktop-файлы можно «запускать» с помощью этого скрипта:

теперь надо создать desktop-файл, служащий «обёрткой» для вызова этого скрипта:

для использования только текущим пользователем его надо поместить под именем deskopen.desktop в каталог

в том же каталоге (

/.local/share/applications ) эту ассоциацию — между mime-типом application/x-desktop и созданной на предыдущем шаге «обёрткой» надо сделать «умолчальной». в один из файлов — defaults.list или mimeapps.list — добавьте в секцию [Default Applications] строку:

если ни одного из этих двух файлов не существовало — создайте любой из них. тогда он будет выглядеть так:

Читайте также:  Легализатор windows 10 pro

всё. теперь команда

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

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

Источник

Запуск файла.desktop в терминале

Из того, что я могу собрать, .desktop файлы — это ярлыки, которые позволяют настраивать параметры приложения. Например, у меня их много в моем /usr/share/applications/ папка.

Если я открою эту папку в nautilus Я могу запустить эти приложения, просто дважды щелкнув соответствующий файл, например, дважды щелкнув firefox.desktop запускает Firefox Тем не менее, я не могу найти способ сделать то же самое через терминал.

Если я сделаю gnome-open foo.desktop это просто открывается foo.desktop в виде текстового файла. Если я делаю его исполняемым, а затем запускаю его в bash, он просто перестает работать (что, как ожидается, явно не bash-скрипт).
РЕДАКТИРОВАТЬ: Делать exec /fullpath/foo.desktop дает мне Permission denied сообщение, даже если я поменяю владельца на себя. Если я выполняю исполняемый файл и выполняю ту же команду, вкладка терминала, которую я использую, просто закрывается (полагаю, она вылетает). Наконец, если я сделаю sudo exec /fullpath/foo.desktop Я получаю сообщение об ошибке sudo: exec: command not found ,

Это мой вопрос, как я могу запустить foo.desktop файл с терминала?

17 ответов

Команда, которая запускается, содержится в файле рабочего стола, которому предшествует Exec= так что вы можете извлечь и запустить это:

Чтобы сломать это

Вы можете положить это в файл, скажем,

/bin/deskopen с содержанием

Затем сделайте его исполняемым

И тогда вы могли бы сделать, например,

Аргументы ( %u , %F и т.д.) подробно описаны по адресу http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html — ни один из них не имеет отношения к запуску из командной строки.

Ответ должен быть

Но из- за ошибки это больше не работает.

С любой недавней Ubuntu, которая поддерживает gtk-launch просто иди

gtk-launch где имя файла.desktop без .desktop часть

Так gtk-launch foo открывает foo.desktop

.Desktop должен находиться в / usr / share / Applications, / usr / local / share / application или

/.local / share / Applications (очевидно, вы можете использовать.desktop, если хотите.

Используется из терминала или alt+F2 (команда alt + F2 хранит историю, поэтому легко доступна)

На сегодняшний день (12.10) ошибка все еще присутствует. На самом деле это зависит от того, как gvfs-open (вызывается xdg-open ) работает.

Тем не менее, мне удалось быстро обойти (украсть вдохновение из исходного кода nautilus). Это немного запутанно, но работает безупречно на Ubuntu 12.10, добавляя значащий значок (не более ? ) на пусковой установке Unity.

Во-первых, я написал скрипт на Python с использованием Gio и поместил его как

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

Затем я создал родственник .desktop запись на

Наконец, я связал запись как обработчик по умолчанию в

/.local/share/applications/mimeapps.list под [Default Applications] раздел как:

  • xdg-open что-то.дескопт работает как положено
  • #!/usr/bin/xdg-open hashbang поверх исполняемой записи рабочего стола тоже работает

Это будет бесполезная работа, когда gvfs-open решит ошибку, а пока.

Правильный путь

Вы действительно должны использовать gtk-launch если это доступно. Обычно это часть пакета libgtk-3-bin (это может отличаться в зависимости от дистрибутива).

gtk-launch используется следующим образом:

Обратите внимание, что gtk-launch требует установки файла .desktop (т.е. находится в /usr/share/applications или же

Таким образом, чтобы обойти это, мы можем использовать маленькую хакерскую функцию Bash, которая временно устанавливает нужный файл .desktop перед его запуском. «Правильный» способ установки файла .desktop — через desktop-file-install но я собираюсь игнорировать это.

Читайте также:  Sublime text python mac os

Вы можете использовать его следующим образом (а также передавать дополнительные аргументы или URI, если хотите):

Ручная альтернатива

Если вы хотите вручную проанализировать и выполнить файл .desktop, вы можете сделать это с помощью следующего awk команда:

Если вы хотите лечить awk команда как сценарий «все в одном»; мы можем даже показать сообщение об ошибке и выйти с кодом возврата 1 в случае, если команда Exec не найдена:

Вышеупомянутые команды будут:

  1. Найти строку, начинающуюся с Exec=
  2. Удалить Exec=
  3. Удалите все переменные Exec (например, %f , %u , %U ). Их можно заменить позиционными аргументами, как это предусмотрено в спецификации, но это может значительно усложнить проблему. См. Последнюю спецификацию входа на рабочий стол.
  4. Выполнить команду
  5. Немедленно завершите работу с соответствующим кодом выхода (чтобы не выполнять несколько строк Exec)

Обратите внимание, что этот сценарий AWK обращается к нескольким крайним случаям, которые могут или не могут быть должным образом учтены в некоторых других ответах. В частности, эта команда удаляет несколько переменных Exec (стараясь не удалять символ% в противном случае), будет выполнять только одну строковую команду Exec и будет вести себя, как ожидается, даже если строковая команда Exec содержит один или несколько знаков равенства (например, script.py —profile=name ).

Еще несколько предостережений. Согласно спецификации, TryExec это:

Путь к исполняемому файлу на диске, который используется для определения, установлена ​​ли программа на самом деле. Если путь не является абсолютным, файл ищется в переменной среды $PATH. Если файл отсутствует или не является исполняемым, запись можно игнорировать (например, не использовать в меню).

Имея это в виду, не имеет смысла выполнять его значение.

Некоторые другие проблемы — Путь и Терминал. Путь состоит из рабочего каталога, в котором запускается программа. Terminal — логическое значение, указывающее, выполняется ли программа в окне терминала. Все это может быть решено, но нет смысла изобретать велосипед, поскольку уже есть реализации спецификации. Если вы хотите реализовать Path, имейте в виду, что system() порождает подпроцесс, поэтому вы не можете изменить рабочий каталог, выполнив что-то вроде system(«cd \047» working_directory «\047»); system(command) , Однако вы могли бы предположительно сделать что-то вроде system(«cd \047» working_directory «\047 && » command) , Примечание \047 — одинарные кавычки (поэтому команда не разбивается на пути с пробелами).

Альтернатива Python

Я краду страницу у Карло, который предложил создать скрипт Python для использования модуля gi. Вот минимальный способ выполнить тот же код из оболочки без необходимости создавать файл и беспокоиться о вводе / выводе.

Затем выполните функцию запуска следующим образом:

Обратите внимание, что использование URI необязательно. Кроме того, проверка ошибок не выполняется, поэтому вы должны убедиться, что модуль запуска существует и доступен для чтения (перед его использованием), если вы хотите, чтобы ваш сценарий был надежным.

Источник

Запускаем desktop файлы в Gnome 3

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

/.local/share/applications. А так же они могут находиться /usr/local/share/applications или /usr/share/applications для приложений установленных в системе. Стоит отметить, что пользовательские ярлыки имеют приоритет над системными. Если вы сталкивались с данным расширением, то, возможно для вас будет открытием то, что из Gnome была удалена возможность запуска по умолчанию исполняемых файлов. А это в свою очередь не даст вам запускать файлы с расширением “.desktop”, как бы печально это не было.

Читайте также:  Itools pro mac os key

Запуск desktop-файла

И так, давайте все же разберемся как можно запускать данные файлы в операционной системе с окружением рабочего стола Gnome. Для примера, я возьму браузер TOR, о котором вы можете прочесть например на WIKI, если вдруг не в курсе, что это за браузер. И так, первым делом нажимаем на самом desktop файле правой клавишей мышки и выбираем “Свойства”:

Переходим во вкладку “Права” и ставим галочку напротив пункта “Разрешить выполнение файла как программы”:

Теперь переходим в настройки файлового менеджера Nautilus, если вдруг вы не знаете как это делается, то нажимаем на иконку с тремя полосками и выбираем пункт “Параметры”:

Затем переходим во вкладку “Поведение” и в пункте “Исполняемые текстовые файлы” выбираем пункт “Запустить”:

На этом собственно все, теперь можно запускать файлы с расширением “desktop” двойным нажатием клавиш мышки.

Заключение

Как видите, все достаточно просто, и такими вот не хитрыми движениями мы теперь можем запускать файлы с данным расширением. Печально то, что из Gnome 3 постепенно выпиливают его возможности, которые к слову, в итоге возможно вернуть при помощи расширений. А если вдруг вы хотите больше анонимности в сети, можете прочесть эту статью, где написано про сеть TOR.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник

Как запустить графическую оболочку Ubuntu

Если вы запустили систему в текстовом режиме или вовсе это сервер и на нём надо работать только через терминал, но на нём уже есть установлено графическое окружение, есть несколько способов его запустить.

В этой статье мы постараемся разобраться как запустить графическую оболочку Ubuntu из терминала несколькими способами.

Запуск графической оболочки Ubuntu

Сначала можно посмотреть текущий уровень запуска в systemd. Для этого выполните:

systemctl list-units —type target | egrep «eme|res|gra|mul» | head -1

Если уровень запуска не graphical.target вы можете это исправить выполнив команду:

sudo systemd isolate graphical.target

После этого уровень запуска будет изменён на графический и графическая оболочка запуститься автоматически. Если вам нужно запустить менеджер входа вручную выполните такую команду:

sudo systemctl start display-manager

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

С более простыми графическими оболочками, вроде Openbox, Fluxbox, i3wm и даже XFCE может сработать ещё один метод, очень популярный ранее. Это команда startx. Однако чтобы она сработала в файле

/.xinitrc надо прописать оболочку, которую вы хотите запустить. Например:

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x «$f» ] && . «$f»
done
unset f
fi
feh —bg-fill

/Загрузки/52453-sklon_holm_cerkvushka_sneg.jpg &
lxpanel &
exec openbox-session

Блок if загружает все конфигурационные файлы из каталога /etc/X11/xinit*, сторчка, начинающаяся с feh добавляет фон рабочего стола, следующая — нижнюю панель, а последняя запускает сам openbox. Теперь запуск графической оболочки Ubuntu из консоли выполняется командой:

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

Обратите внимание, что оболочку можно запустить только из консоли TTY, из терминала в графическом окружении это не сработает. Как видите, всё просто. Ваша оболочка запуститься в том же терминале, в котором вы выполнили startx.

Источник

Оцените статью