Как запустить скрипт в терминале при двойном щелчке

Резюме: Как установить Run in Terminal как действие Nautilus doubleclick по умолчанию?

Я хочу запустить интерактивный скрипт, дважды щелкнув его. Чтобы взаимодействовать с ним, я должен увидеть, что он запускается.

Если I gsettings установил org.gnome.nautilus.preferences executable-text-activation в ask, тогда он дает мне выбор; Run in Terminal делает то, что я хочу; Run нет, поскольку, когда скрипт должен что-то спросить, он просто зависает. Тем не менее, я не хочу каждый раз нажимать Run in Terminal. Я хочу, чтобы это делалось по умолчанию. Я сделал это раньше.

Я попытался gsettings установить org.gnome.nautilus.preferences executable-text-activation на launch; однако это просто Run как значение по умолчанию; Я не вижу способа сделать это Run in Terminal по умолчанию.

Я также попытался вставить команду gnome-terminal. Это успешно всплывает окно терминала (даже когда просто Run); однако, мне почему-то нужно отправить все команды в это окно терминала.

В качестве альтернативы я знаю, как отправить (просто) интерактивную часть скрипта на этот терминал, который будет работать для меня; однако в этом случае мне нужно, чтобы сценарий остановился, пока его интерактивная часть не завершится, а затем возобновит выполнение. Как правило, это можно выполнить с помощью команды wait; как и в случае gnome-terminal, команда работает как gnome-terminal& вместо этого, поскольку она освобождает управление от сценария bash сразу же после его запуска.

Я прочитал почти 10 дубликатов thread Как запустить исполняемые скрипты в Nautilus? (включая другие сайты), и я до сих пор не могу найти ответ. Любые другие обходные пути будут оценены.

1
задан 13 April 2017 в 15:25

2 ответа

Это решение должно работать для каждого:

файловых менеджеров, которые поддерживают «настраиваемые личные действия». файловые менеджеры, которые настроены на открытие файлов с двойным щелчком. x терминальные эмуляторы, которые имеют опции для выполнения: «-e» или «--execute». скрипт, имеющий разрешение на выполнение.

EDIT

Протестировано с помощью диспетчера файлов thunar, после чего я установил nautilus и теперь дважды щелкните сценарий выполнения для обоих.

1- Щелкните правой кнопкой мыши ваш скрипт

2- Выберите «открыть с помощью»

3- Нажмите «открыть с другим приложением»

4- Нажмите «открыть с помощью команды»

5- Проверьте «использовать это действие для этого типа файла»

6- Введите в текстовую область следующую команду: x-terminal-emulator -e "/bin/bash %f"

7- Нажмите «Открыть» , ваш скрипт выполняется в окне терминала.

8- Перезагрузите файл-менеджер

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

0
ответ дан 23 May 2018 в 00:05
  • 1
    Я пробовал это до публикации ... нет опции для click "open with a command" (4). Я даже зашел в настройки Nautilus - вариант «Добавить другое приложение в список». отображается серым цветом. Я подозреваю, что мне нужно сделать sudo Naulilus, чтобы добавить приложение в список, но это не с dconf-shm.c:92:dconf_shm_open: assertiion failed: (memory != MAP_FAILED). Любой способ обойти это? Может быть, добавить это приложение через командную строку? – Alex 31 March 2017 в 20:34
  • 2
    я ничего не сделал для nautilus, просто дважды щелкните, он просто работает после настройки thunar, некоторые данные были разделены, потому что теперь nautilus настроен как thunar.Strange, но true. – user-707 31 March 2017 в 20:42
  • 3
    См. Мое редактирование выше. – user-707 31 March 2017 в 20:45
  • 4
    Как я уже сказал, я бы согласился принять этот ответ, если он работает, но нет возможности добавить новую команду в существующий список команд: Abiword, Archive Manager, Document Viewer, File, GEdit, Gnash SWF Viewer, GNU IMP, Gnumeric, Image Viewer, Movie Player, Web У меня нет Thunar. Есть ли другие файловые менеджеры, которые я должен попробовать? Или другие способы получить это в списке или как-то разблокировать Nautlius? – Alex 31 March 2017 в 20:45
  • 5
    Вы не хотите устанавливать thunar? – user-707 31 March 2017 в 20:48

Нашел короткое решение вопроса. Добавление --disable-factory к опциям gnome-terminal заставляет ждать окончания терминала, прежде чем продолжить остальную часть скрипта.

0
ответ дан 23 May 2018 в 00:05
  • 1
    Вам нужен еще один параметр --disable-fedora, а затем присоединяйтесь к нам в UbuntuLand :) – WinEunuuchs2Unix 1 April 2017 в 04:17

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

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