Почему-то когда галочка стояла напротив "Run them" (Запускать), ничего не происходило. Чудеса!
Почему вы удивляетесь? При настройке "Run them" Nautilus запускает скрипт на исполнение.
А что должно было произойти? Вы ожидали запуск эмулятора терминала? Но эмулятор терминал не нужен для выполнения сценария.
Ели у файла есть право исполнения, то ядро может выполнить и скомпилированную программу и скрипт (причем скрипт можно написать на bash, python, perl на любом интерпретируемом языке). Ядро действует примерно по следующем алгоритму (очень утрировано описываю):
- Проверяет, что файл в исполняемом формате ELF, a.out и другие. Если файл в исполняемом формате, загружает его в память и начинает выполнять.
- Если не исполняемый формат, то проверяет, может файл, начинается на символы "#!", тогда он запускает интерпретатор, который указан после этих символов.
- Если и этих символов нет, то запускается интерпретатор /bin/sh для обработки этого скрипта.
Что бы убедится, что Nautilus запускает скрипты на исполнение при настройке "Run them" (Запускать) создайте файл с именем "testscript", запишите в него текст:
date >> ~/testrunscript.txt
Установите права исполнения или через наутилус, или в командной строке командой
chmod u+x testscript
Потом два раза щелкните в Nautilus и вы уведете, что в домашнем каталоге создался файл с именем
testrunscript.txt в котором будет записано время.
Если хотите, что бы открывался эмулятор терминал, то действительно нужно переключить настройку в Naulilus в режим "Ask what to do?" (Спрашивать что делать). Тогда у вас будет выбор, что делать со сценарием: просмотреть, запустить, открыть эмулятор терминала для запуска скрипта.
Пользователь добавил сообщение 08 Ноября 2020, 00:15:19:
swampy_earl, проверьте возможно у вас в домашнем каталоге есть файлы, которые вам не принадлежат (владелец файла не пользователь под которым вы работаете). Особенно это вредно, когда вам не принадлежат конфигурационные файлы или кэш. Из-за этого программы могут вести себя неадекватно.
Поискать "чужие" файлы можно так:
find ~/ -not -user $USER