Как сделать исполняемый скрипт bash двойным щелчком, как .exe
файлов в Windows? Я попытался создать пусковую установку и назначить ей скрипт , но есть два последствия:
У меня есть скрипт, который устанавливает tomcat на автономный ПК, включая все зависимости tomcat в скрипте. Мне нужно, чтобы скрипт работал по двойному щелчку, как окна, поскольку большинство пользователей, использующих скрипт, не знакомы с Ubuntu.
Забудьте приведенное выше объяснение. Я хочу сделать скрипт, который можно запустить, дважды щелкнув по нему, без использования терминала. Кто-нибудь знает как?
В Ubuntu и всех операционных системах на базе Unix, afaik, по умолчанию ничего не установлено как исполняемое. Это можно сделать двумя способами.
Щелкните правой кнопкой мыши сценарий или файл, который хотите выполнить. Перейдите в Свойства, затем на вкладку Разрешения. Установите флажок «Выполнить».
Откройте терминал компакт-диск
в каталоге, в котором находится файл. Введите chmod ugo + x имя файла
. Это приведет к запуску файла.
Теперь ваши пользователи могут дважды щелкнуть мышью, сколько душе угодно.
Если вы используете 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
Думаю, что здесь отсутствует файл *.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 файл для одного скрипта можно создать несколько конфигураций, передав различные параметры, что очень удобно и просто.
Когда вы запускаете на рабочем столе сценарий SHEL или что-то еще, в командной строке не забудьте указать сценарию, что он будет выполняться в фоновом режиме.
Сценарий умрет когда он закончит, будет работа.
Вы должны проверить 3 пункта :
Файловая система должна позволять выполнение :
mount
в консолиnoexec
noexec
, отредактировав /etc/fstab
и перемонтируйте изменённую систему (например, выполните следующие действия): /etc/fstab. перезагрузка работает) На основе umask
] defualt, вы не выполняете разрешения для файлов по умолчанию и должны изменить мод, чтобы получить разрешения на выполнение, примерно так:
chmod u+x filename
Специально для Android Studio Вы можете следить за моим исходным ответом здесь :
Создать запись на рабочем столе ..
из меню Инструменты . Будет запрошен пароль, введите пароль для текущего входа в систему.
Наконец, на экране Android Studio будет отображаться уведомление, например:
Спасибо. :)
Я тестировал это, и он работал нормально. Убедитесь, что ваш сценарий начинается с правильного shebang , например #! / Usr / bin / env bash
.
Затем выполните следующие действия:
dconf-editor
и нажмите Введите . org ➤ gnome ➤ nautilus ➤ settings
Щелкните исполняемый файл -text-activate
и в раскрывающемся меню выберите:
запустить : запускать скрипты как программы.
ИЛИ
спросите : спросить, что делать в диалоговом окне.
Закройте dconf-editor. Вот и все!
Альтернативный способ, используя терминал: Выполнить:
gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'
Примечание : Файл должен быть исполняемым. Вам также может потребоваться изменить разрешение файла. Щелкните правой кнопкой мыши и установите «Разрешить выполнение файла как программы»
Источник .
В качестве дополнения к ответ о Thunar : этот ответ повторно включит предыдущую функцию Thunar для выполнения скриптов по двойному щелчку. Но эта функция считалась угрозой безопасности.
Чтобы избежать этого, возможно, самым элегантным решением является отображение всплывающего окна с вопросом типа «Что вы хотите сделать с этим файлом: запустить или отредактировать?» (аналогично тому, что есть в других файловых менеджерах, таких как PCManFM и Nemo) при щелчке по этому файлу - с помощью Zenity: здесь .
Альтернативой могут быть настраиваемые действия , возможно, лучшая функция Thunar.
Команда, которую я использую для запуска исполняемого текстового файла, - sh -c% f
, для настраиваемого действия под названием «Выполнить / Выполнить сценарий».
Условия появления - это просто «текст»:
Аналогичную команду можно использовать для запуска в терминале такого сценария («Выполнить в терминале»), сохраняя терминал Xfce4 открыт:
xfce4-terminal -H -x %f
Необязательно, а может быть, и предпочтительно, чтобы скрыть такие параметры для всех текстовых файлов, кроме исполняемых, можно ограничить использование внешнего вида файлами .sh
(или ] .py
файлы, если это так, и т. д.) в разделе «Условия появления»:
- перед соответствующим переименованием исполняемых файлов.
ОС: 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 настроен таким образом).