Запустить средство запуска рабочего стола из командной строки на Mint

Тьяго Штюрмер Дайткс только что сослался на обходной путь в отчете об ошибке .

Я подтверждаю, что у меня это сработало. Спасибо, Тьяго!

2
20.07.2018, 13:18
3 ответа

Вы можете использовать такой инструмент, какxdg-open(Сейчас не работает ), kde-open, gnome-open,gtk-launchили аналогичный для среды вашего рабочего стола -.(xdg-openкажется, что это универсальный...)

(Похоже, что почти все, кромеgtk-launch(более похожих инструментов могут существовать для других наборов инструментов )страдает от той же ошибки, что иxdg-open-он открывает файл.desktop в редакторе, а не запускает его)

Пакеты:(Точное название будет отличаться в зависимости от дистрибутива)(это основано на CentOS 7)

  • gtk3 для gtk -запуск
  • xdg -утилиты для xdg -открыть
  • kde -среда выполнения для kde -открыть
  • libgnome для gnome -открыть
2
27.01.2020, 22:17

Приложение dex, вероятно, является самым простым способом сделать это.

sudo apt install dex, а затем dex ~/Desktop/some-application.desktopили, поскольку многие/большинство системных приложений находятся в /usr, вы можете использовать dex /usr/share/applications/some-application.desktop.

1
27.01.2020, 22:17

Если ты действительно этого хочешь,Я предлагаю вам написать небольшую функцию, которая извлекает имя исполняемого файла из файла.desktop и запускает его. Добавьте эти строки в файл инициализации вашей оболочки (, например.~/.bashrc):

runDesktop () {
  eval "$(awk -F= '$1=="Exec"{$1=""; print}' "$1")"
}

Затем вы можете запустить файл.desktop с помощью runDesktop ~/Desktop/slack.desktop. Конечно, обычные оговорки относительно evalприменимы.

Вы могли бы попробовать сделать это немного более сложным изощренным:

runDesktop () {
  comm=( $(awk -F= '$1=="Exec"{$1=""; print}' "$1") )
  "${comm[0]}" "${comm[@]:1}" &
  disown
}
2
27.01.2020, 22:17

Теги

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