Форум русскоязычного сообщества Ubuntu


Автор Тема: Создание ярлыка для запуска команд  (Прочитано 4448 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex-sky

  • Автор темы
  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Переходим по адресу, где лежат все наши ярлыки приложений:

cd /usr/share/applications/
Теперь создаем ярлык нашего нового приложения командой:
sudo gedit docker_engine_run.desktop
[Desktop Entry]
Name=Docker-Engine-run
Comment=
GenericName=
Keywords=
Exec=/bin/bash /home/it/install/docker/docker-engine-run.sh
Terminal=false
Type=Application
Icon=/home/it/install/docker/docker_icon.png
Path=
Categories=
NoDisplay=false

Вот файл для запуска:

 docker-engine-run.sh

sudo systemctl start docker.service  && sudo systemctl start containerd.service &&  sudo systemctl status docker


Сохраняем данные и переходим в меню программ.

Но вот при запуске этого ярлыка, ничего не работает.

 Кто подскажет, как это можно исправить ?
« Последнее редактирование: 01 Июня 2022, 21:05:09 от alex-sky »

Оффлайн Ivanivanoff

  • Активист
  • *
  • Сообщений: 319
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #1 : 01 Июня 2022, 22:39:50 »
Exec=/bin/bash
По моему bin/bash здесь лишняя запись и скрипт должен иметь разрешение на выполнение
Вот у меня подобный скрипт вполне себе работает
#!/usr/bin/env xdg-open
[Desktop Entry]
Comment[ru_RU]=
Comment=
Exec=/home/ubuntu64/Загрузки/Install_Soft.sh
GenericName[ru_RU]=
GenericName=
Icon=/home/ubuntu64/Dropbox/Панели/xrandr.png
MimeType=
Name[ru_RU]=Install_Soft
Name=Install_Soft
Path=
StartupNotify=true
Terminal=true
TerminalOptions=\s--noclose
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=none
X-KDE-SubstituteUID=false
X-KDE-Username=

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #2 : 01 Июня 2022, 22:58:21 »
Terminal=true
TerminalOptions=\s--noclose
Так разница же есть...
Извините, я все еще учусь

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #3 : 01 Июня 2022, 23:01:56 »
Exec=sh -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /home/it/install/docker/docker-engine-run.sh'
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн alex-sky

  • Автор темы
  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #4 : 01 Июня 2022, 23:04:04 »
Terminal=true
TerminalOptions=\s--noclose
а что эти опции делают ? Позволяют открыться эмулятору терминала и не закрывать его после отработки команд, указанных в запускаемом скрипте ?

Оффлайн Ivanivanoff

  • Активист
  • *
  • Сообщений: 319
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #5 : 01 Июня 2022, 23:12:21 »
Позволяют открыться эмулятору терминала и не закрывать его после отработки команд, указанных в запускаемом скрипте ?
Да

Оффлайн alex-sky

  • Автор темы
  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #6 : 02 Июня 2022, 09:59:42 »
Exec=sh -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /home/it/install/docker/docker-engine-run.sh'
Когда я так сделал, то ярлык исчезает из меню приложений. Почему и что можно сделать?

Я проверял. Когда убрал эту строчку, ярлык снова появился в меню приложений.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #7 : 02 Июня 2022, 10:35:33 »
Проверьте кавычки и не разрывайте строку.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн alex-sky

  • Автор темы
  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #8 : 03 Июня 2022, 08:42:57 »
Я поспешил поставить пометку "решено". Ярлык то не исчез, и даже при запуске, появляется окно для введения root password,

но вот скрипт по запуска docker не работает. И окно терминала я не вижу, оно не появляется. Вот мой файл *.desktop

[Desktop Entry]
Name=Docker-Engine-run
Comment=
GenericName=
Keywords=
Exec=sh -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /home/it/install/docker/docker-engine-run.sh'
Terminal=true
TerminalOptions=\s--noclose
Type=Application
Icon=/home/it/install/docker/docker_icon.png
Path=
Categories=
NoDisplay=false

Вот разрешения на файл *.desktop

-rw-r--r-x 1 root root  /usr/share/applications/docker_engine_run.desktop

-rw-rw-r-- 1 user user /home/it/install/docker/docker-engine-run.sh
« Последнее редактирование: 03 Июня 2022, 08:52:00 от alex-sky »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #9 : 03 Июня 2022, 09:03:04 »
Цитировать
скрипт по запуска docker не работает
До скрипта ему еще расти и расти. Хотя-бы шебанг пропиши.
У скрипта нет прав исполнения, без них это текст, а не скрипт.
Запусти скрипт в терминале, посмотри что будет.
« Последнее редактирование: 03 Июня 2022, 09:07:45 от andytux »

Оффлайн alex-sky

  • Автор темы
  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #10 : 03 Июня 2022, 15:47:35 »
До скрипта ему еще расти и расти. Хотя-бы шебанг пропиши.

Не обязательно.

Работает из без этого заголовка:
#!/bin/bash
Я установил разрешения на файл, сделал его исполняемым.

chmod ugo+x /home/it/install/docker/docker-engine-run.sh

Все четко работает.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: Создание ярлыка для запуска команд
« Ответ #11 : 03 Июня 2022, 15:58:22 »
Работает, пока интерпретатор указан, как здесь:
Exec=sh -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /home/it/install/docker/docker-engine-run.sh'

 

Страница сгенерирована за 0.028 секунд. Запросов: 25.