Я пытаюсь установить переносное приложение на свой USB-накопитель, чтобы оно было совместимо как с Ubuntu, так и с Windows (в частности, с программой eToys). Поддержка уже встроена в приложение для обеих операционных систем - etoys.sh
для Ubuntu и etoys.exe
для Windows. Я решил установить диск FAT, так как его можно прочитать с обеих систем. Это прекрасно работает для Windows, но по какой-то причине я не могу выполнить etoys.sh в Ubuntu.
Проблема не в файле - когда вся папка копируется на локальный жесткий диск, приложение прекрасно работает в Ubuntu. Но когда я пытаюсь выполнить его с USB, он открывает файл в текстовом редакторе.
Затем я попытался запустить его из терминала, но получил сообщение « Отказано в доступе».
У меня была такая же проблема с другими исполняемыми файлами.
Есть ли простой способ выполнить вещи с флешки?
источник
Ответы:
Из-за ограничений файловой системы FA32 вы не можете.
Теперь вы можете обмануть:
sh etoys.sh
вместо./etoys.sh
если вы хотите, вы можете даже создать другой скрипт (который будет лежать на вашем жестком диске, например), который просто вызывает ваш скрипт на USB-накопителе:
источник
Крепление устройства
-o mode=<value>
должно работатьУстановите для всех файлов режим значения и
0777
без учета исходных разрешений. Добавьте разрешение на поиск в каталоги, которые имеют разрешение на чтение. Значение дано в восьмеричном виде.источник
mode=
опции для vfat, см. Mount (8) .На самом деле я нашел отличное решение на http://ubuntuforums.org/showthread.php?t=1665289, которое решило проблему.
В основном, это говорит, чтобы запустить команду
и это предотвратит автоматическую установку дисков с опцией showexec.
Я не люблю отвечать на свой вопрос, но это сработало для меня, и я надеюсь, что это поможет и другим людям.
для Ubuntu 18.04:
источник
В конечном счете, этот вопрос , кажется, что
udisks
монтирует файловую систему сshowexec
параметром, предотвращая любой файл , который не заканчиваются в.exe
,.bat
или.com
для запуска.Смежный вопрос (как задать пользовательские параметры монтирования для udisks) можно найти здесь: Как настроить запись данных для мгновенного запуска? Оказывается, вы можете использовать
udev
конфигурацию для этого.Действительно ли невозможно установить параметры монтирования по умолчанию для udisks? предлагает другое решение на основе
udisks-glue
, но оно кажется менее убедительным, поскольку в конечном итоге на него полагаютсяudisks
, так что кажется, что вы можете добавлять опции, но не удалять их, и, в частностиshowexec
, все еще там).В любом случае я предпочитаю это исправлять двоичный файл.
источник
Ни одно из показанных решений не сработало, насколько я мог сказать, чтобы программа, которую я написал как терминальная программа Linux, работала в моем разделе FAT32, но изменение имени файла программы для включения расширения .exe работало (спасибо за подсказку) все, что я сделал, это переименовал имя файла в filename.exe для программы терминала, которую я пытался выполнить на разделе FAT32, а затем демонтировал ее, заново смонтировал и установил разрешения на диск, чтобы разрешить выполнение, а затем перешел к имени файла. exe и установите его разрешения, а затем флажок будет придерживаться, а не возвращаться к минусу, и когда я установил путь и ввел ./filename.exe в командной строке терминала, программа запустилась как надо и показывает командную строку, включая имя файла .exe, как указано, хотя в каталоге файлов Ubuntu файл отображается как MSDOS / Windows, он запускается как программа Linux.
источник
Поэтому я нашел намного более простое (и более безопасное решение).
Используйте gparted для форматирования USB FAT32, а затем используйте Partition => Manage Flags для установки следующих флагов: boot, lba
источник
Вы можете использовать
umask=000
режим:Источник: wiki.linuxquestions.org , раздел « Параметры монтирования для сала» в mount (8) .
источник
Если синтаксис bash ...
источник