Как выполнить скрипт, просто дважды щелкнув, как .EXE-файлы в Windows?

Как сделать исполняемый скрипт bash двойным щелчком, как .exe файлов в Windows? Я попытался создать пусковую установку и назначить ей скрипт , но есть два последствия:

  1. терминал мерцает, исчезает, и ничего не делается.
  2. Вы должны указать, чтобы работать в терминале, чтобы работать.

У меня есть скрипт, который устанавливает tomcat на автономный ПК, включая все зависимости tomcat в скрипте. Мне нужно, чтобы скрипт работал по двойному щелчку, как окна, поскольку большинство пользователей, использующих скрипт, не знакомы с Ubuntu.

Забудьте приведенное выше объяснение. Я хочу сделать скрипт, который можно запустить, дважды щелкнув по нему, без использования терминала. Кто-нибудь знает как?

147
задан 13 April 2017 в 15:23

12 ответов

В Наутилусе (файлы AKA)

  1. Перейти к файлам ( Изменить в Unity (17.04 или ниже))> Настройки> вкладка Поведение

    screenshot

  2. Измените настройки для исполняемого текстового файла.

    screenshot

89
ответ дан 13 April 2017 в 15:23

В Ubuntu и всех операционных системах на базе Unix, afaik, по умолчанию ничего не установлено как исполняемое. Это можно сделать двумя способами.

  1. Щелкните правой кнопкой мыши сценарий или файл, который хотите выполнить. Перейдите в Свойства, затем на вкладку Разрешения. Установите флажок «Выполнить».

  2. Откройте терминал компакт-диск в каталоге, в котором находится файл. Введите chmod ugo + x имя файла . Это приведет к запуску файла.

Теперь ваши пользователи могут дважды щелкнуть мышью, сколько душе угодно.

10
ответ дан 13 April 2017 в 15:23

Если вы используете XFce, вы можете запустить скрипт в Thunar, выполнив эту команду:

xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default \
             --create --type bool --set true

или используя gui xfce4-settings-editor и создав файл те же свойства.

Запустите xfce4-settings-editor , затем введите:

  • / misc-exec-shell-scripts-by-default

  • Boolean

  • TRUE

picture of xfce4-settings-editor

7
ответ дан 13 April 2017 в 15:23

Думаю, что здесь отсутствует файл *.desktop:

$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"
Categories=Application;

Если вы создадите более одного *. desktop файл для одного скрипта можно создать несколько конфигураций, передав различные параметры, что очень удобно и просто.

14
ответ дан 13 April 2017 в 15:23

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

Сценарий умрет когда он закончит, будет работа.

1
ответ дан 13 April 2017 в 15:23

Вы должны проверить 3 пункта :

  • Nautilus / Nemo configuration : https://askubuntu. com/a/286651/301025
  • Файл сценария должен быть исполняемым: https://askubuntu.com/a/275714/301025
  • Файловая система должна позволять выполнение :

    1. Введите mount в консоли
    2. Проверьте, есть ли в файловой системе флаг noexec
    3. Удалите флаг noexec, отредактировав /etc/fstab и перемонтируйте изменённую систему (например, выполните следующие действия): /etc/fstab. перезагрузка работает)
2
ответ дан 13 April 2017 в 15:23

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

chmod u+x filename
1
ответ дан 13 April 2017 в 15:23

Специально для Android Studio Вы можете следить за моим исходным ответом здесь :

Чтобы создать средство запуска на рабочем столе:

  • Нажмите Создать запись на рабочем столе .. из меню Инструменты .

enter image description here

  • Будет запрошен пароль, введите пароль для текущего входа в систему.

  • Наконец, на экране Android Studio будет отображаться уведомление, например:

enter image description here

  • Вы можете увидеть в Приложения => Программирование => Android Studio , и вы можете увидеть на рабочем столе также после перезапуска системы.

Спасибо. :)

