Файлы не запускаются как программы [дубликат]

Прочитав ответ о том, как заставить файл выполнять команду в терминале при запуске, я попытался сделать это сам.

Я создал новый документ, ввел следующие данные и сохранил.

#! /bin/bash

echo "this is a test"

Затем я зашел в Правый клик > Свойства > Разрешения и установил флажок "Разрешить выполнение файла как программы."

Однако, когда я дважды щелкаю по документу, он просто открывается в моем текстовом редакторе (который, как я полагаю, является gedit). В меню правой кнопки мыши я не вижу опций для запуска файла в терминале.

Я пробовал делать это и с другими файлами. Например, я установил WINE и попытался установить программу Виндовс. WINE сказал просто запустить программу установки, но ничего не произошло, когда я попытался. Я пометил его для запуска как программу, но он все равно не работал. Я смог установить его, только щелкнув правой кнопкой мыши > OpenWith и выбрав WINE.

Как ни странно, я скопировал папку Keepass-2.28 Portable с раздела Windows на раздел Ubuntu и попробовал запустить исполняемый файл. Keepass сразу же запустился, хотя я не пометил этот файл для запуска в качестве программы. У меня в системе установлен Keepass 2.25 из репозитория, если это имеет значение.

Я использую Ubuntu 14.04 с двойной загрузкой в течение нескольких недель. Единственное, что я могу предположить, что я сделал, чтобы все испортить, это использовал диспетчер пакетов Synaptic для удаления пакета KDE Desktop Environment в попытке удалить альтернативное окружение рабочего стола, которое я установил через терминал. Я не помню, что это был за пакет, но единственный пакет в этой категории сейчас - appmenu-qt5. Насколько я могу судить, удаление этого пакета ни на что не повлияло, и я уверен, что у меня были проблемы с запуском файлов как программ с тех пор, как я получил свой Ubuntu.

EDIT: Я проверил, и я не думаю, что этот вопрос является дубликатом этого вопроса. Моя Ubuntu находится на разделе ext4, и именно оттуда я пытаюсь запустить программы. Я также не пытался изменить разрешения через терминал или что-то в этом роде, я просто пытаюсь заставить программу запускаться, когда я отмечаю опцию в меню свойств. Пожалуйста, поправьте меня, если я ошибаюсь или что-то упустил.

0
задан 13 April 2017 в 05:23

3 ответа

Справка в Right-Click > Properties > Permissions объясняет это поведение:

, Если файл является программой, такой как сценарий, необходимо выбрать, Позволяют выполнять файл как программу для выполнения его. Даже с этой выбранной опцией, файловый менеджер может все еще открыть файл в приложении или спросить Вас, что сделать. Посмотрите Исполняемые текстовые файлы для получения дополнительной информации.

действие по умолчанию при двойном щелчке по сценарию должно открыть его в редакторе. Изменить эту опцию:

  1. Нажимают Files в Средстве запуска, выбирают Edit > Preferences и затем вкладка Behavior:

    enter image description here

  2. Выбор действие по умолчанию при открытии исполняемого текстового файла:

    • исполнимые текстовые файлы Выполнения, когда они открыты
    • View исполнимые текстовые файлы, когда они открыты
    • Ask каждый раз

, "Спрашивают, каждый раз" является, вероятно, правильной установкой здесь, поскольку Вы, конечно, не хотите случайно выполнять сценарий, когда Вы просто хотите открыть текстовый файл, тем более, что исполняемые и неисполняемые текстовые файлы совместно используют тот же значок.

3
ответ дан 5 October 2019 в 02:28

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

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

"Открывают файловый менеджер Наутилуса и нажимают на колесо механизма (Опции Местоположения) в верхнем правом углу окна. Перейдите к Предпочтениям †“Предпочтения Файла †“Поведение †“Исполняемые Текстовые файлы. Ряд переключателей позволяет опции по умолчанию быть установленной. Мое предпочтение является для “Ask каждым time”. Затем когда я дважды щелкаю по файлу сценария, мне дают опцию или выполнения сценария или отображения (редактирования) его содержания".

(См.: https://linuxnorth.wordpress.com/2013/11/02/running-bash-scripts-in-ubuntu / )

0
ответ дан 5 October 2019 в 02:28

Редактирование : Это решение будет работать на единственные файлы, но если Вы заботитесь об изменении этого поведения в масштабе всей системы (т.е. для каждого исполняемого текстового файла), проверяете другие ответы.

<час>

необходимо будет создать .desktop файл для выполнения сценария прямо от Nautilus:

  1. Создают .desktop файл на желаемом местоположении: gedit /<path_to_dektop_file>/test.desktop
  2. Вставка код ниже
  3. Сохраняет
  4. , Выход
  5. Делает исполняемый файл файла: chmod u+x /<path_to_dektop_file>/test.desktop

Код:

[Desktop Entry]
Type=Application
Name=Test
Exec=/<path_to_shell_script>/test.sh

Тогда просто дважды щелкают .desktop созданный файл.

0
ответ дан 5 October 2019 в 02:28

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

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