Резюме: Как установить 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? (включая другие сайты), и я до сих пор не могу найти ответ. Любые другие обходные пути будут оценены.
Это решение должно работать для каждого:
файловых менеджеров, которые поддерживают «настраиваемые личные действия». файловые менеджеры, которые настроены на открытие файлов с двойным щелчком. x терминальные эмуляторы, которые имеют опции для выполнения: «-e» или «--execute». скрипт, имеющий разрешение на выполнение.EDIT
Протестировано с помощью диспетчера файлов thunar, после чего я установил nautilus и теперь дважды щелкните сценарий выполнения для обоих.
1- Щелкните правой кнопкой мыши ваш скрипт
2- Выберите «открыть с помощью»
3- Нажмите «открыть с другим приложением»
4- Нажмите «открыть с помощью команды»
5- Проверьте «использовать это действие для этого типа файла»
6- Введите в текстовую область следующую команду: x-terminal-emulator -e "/bin/bash %f"
7- Нажмите «Открыть» , ваш скрипт выполняется в окне терминала.
8- Перезагрузите файл-менеджер
Теперь, когда вы дважды щелкните по сценарию, он будет выполнен.
Нашел короткое решение вопроса. Добавление --disable-factory к опциям gnome-terminal заставляет ждать окончания терминала, прежде чем продолжить остальную часть скрипта.