-1
ответ дан 13 April 2017 в 15:23

Я тестировал это, и он работал нормально. Убедитесь, что ваш сценарий начинается с правильного shebang , например #! / Usr / bin / env bash .

Затем выполните следующие действия:

  • Нажмите Alt + F2 , чтобы запустить команду.
  • ] Введите dconf-editor и нажмите Введите .
  • В редакторе dconfg перейдите по адресу: org ➤ gnome ➤ nautilus ➤ settings
  • Щелкните исполняемый файл -text-activate и в раскрывающемся меню выберите:

    запустить : запускать скрипты как программы.
    ИЛИ
    спросите : спросить, что делать в диалоговом окне.

    screenshot

  • Закройте dconf-editor. Вот и все!

Альтернативный способ, используя терминал: Выполнить:

gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'

Примечание : Файл должен быть исполняемым. Вам также может потребоваться изменить разрешение файла. Щелкните правой кнопкой мыши и установите «Разрешить выполнение файла как программы»

screenshot

Источник .

148
ответ дан 13 April 2017 в 15:23

В качестве дополнения к ответ о Thunar : этот ответ повторно включит предыдущую функцию Thunar для выполнения скриптов по двойному щелчку. Но эта функция считалась угрозой безопасности.

Чтобы избежать этого, возможно, самым элегантным решением является отображение всплывающего окна с вопросом типа «Что вы хотите сделать с этим файлом: запустить или отредактировать?» (аналогично тому, что есть в других файловых менеджерах, таких как PCManFM и Nemo) при щелчке по этому файлу - с помощью Zenity: здесь .


Альтернативой могут быть настраиваемые действия , возможно, лучшая функция Thunar.

Команда, которую я использую для запуска исполняемого текстового файла, - sh -c% f , для настраиваемого действия под названием «Выполнить / Выполнить сценарий».

enter image description here

Условия появления - это просто «текст»:

enter image description here

Аналогичную команду можно использовать для запуска в терминале такого сценария («Выполнить в терминале»), сохраняя терминал Xfce4 открыт:

xfce4-terminal -H -x %f

enter image description here

Необязательно, а может быть, и предпочтительно, чтобы скрыть такие параметры для всех текстовых файлов, кроме исполняемых, можно ограничить использование внешнего вида файлами .sh (или ] .py файлы, если это так, и т. д.) в разделе «Условия появления»:

enter image description here

- перед соответствующим переименованием исполняемых файлов.

1
ответ дан 22 October 2019 в 16:08

Для Ubuntu 20.04:

  1. Откройте Файлы ( Nautilus сейчас называется Файлы ), щелкните меню гамбургера и выберите Настройки .

enter image description here

  1. Перейдите на вкладку Поведение и выберите подходящий вариант из раздела Исполняемые текстовые файлы в разделе

enter image description here

1
ответ дан 5 January 2021 в 23:41

ОС: Linux Mint (я использую 18.3)

Я долго боролся с этим, пытаясь выяснить, как можно щелкнуть (или дважды щелкнуть) исполняемый элемент и получить его запустить, без лишних вопросов. Я просмотрел все, что находится в Nemo Edit -> Preferences. Ответ на самом деле очень прост и настроен для вас ... Я не знаю, применимо ли это только к Mint.

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

На самом деле это создает простой исполняемый текстовый файл, например

[Desktop Entry]
Comment=
Terminal=true
Name=MyScript
Exec=/media/mike/D_drive/My Documents/sysadmin/MyScript.sh
Type=Application

Нет необходимости, чтобы этот файл содержал в своем имени ".desktop".

Этот файл можно использовать где угодно, а не на рабочем столе: переместите / скопируйте его в другой каталог, и он также будет запущен двойным щелчком в Nemo (или одним щелчком, если Nemo настроен таким образом).

-1
ответ дан 5 January 2021 в 23:41

Другие вопросы по тегам:

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